XPS 到 PDF 转换

XPS to PDF conversion

我正在编写有助于将 XPS 转换为 PDF 的代码。 NuGet 库是否有可以帮助我实现上述目标的免费库,或者我是否可以编写自己的 C# 代码来进行转换。不知道从哪里开始。

我一直在搜索免费库,遇到了 iTextSharp,不确定它是否支持 XPS 到 PDF 的转换,因为我在 NuGet 库描述中没有看到关于 XPS 的字样https://www.nuget.org/packages/iTextSharp/5.5.13.1

PDFsharp seems to be what you want. See WPF to XPS to PDF

另见 https://nathanpjones.com/2013/03/output-to-pdf-in-wpf-for-free/:

using System.IO;
using System.IO.Packaging;
using System.Windows.Xps.Packaging;
using System.Windows.Xps;
MemoryStream lMemoryStream = new MemoryStream();
Package package = Package.Open(lMemoryStream, FileMode.Create);
XpsDocument doc = new XpsDocument(package);
XpsDocumentWriter writer = XpsDocument.CreateXpsDocumentWriter(doc);
writer.Write(dp);
doc.Close();
package.Close();
var pdfXpsDoc = PdfSharp.Xps.XpsModel.XpsDocument.Open(lMemoryStream);

然后

PdfSharp.Xps.XpsConverter.Convert(pdfXpsDoc, d.FileName, 0);

或者对于 XPS 文件,

PdfSharp.Xps.XpsConverter.Convert(sourceXpsFile, destPdfFile, 0);