XPS OXPS 到 PNG JPG 图像 C#

XPS 文件格式经常用于文件处理应用程序中。您可以在基于 .NET 框架的应用程序中使用 C# 或 VB.NET 以编程方式将 XPS 或 OXPS 转换为 JPGPNG 图像。让我们通过以下场景来了解有关 XPS 转换的更多信息:

XPS、OXPS 到 JPG 或 PNG 图像转换器 API – 安装

您可以通过几个简单的 API 调用轻松地将 XPS 或 OXPS 文件转换为 JPG 或 PNG 图像。 Aspose.Page for .NET API 包括与 XPS、OXPS 和其他几种 支持的文件格式 配合使用的不同功能。您可以从 Downloads 部分轻松下载 ZIP 文件,也可以使用以下命令通过 NuGet Package Manager 安装它:

Install-Package Aspose.Page -Version 20.10.0

配置 API 后,您可以在 .NET 应用程序中高效地使用 XPS 或 OXPS 文件。

使用 C# 或 VB.NET 将 XPS、OXPS 转换为 JPG 图像

JPG 文件因其在所有系统环境中的支持而闻名。您可以使用 C# 或 VB.NET 以编程方式将 XPS 或 OXPS 文件转换为 JPG 图像。您应该按照以下步骤进行 XPS 或 OXPS 到 JPG 图像的转换:

  1. 加载输入 XPS 或 OXPS 文件
  2. 初始化 JpegSaveOptions 对象
  3. 指定 SmoothingModeResolutionPageNumbers 进行渲染
  4. 保存输出 JPG 图像

以下代码展示了如何使用 C# 语言将 XPS 或 OXPS 转换为 JPG 图像:

// 输入文件
string inputFileName = dataDir + "input.xps";
//输出文件 
string outputFileName = dataDir + "XPStoImage_out.jpeg";
// 初始化 XPS 输入流
using (Stream xpsStream = File.Open(inputFileName, FileMode.Open, FileAccess.Read))
{
    // 从流中加载 XPS 文档
    XpsDocument document = new XpsDocument(xpsStream, new XpsLoadOptions());
    // 或直接从文件加载 XPS 文档。那时不需要 xpsStream。
    // XpsDocument 文档 = new XpsDocument(inputFileName, new XpsLoadOptions());

    // 使用必要的参数初始化选项对象。
    JpegSaveOptions options = new JpegSaveOptions()
    {
        SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.HighQuality,
        Resolution = 300
    };

    // 为 JPG 格式创建渲染设备
    ImageDevice device = new ImageDevice();

    document.Save(device, options);

    // 遍历文档分区(固定文档,在 XPS 术语中)
   for (int i = 0; i < device.Result.Length; i++)
        // 遍历分区页面
       for (int j = 0; j < device.Result[i].Length; j++)
        {
            // 初始化图像输出流
            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))
                // 写入图像
                imageStream.Write(device.Result[i][j], 0, device.Result[i][j].Length);
        }
}

使用 C# 或 VB.NET 将 XPS、OXPS 转换为 PNG 图像

您可能需要使用 C# 或 VB.NET 和 Aspose.Page for .NET API 将 XPS 或 OXPS 文件转换为 PNG。您需要按照以下步骤进行 XPS 到 PNG 的转换:

  1. 加载输入 XPS 或 OXPS 文件
  2. 初始化 PngSaveOptions 对象
  3. 设置图像 ResolutionPageNumbers 进行渲染
  4. 保存输出 PNG 图像

下面的代码片段显示了如何使用 C# 以编程方式将 XPS 或 OXPS 文件转换为 PNG 图像:

// 输入文件
string inputFileName = dataDir + "input.xps";
//输出文件 
string outputFileName = dataDir + "XPStoImage_out.png";
// 初始化 XPS 输入流
using (Stream xpsStream = File.Open(inputFileName, FileMode.Open, FileAccess.Read))
{
    // 从流中加载 XPS 文档
    XpsDocument document = new XpsDocument(xpsStream, new XpsLoadOptions());
    // 或直接从文件加载 XPS 文档。那时不需要 xpsStream。
    // XpsDocument 文档 = new XpsDocument(inputFileName, new XpsLoadOptions());

    // 使用必要的参数初始化选项对象。
    PngSaveOptions options = new PngSaveOptions()
    {
        SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.HighQuality,
        Resolution = 300
    };

    // 为 PNG 格式创建渲染设备
    ImageDevice device = new ImageDevice();

    document.Save(device, options);

    // 遍历文档分区(固定文档,在 XPS 术语中)
   for (int i = 0; i < device.Result.Length; i++)
        // 遍历分区页面
       for (int j = 0; j < device.Result[i].Length; j++)
        {
            // 初始化图像输出流
            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))
                // 写入图像
                imageStream.Write(device.Result[i][j], 0, device.Result[i][j].Length);
        }
}

结论

在本文中,我们学习了如何使用 C# 或 VB.NET 以编程方式将 XPS 或 OXPS 文件转换为 JPG 或 PNG 图像。同样,Aspose.Page for .NET 也支持其他几种文件格式 API。您可以参考 产品文档API 参考资料 了解更多关于 API 提供的功能。此外,您可以随时通过 免费支持论坛 与我们联系。随时分享您的反馈或疑问!

也可以看看