BoldSignA modern eSignature application with affordable pricing. Sign up today for unlimited document usage!
I'm trying to save a Syncfusion.Pdf.PdfDocument to my computer. Everything in the " Open and save PDF file in C# " page ( https://help.syncfusion.com/file-formats/pdf/open-and-save-pdf-file-in-c-sharp-vb-net?cs-save-lang=1&cs-lang=csharp#opening-a-corrupted-pdf-document ), saves the file using
Syncfusion.Pdf.PdfLoadedDocument, but i have programmatically created my PDFDocument using FixedDocument/XPS. I have no loaded pdf document. I have never used "MemoryStream".
private void SaveDocument()
{
Syncfusion.XPS.XPSToPdfConverter converter = new Syncfusion.XPS.XPSToPdfConverter();
string xpsPath = "c:\\Stuff\\MyTest";
XpsDocument xps = new XpsDocument(xpsPath, FileAccess.Write, CompressionOption.Maximum);
System.Windows.Xps.XpsDocumentWriter writer = XpsDocument.CreateXpsDocumentWriter(xps);
writer.Write(fixedDoc);
xps.Close();
FileStream fStream = File.OpenRead(xpsPath);
Syncfusion.Pdf.PdfDocument pdf = converter.Convert(fStream);
fStream.Close();
//Save the PDF Document to disk.
pdf.Save(I CANNOT ENTER A PATH HERE!!!);
pdf.Close();
}
How do i change this code so that when i run this function a PDF file will be created on the given location that i saved too? Noob friendly reply please, assume i know nothing, thanks.
Please refer to the code snippet below:
//Create converter class XPSToPdfConverter converter = new XPSToPdfConverter(); string xpsPath = "../../../Data/source.xps"; // An xps document is one or more FixedDocuments containing FixedPages FixedDocument fDoc = new FixedDocument(); XpsDocument xps = new XpsDocument(xpsPath, FileAccess.Write, CompressionOption.Maximum); System.Windows.Xps.XpsDocumentWriter writer = XpsDocument.CreateXpsDocumentWriter(xps); writer.Write("source.xps"); xps.Close(); FileStream fStream = File.OpenRead(xpsPath); Syncfusion.Pdf.PdfDocument pdf = converter.Convert(fStream); fStream.Close(); using (var doc = converter.Convert(fStream)) { MemoryStream ms = new MemoryStream(); doc.Save(ms); // write directly to the file File.WriteAllBytes("output.pdf", ms.ToArray()); //Open the Pdf document System.Diagnostics.Process.Start("output.pdf"); doc.Close(true); } |
Try this in your end and let us know the result