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); }
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); } }
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); } }
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); } }
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); }