將 PDF 文檔嵌入 Web 應用程序時,您可能需要生成縮略圖。在其他情況下,例如創建 PDF 查看器,您可能需要為 PDF 中的每個頁面創建縮略圖。在本文中,我們將向您展示如何使用 Java 生成 PDF 頁面的縮略圖。我們將明確介紹如何創建特定頁面或 PDF 文件中所有頁面的縮略圖。
用於生成 PDF 縮略圖的 Java API - 免費下載
要生成 PDF 文件的縮略圖,我們將使用 Aspose.PDF for Java。它是一個功能豐富的庫,可讓您創建和操作 PDF 文檔。 API 允許您無縫執行基本和高級 PDF 自動化操作。您可以 下載 API 或使用以下 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-pdf</artifactId>
<version>22.4</version>
</dependency>
在 Java 中生成 PDF 的縮略圖
通常,您必須為 PDF 文檔生成單個縮略圖。縮略圖頁面可以是封面或您選擇的任何其他頁面。以下是在 Java 中生成所需 PDF 頁面縮略圖的步驟。
- 使用 Document 類加載 PDF 文件。
- 從 Document.getPages() 集合中獲取所需頁面的引用。
- 為圖像文件創建一個新的 FileOutputStream。
- 創建 Resolution 類的實例以設置縮略圖圖像的分辨率。
- 實例化 JpegDevice 並設置圖像的高度、寬度、分辨率和質量。
- 使用 JpegDevice.process(Page, FileOutputStream) 方法生成縮略圖。
- 關閉文件流。
以下代碼示例顯示瞭如何使用 Java 生成 PDF 文件的縮略圖。
// 載入PDF文件
Document doc = new Document("input.pdf");
int pageIndex = 0;
// 獲取頁面
Page page = doc.getPages().get_Item(pageIndex);
// 為圖像創建文件流
FileOutputStream imageStream = new FileOutputStream("Thumbnails_" + pageIndex + ".jpg");
// 創建解析對象
Resolution resolution = new Resolution(300);
// 創建 JpegDevice 實例並設置高度、寬度、分辨率和
// 圖像質量
JpegDevice jpegDevice = new JpegDevice(45, 59, resolution, 100);
// 轉換頁面並將圖像保存到流
jpegDevice.process(page, imageStream);
// 關閉流
try {
imageStream.close();
} catch (IOException e) {
// TODO 自動生成的 catch 塊
e.printStackTrace();
}
Java生成PDF中所有頁面的縮略圖
下面是在Java中為PDF中的所有頁面生成縮略圖的步驟。
- 使用 Document 類加載 PDF 文件。
- 使用 Document.getPages() 集合循環遍歷 PDF 中的所有頁面。
- 在每次迭代中,執行以下操作:
- 為圖像文件創建一個新的 FileOutputStream。
- 創建 Resolution 類的實例以設置縮略圖圖像的分辨率。
- 實例化 JpegDevice 並設置圖像的高度、寬度、分辨率和質量。
- 使用 JpegDevice.process(Page, FileOutputStream) 方法生成縮略圖。
- 關閉文件流。
以下代碼示例顯示瞭如何為 PDF 中的所有頁面生成縮略圖。
// 載入PDF文件
Document doc = new Document("input.pdf");
// 循環瀏覽頁面
for (int pageCount = 0; pageCount < doc.getPages().size(); pageCount++) {
FileOutputStream imageStream = new FileOutputStream("Thumbnails_" + pageCount + ".jpg");
// 創建分辨率對象
Resolution resolution = new Resolution(300);
JpegDevice jpegDevice = new JpegDevice(45, 59, resolution, 100);
// 轉換特定頁面並將圖像保存到流
jpegDevice.process(doc.getPages().get_Item(pageCount), imageStream);
// 關閉流
try {
imageStream.close();
} catch (IOException e) {
// TODO 自動生成的 catch 塊
e.printStackTrace();
}
}
獲得免費許可證
您可以獲得免費的臨時許可證,以便在沒有評估限制的情況下使用 Aspose.PDF for Java。
結論
在本文中,您了解瞭如何使用 Java 為 PDF 文件生成縮略圖。您已經了解瞭如何生成特定頁面或 PDF 文件中所有頁面的縮略圖。此外,您可以使用 文檔 探索有關 Java PDF API 的更多信息。如果您有任何問題或疑問,可以通過我們的 論壇 與我們聯繫。