如何在 C# 中将 XPS 转换为 JPG

如何在 C# 中将 XPS 转换为 JPG

XPS 文档格式可让您轻松共享、创建、打印和保存数字文档,但您可能需要安装配套软件。如果您是 .NET 程序员并且可能希望以编程方式将 XPS 文件导出为 JPG/JPEG 格式,本文将解释如何在 C# 中将 XPS 转换为 JPG

本文将涵盖以下几点:

将 XPS 转换为 JPG 的 C# .NET API

在本文中,我们将使用 Conholdate.Total for .NET 将 XPS 转换为 JPG。该库使您能够创建、编辑和保存现有的以及新的 XPS 文档。因此,您可以 下载 DLL 或使用 NuGet 安装此 XPS 转换 API

Install-Package Conholdate.Total 

如何在 C# 中以编程方式将 XPS 转换为 JPG/JPEG

XPS 转换 API 允许您将 XPS 文件转换为 JPG

以下是将 XPS 文件转换为 JPG 图像的步骤:

下面的代码示例展示了如何使用 C# 将 XPS 转换为 JPG:

string inputFileName = "input.xps";
//Outut file
string outputFileName = "XPStoImage_out.jpg";
// Initialize XPS input stream
using (Stream xpsStream = File.Open(inputFileName, FileMode.Open, FileAccess.Read))
{
// Load XPS document form the stream
XpsDocument document = new XpsDocument(xpsStream, new XpsLoadOptions());
// Initialize options object with necessary parameters.
JpegSaveOptions options = new JpegSaveOptions()
{
SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.HighQuality,
Resolution = 300,
PageNumbers = new int[] { 1, 2, 6 }
};
// Create rendering device for image
ImageDevice device = new ImageDevice();
document.Save(device, options);
// Iterate through document partitions (fixed documents, in XPS terms)
for (int i = 0; i < device.Result.Length; i++)
// Iterate through partition pages
for (int j = 0; j < device.Result[i].Length; j++)
{
// Initialize image output stream
using (Stream imageStream = System.IO.File.Open(Path.GetDirectoryName(outputFileName) +
Path.GetFileNameWithoutExtension(outputFileName) + "_" + (i + 1) + "_" + (j + 1) +
Path.GetExtension(outputFileName), System.IO.FileMode.Create, System.IO.FileAccess.Write))
// Write image
imageStream.Write(device.Result[i][j], 0, device.Result[i][j].Length);
}
}

获得免费许可证

您可以获得 免费临时许可证 来测试没有评估限制的 API。

结论

作为本文的总结,我们希望您已了解如何使用 XPS 转换 API 在 C# 中将 XPS 转换为 JPG。您可以访问 文档 来探索 XPS 转换库的其他功能。

问一个问题

您可以在我们的论坛 上让我们知道您的问题或疑问。

也可以看看