首页 > 解决方案 > XPS 到 PDF 转换

问题描述

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

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

标签: c#pdfxps

解决方案


PDFsharp似乎是你想要的。请参阅WPF 到 XPS 到 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);

推荐阅读