XPS (XML Paper Specifications) 格式由 Microsoft 引入,用於表示頁面佈局。它使用 XML 標記來表示頁面的外觀和文檔的組成。在各種情況下,您可能需要將 XPS 文檔轉換為其他文檔格式。據此,在本文中,您將了解如何以編程方式將 XPS 文檔轉換為光柵圖像格式。特別是,本文將介紹如何使用 Java 將 XPS 轉換為 BMPJPEGPNGTIFF

XPS 到圖像轉換器 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 的其他功能。

也可以看看