Exemplo n.º 1
0
        public static void SaveToPdf(UIElement ui, string name)
        {
            //MigraDoc.DocumentObjectModel.Document doc = new MigraDoc.DocumentObjectModel.Document();
            //MigraDoc.Rendering.DocumentRenderer renderer = new DocumentRenderer(doc);
            //MigraDoc.Rendering.PdfDocumentRenderer pdfRenderer = new MigraDoc.Rendering.PdfDocumentRenderer();
            //pdfRenderer.PdfDocument = pDoc;
            //pdfRenderer.DocumentRenderer = renderer;
            //using (MemoryStream ms = new MemoryStream())
            //{
            //    pdfRenderer.Save(ms, false);
            //    byte[] buffer = new byte[ms.Length];
            //    ms.Seek(0, SeekOrigin.Begin);
            //    ms.Flush();
            //    ms.Read(buffer, 0, (int)ms.Length);
            //}

            string path = string.Format(name + "_{0}.pdf", DateTime.Now.ToString("MMddyyyy_hhmmss"));

            FileOperations.EnsureFileFolderExist(path);
            MemoryStream lMemoryStream = new MemoryStream();
            Package      package       = Package.Open(lMemoryStream, FileMode.Create);

            System.Windows.Xps.Packaging.XpsDocument doc    = new System.Windows.Xps.Packaging.XpsDocument(package);
            System.Windows.Xps.XpsDocumentWriter     writer = System.Windows.Xps.Packaging.XpsDocument.CreateXpsDocumentWriter(doc);
            writer.Write(ui);
            doc.Close();
            package.Close();

            PdfSharp.Xps.XpsModel.XpsDocument pdfXpsDoc = PdfSharp.Xps.XpsModel.XpsDocument.Open(lMemoryStream);
            PdfSharp.Xps.XpsConverter.Convert(pdfXpsDoc, path, 0);
        }
Exemplo n.º 2
0
        public static void saveFIxedPageAsPdf(string basicFilePath, FixedPage currentPageToContain, int i)
        {
            System.GC.Collect();

            FixedDocument currentDoc = new FixedDocument();

            currentDoc.DocumentPaginator.PageSize = new Size(1240, 1753);

            PageContent tempPageContent = new PageContent();

            ((System.Windows.Markup.IAddChild)tempPageContent).AddChild(currentPageToContain);

            currentDoc.Pages.Add(tempPageContent);

            using (XpsDocument currentXpsDoc = new XpsDocument(basicFilePath + i.ToString() + ".xps", FileAccess.ReadWrite))
            {
                try
                {
                    XpsDocumentWriter xw = XpsDocument.CreateXpsDocumentWriter(currentXpsDoc);

                    xw.Write(currentDoc);
                }
                catch (System.Exception ex)
                {
                    MessageBox.Show(ex.ToString());
                }
            }

            using (PdfSharp.Xps.XpsModel.XpsDocument pdfXpsDoc = PdfSharp.Xps.XpsModel.XpsDocument.Open(basicFilePath + i.ToString() + ".xps"))
            {
                PdfSharp.Xps.XpsConverter.Convert(pdfXpsDoc, basicFilePath + i.ToString() + ".pdf", 0);
            }
        }
Exemplo n.º 3
0
        public static void SavePdfFromXps()
        {
            string xpsPath = "C://Program Files (x86)//이주데이타//가로주택정비//" + "testFile.xps";
            string pdfPath = "C://Program Files (x86)//이주데이타//가로주택정비//" + "pdfTestFile.pdf";

            using (PdfSharp.Xps.XpsModel.XpsDocument pdfXpsDoc = PdfSharp.Xps.XpsModel.XpsDocument.Open(xpsPath))
            {
                PdfSharp.Xps.XpsConverter.Convert(pdfXpsDoc, pdfPath, 0);
            }
        }
Exemplo n.º 4
0
 private bool ConvertXpsToPdf(string tempPath, string outputPath)
 {
     // For opening ext: XPS
     try
     {
         using (PdfSharp.Xps.XpsModel.XpsDocument pdfXpsDoc = PdfSharp.Xps.XpsModel.XpsDocument.Open(tempPath))
         {
             PdfSharp.Xps.XpsConverter.Convert(pdfXpsDoc, outputPath, 0);
         }
         return(true);
     }
     catch (Exception ex)
     {
         Console.WriteLine(ex);
         return(false);
     }
 }
Exemplo n.º 5
0
        private List <string> ConvertXpsBatchesToPdf(List <string> fileNames, string outputPath)
        {
            List <string> pdfFileNames = new List <string>();

            foreach (string file in fileNames)
            {
                PdfSharp.Xps.XpsModel.XpsDocument pdfDocument = PdfSharp.Xps.XpsModel.XpsDocument.Open(file);

                PdfSharp.Xps.XpsConverter.Convert(pdfDocument, Path.ChangeExtension(file, "pdf"), 0);

                this.DeleteXpsFile(file);

                pdfDocument.Close();

                pdfFileNames.Add(Path.ChangeExtension(file, "pdf"));
            }

            return(pdfFileNames);
        }