XPS (XML Paper Specifications) 格式由 Microsoft 引入,用于表示页面布局。它使用 XML 标记来表示页面的外观和文档的组成。在各种情况下,您可能需要将 XPS 文档转换为其他文档格式。据此,在本文中,您将了解以编程方式将 XPS 文档转换为光栅图像格式。特别是,本文将介绍如何使用 Java 将 XPS 转换为 BMPJPEGPNGTIFF

XPS to Image Converter API - 免费下载

Aspose.Page for Java 旨在处理 Java 应用程序中的 PS、EPS 和 XPS 文档。 API 的内置转换器让您可以将 XPS 高质量转换为光栅图像格式,包括 PNG、JPEG、BMP 和 TIFF 图像。您可以 下载 API 的 JAR 或将其安装在基于 Maven 的应用程序中。

<repository>
    <id>AsposeJavaAPI</id>
    <name>Aspose Java API</name>
    <url>https://repository.aspose.com/repo/</url>
</repository>
<dependency>
    <groupId>com.aspose</groupId>
    <artifactId>aspose-page</artifactId>
    <version>20.11</version>
</dependency>

在 Java 中将 XPS 转换为光栅图像

Aspose.Page for Java 提供了单独的类,以便自定义 XPS 到光栅图像的转换。例如,您可以设置输出图像的分辨率,指定要转换的页面等等。以下是您可以相应使用的类的列表。

在 Java 中将 XPS 转换为 PNG

以下是使用 Aspose.XPS for Java 将 XPS 文档转换为 PNG 图像的步骤。

以下代码示例展示了如何使用 Java 将 XPS 转换为 PNG。

// 如需完整的示例和数据文件,请访问 https://github.com/aspose-page/Aspose.Page-for-Java
// 文档目录的路径。
String dataDir = Utils.getDataDir();
// 加载 XPS 文档
XpsDocument document = new XpsDocument(dataDir + "input.xps");
// 使用必要的参数初始化选项对象。
com.aspose.xps.rendering.PngSaveOptions options = new com.aspose.xps.rendering.PngSaveOptions();
options.setSmoothingMode(com.aspose.xps.rendering.SmoothingMode.HighQuality);
options.setResolution(300);
options.setPageNumbers(new int[] { 1, 2, 6 });

// 为 PDF 格式创建渲染设备
com.aspose.xps.rendering.ImageDevice device = new com.aspose.xps.rendering.ImageDevice();

document.save(device, options);

// 遍历文档分区(固定文档,在 XPS 术语中)
for (int i = 0; i < device.getResult().length; i++) {
    // 遍历分区页面
   for (int j = 0; j < device.getResult()[i].length; j++) {
        // 初始化图像输出流
        FileOutputStream imageStream = new FileOutputStream(dataDir + "XPStoPNG" + "_" + (i + 1) + "_" + (j + 1) + ".png");
        // 写入图像
        imageStream.write(device.getResult()[i][j], 0, device.getResult()[i][j].length);
    }
}

在 Java 中将 XPS 转换为 JPEG

以下是使用 Aspose.Page for Java 将 XPS 转换为 JPEG 的步骤。

以下代码示例显示了如何将 XPS 转换为 JPEG。

// 如需完整的示例和数据文件,请访问 https://github.com/aspose-page/Aspose.Page-for-Java
// 文档目录的路径。
String dataDir = Utils.getDataDir();
// 初始化 XPS 输入流

// 从流中加载 XPS 文档
XpsDocument document = new XpsDocument(dataDir + "input.xps");

// 使用必要的参数初始化选项对象。
com.aspose.xps.rendering.JpegSaveOptions options = new com.aspose.xps.rendering.JpegSaveOptions();
options.setSmoothingMode(com.aspose.xps.rendering.SmoothingMode.HighQuality);
options.setResolution(300);
options.setPageNumbers(new int[] { 1, 2, 6 });

// 为 PDF 格式创建渲染设备
com.aspose.xps.rendering.ImageDevice device = new com.aspose.xps.rendering.ImageDevice();

