I need to convert an XPS file I create with my application to a PDF file, what is the best way to do so? I prefer this to be done from inside C# using a managed assembly.
Open source is preferred upon third party solutions
I need to convert an XPS file I create with my application to a PDF file, what is the best way to do so? I prefer this to be done from inside C# using a managed assembly.
Open source is preferred upon third party solutions
You can use the XpsDocument class to read the XPS files, then use a PDF library (such as Report.Net or #PDF) to export it. I used #PDF back in .NET 1.1, but not sure if it can be easily converted to .NET 2.0.
#PDF: http://sharppdf.sourceforge.net/
Report.NET: http://report.sourceforge.net/
An open source managed assembly might be hard to find, but you can look at tallcomponents.com for a commercial product that might help, You can have a look at GhostScript.com, its open source and supports both XPS and PDF, although you may have issues redistributing it without a license.
XPS to PDF document conversion using Ghostscript. Please refer below code snippet to convert XPS to PDF
Process process = new Process();
process.StartInfo.FileName = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "ghostxps-9.54.0-win32", "gxpswin32.exe");
process.StartInfo.Arguments = $"-sDEVICE=pdfwrite -sOutputFile=\"{pdfFilePath}\" -dNOPAUSE \"{xpsFilePath}\"";
process.Start();
process.WaitForExit();
Please refer below links for more details. click here.
Although it is not free, Amyuni PDF Creator .Net supports loading XPS files and saving them as PDF.
Usual disclaimer applies.