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