
在 C# 中以编程方式将 XPS 转换为 PDF
XPS 文件 在 XML 标记中定义了除呈现和打印规则之外的视觉外观和组成。由于 XPS 文档因其独特的管理注释或签名的能力而广受欢迎,人们可能拥有这些文件但热衷于将它们转换为 PDF。我们将在下面的文章中讨论这个特定场景,并将学习如何在 C# 中以编程方式将 XPS 转换为 PDF。
本文将涵盖以下几点:
将 XPS 转换为 PDF 的 C# .NET API
我们将使用 Conholdate.Total for .NET 以编程方式将 XPS 转换为 PDF。您可以 下载 DLL 或使用 NuGet 安装此 XPS 转换 API。
Install-Package Conholdate.Total
如何使用 C# 将 XPS 转换为 PDF
您可以按照以下步骤将 XPS 文件转换为 PDF:
- 为 XPS 和 PDF 文档初始化 Stream 类的对象。
- 通过使用 XPS 流(在上一步中创建)和 XpsLoadOptions 类的对象作为参数来创建 XpsDocument 类的实例。
- 通过指定 TextCompression、ImageCompression、JpegQualityLevel 和其他选项来初始化 PdfSaveOptions 类的对象。
- 从第一步创建的输出流创建一个 PdfDevice 类的对象。
- 使用 XpsDocument.Save(Device device, SaveOptions options) 保存 PDF 文档,并将其传递给前面步骤中创建的 PdfDevice 和 PdfSaveOptions 对象。
以下代码显示了如何使用 C# 将 XPS 转换为 PDF。
// Initialize PDF output stream | |
using (System.IO.Stream pdfStream = System.IO.File.Open("input.xps", System.IO.FileMode.Create, System.IO.FileAccess.Write)) | |
// Initialize XPS input stream | |
using (System.IO.Stream xpsStream = System.IO.File.Open("XPStoPDF.pdf", System.IO.FileMode.Open, System.IO.FileAccess.Read)) | |
{ | |
// Load XPS document form the stream | |
XpsDocument document = new XpsDocument(xpsStream, new XpsLoadOptions()); | |
// or load XPS document directly from file. No xpsStream is needed then. | |
// XpsDocument document = new XpsDocument(inputFileName, new XpsLoadOptions()); | |
// Initialize options object with necessary parameters. | |
Aspose.Page.XPS.Presentation.Pdf.PdfSaveOptions options = new Aspose.Page.XPS.Presentation.Pdf.PdfSaveOptions() | |
{ | |
JpegQualityLevel = 100, | |
ImageCompression = Aspose.Page.XPS.Presentation.Pdf.PdfImageCompression.Jpeg, | |
TextCompression = Aspose.Page.XPS.Presentation.Pdf.PdfTextCompression.Flate, | |
PageNumbers = new int[] { 1, 2, 6 } | |
}; | |
// Create rendering device for PDF format | |
Aspose.Page.XPS.Presentation.Pdf.PdfDevice device = new Aspose.Page.XPS.Presentation.Pdf.PdfDevice(pdfStream); | |
document.Save(device, options); | |
} |
获得免费许可证
您可以获得 免费临时许可证 来测试没有评估限制的 API。
结论
在本文中,我们介绍了XPS 到 PDF 转换的过程。最后,我们希望您已了解如何使用 XPS 转换 API 在 C# 中将 XPS 转换为 PDF。您可以访问 文档 来探索 XPS 转换库的其他功能。
问一个问题
您可以在我们的论坛 上让我们知道您的问题或疑问。