XPS (XML Paper Specifications) 格式由 Microsoft 引入,用于表示页面布局。它使用 XML 标记来表示页面的外观和文档的组成。在各种情况下,您可能需要将 XPS 文档转换为其他文档格式。据此,在本文中,您将了解以编程方式将 XPS 文档转换为光栅图像格式。特别是,本文将介绍如何使用 Java 将 XPS 转换为 BMP、JPEG、PNG 和 TIFF。
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 到光栅图像的转换。例如,您可以设置输出图像的分辨率,指定要转换的页面等等。以下是您可以相应使用的类的列表。
- Png保存选项 for XPS to PNG
- JpegSave 选项 for XPS to JPEG
- BmpSave 选项 for XPS to BMP
- TiffSave 选项 for XPS to TIFF
在 Java 中将 XPS 转换为 PNG
以下是使用 Aspose.XPS for Java 将 XPS 文档转换为 PNG 图像的步骤。
- 使用 XpsDocument 类加载 XPS 文档。
- 创建 PngSaveOptions 类的实例以设置其他选项。
- 创建 ImageDevice 类的实例。
- 使用 XpsDocument.save(ImageDevice, PngSaveOptions) 将转换后的 PNG 图像保存到 ImageDevice 对象中。
- 使用 ImageDevice 将图像保存为 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 的步骤。
- 使用 XpsDocument 类加载 XPS 文档。
- 使用 JpegSaveOptions 类为转换后的 JPEG 图像设置附加选项。
- 创建 ImageDevice 类的实例。
- 使用 XpsDocument.save(ImageDevice, JpegSaveOptions) 将转换后的 JPEG 图像保存到 ImageDevice 对象中。
- 使用 ImageDevice 将图像保存为 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 图像。以下是它的步骤。
- 使用 XpsDocument 类加载 XPS 文档。
- 创建 BmpSaveOptions 类的实例,为转换后的 BMP 图像设置附加选项。
- 使用 XpsDocument.save(ImageDevice, BmpSaveOptions) 方法将转换后的 BMP 图像保存到 ImageDevice 对象中。
- 使用 ImageDevice 将图像保存为 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 图像的步骤。
- 使用 XpsDocument 类加载 XPS 文档。
- 创建 TiffSaveOptions 类的实例以设置转换后的 TIFF 图像的附加选项。
- 使用 XpsDocument.save(ImageDevice, TiffSaveOptions) 方法将转换后的 TIFF 图像保存到 ImageDevice 对象中。
- 使用 ImageDevice 将图像保存为 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 的其他功能。