document.save(device, options);

// 遍历文档分区(固定文档,在 XPS 术语中)
for (int i = 0; i < device.getResult().length; i++) {
    // 遍历分区页面
   for (int j = 0; j < device.getResult()[i].length; j++) {
        // 初始化图像输出流
        FileOutputStream imageStream = new FileOutputStream(dataDir + "XPStoJPEG" + "_" + (i + 1) + "_" + (j + 1) + ".jpeg");
        // 写入图像
        imageStream.write(device.getResult()[i][j], 0, device.getResult()[i][j].length);
    }
}

在 Java 中将 XPS 转换为 BMP

您可以使用与 PNG 和 JPEG 相同的方式将 XPS 文件转换为 BMP 图像。以下是它的步骤。

以下代码示例显示了如何将 XPS 文件转换为 BMP。

// 如需完整的示例和数据文件,请访问 https://github.com/aspose-page/Aspose.Page-for-Java
// 文档目录的路径。
String dataDir = Utils.getDataDir();
// 加载 XPS 文档
XpsDocument document = new XpsDocument(dataDir + "input.xps");
// 使用必要的参数初始化选项对象。
com.aspose.xps.rendering.BmpSaveOptions options = new com.aspose.xps.rendering.BmpSaveOptions();
options.setSmoothingMode(com.aspose.xps.rendering.SmoothingMode.HighQuality);
options.setResolution(300);
options.setPageNumbers(new int[]{1, 2, 6});

// 为 PDF 格式创建渲染设备
com.aspose.xps.rendering.ImageDevice device = new com.aspose.xps.rendering.ImageDevice();

document.save(device, options);

// 遍历文档分区(固定文档,在 XPS 术语中)
for (int i = 0; i < device.getResult().length; i++) {
    // 遍历分区页面
   for (int j = 0; j < device.getResult()[i].length; j++) {
        // 初始化图像输出流
        FileOutputStream imageStream = new FileOutputStream(dataDir + "XPStoBMP" + "_" + (i + 1) + "_" + (j + 1) + ".bmp");
        // 写入图像
        imageStream.write(device.getResult()[i][j], 0, device.getResult()[i][j].length);
    }
}

在 Java 中将 XPS 转换为 TIFF

以下是将 XPS 文档转换为 TIFF 图像的步骤。

以下代码示例展示了如何在 Java 中将 XPS 文档转换为 TIFF 图像。

// 如需完整的示例和数据文件,请访问 https://github.com/aspose-page/Aspose.Page-for-Java
// 文档目录的路径。
String dataDir = Utils.getDataDir();
// 加载 XPS 文档
XpsDocument document = new XpsDocument(dataDir + "input.xps");
// 使用必要的参数初始化选项对象。
com.aspose.xps.rendering.TiffSaveOptions options = new com.aspose.xps.rendering.TiffSaveOptions();
options.setSmoothingMode(com.aspose.xps.rendering.SmoothingMode.HighQuality);
options.setResolution(300);
options.setPageNumbers(new int[] { 1, 2, 6 });

// 为 PDF 格式创建渲染设备
com.aspose.xps.rendering.ImageDevice device = new com.aspose.xps.rendering.ImageDevice();

document.save(device, options);

// 遍历文档分区(固定文档,在 XPS 术语中)
for (int i = 0; i < device.getResult().length; i++) {
    // 遍历分区页面
   for (int j = 0; j < device.getResult()[i].length; j++) {
        // 初始化图像输出流
        FileOutputStream imageStream = new FileOutputStream(dataDir + "XPStoTIFF" + "_" + (i + 1) + "_" + (j + 1) + ".tif");
        // 写入图像
        imageStream.write(device.getResult()[i][j], 0, device.getResult()[i][j].length);
    }
}

结论

在本文中,您学习了如何使用 Java 将 XPS 文件转换为光栅图像格式。分步指南、API 参考和代码示例展示了如何将 XPS 转换为 PNG、JPEG、TIFF 和 BMP 图像。您可以使用 文档 探索 Java XPS API 的其他功能。

也可以看看