將 Word 轉換為 PNG 並附加可搜尋文字層(Java)

在本完整指南中,您將學習如何使用 GroupDocs.Viewer for Java 將 Word 轉換為 PNG,同時保留隱藏且可選取的文字層。相同的技術亦適用於 PDF,為您提供高解析度的影像預覽且仍可完整搜尋——非常適合需要快速渲染且不犧牲可發現性的網站入口、CMS 系統與歸檔解決方案。

使用 GroupDocs.Viewer for Java 渲染帶文字層的文件為影像

使用 GroupDocs.Viewer for Java 渲染帶文字層的文件為影像

快速解答

  • 「將 Word 轉換為 PNG」是什麼意思? 它會為每一頁產生點陣 PNG,並嵌入不可見的文字覆蓋層,使內容仍可被搜尋。
  • 為什麼要加入文字層? 文字覆蓋層讓瀏覽器與搜尋引擎在不執行 OCR 的情況下索引文字,提升可及性與 SEO。
  • 是哪個函式庫負責此功能? GroupDocs.Viewer for Java 內建支援影像渲染與文字抽取。
  • 需要授權嗎? 開發階段使用免費試用版即可;正式上線則需購買授權。
  • 可以用相同程式碼處理 PDF 嗎? 可以——只要將檢視器指向 PDF,並啟用相同的文字覆蓋選項即可。

什麼是帶文字層的 Word 轉 PNG?

帶文字層的 Word 轉 PNG 會將每個 DOCX 頁面渲染為 PNG 影像,並嵌入不可見的文字覆蓋層以供搜尋。此流程將 Word 文件轉換為一組高解析度影像,同時保留原始文字供螢幕閱讀器與搜尋爬蟲存取。最終呈現的效果如同靜態圖片,但您仍可複製、貼上或搜尋內容,因為文字存在於像素背後的隱藏層中。

為什麼在此任務中使用 GroupDocs.Viewer?

GroupDocs.Viewer 能產出像素完美的 PNG 輸出 自動加入可搜尋的文字覆蓋層,免除額外 OCR 步驟。其渲染引擎以串流方式處理文件,即使是上百頁的檔案也不需一次載入全部內容至記憶體。此函式庫支援 70+ 輸入與輸出格式,包括 DOCX、PDF、PPTX、XLSX 以及常見影像類型,成為多元文件管線的一站式解決方案。

  • 高品質 PNG 輸出,逐像素還原原始版面。
  • 自動文字覆蓋抽取,讓您免於自行實作 OCR。
  • 簡易 API——幾行 Java 程式碼即可完成整個工作流程。
  • 廣泛格式支援——相同做法同樣適用於 PDF、PPTX 等多種格式。
  • 提升文件清晰度,得益於無損渲染引擎,保留向量圖形與字型。

前置條件

  • 已安裝並設定 Java Development Kit (JDK) 8 或以上版本。
  • 使用 Maven 進行相依管理。
  • 具備基本的 Java 檔案處理與 Maven 專案結構知識。

設定 GroupDocs.Viewer for Java

安裝資訊

pom.xml 中加入儲存庫與相依,即可將 GroupDocs.Viewer 加入您的 Maven 專案:

<repositories>
   <repository>
      <id>repository.groupdocs.com</id>
      <name>GroupDocs Repository</name>
      <url>https://releases.groupdocs.com/viewer/java/</url>
   </repository>
</repositories>
<dependencies>
   <dependency>
      <groupId>com.groupdocs</groupId>
      <artifactId>groupdocs-viewer</artifactId>
      <version>25.2</version>
   </dependency>
</dependencies>

取得授權

先從下載頁面取得免費試用版。正式環境則需購買授權或從臨時授權頁面取得臨時金鑰。

基本初始化與設定

Viewer 類別是核心元件,負責載入文件並依指定的檢視選項進行渲染。Maven 同步完成後,您即可建立 Viewer 實例——此物件將驅動整個渲染流程。

逐步指南:將 Word 轉換為 PNG

步驟 1:定義輸出目錄

首先告訴檢視器要將產生的 PNG 檔案存放在哪裡。以下程式碼會建立(或重用)名為 YOUR_OUTPUT_DIRECTORY 的資料夾。

Path outputDirectory = Paths.get("YOUR_OUTPUT_DIRECTORY");

專業提示: 若希望自動建立資料夾,可使用 Files.createDirectories(outputDirectory);

步驟 2:設定檢視選項

PngViewOptions 用於設定每頁如何渲染為 PNG,並可啟用文字抽取。呼叫 setExtractText(true) 後,GroupDocs.Viewer 會在每張影像中嵌入不可見的文字層。

Path pageFilePathFormat = outputDirectory.resolve("page_{0}.png");
PngViewOptions viewOptions = new PngViewOptions(pageFilePathFormat);
viewOptions.setExtractText(true);  // Enable extracting text over the image

步驟 3:渲染文件

viewer.view(viewOptions) 會開啟來源 DOCX 並產生 PNG 頁面。try‑with‑resources 區塊確保 Viewer 實例在使用完畢後正確關閉,釋放所有原生資源。

try (Viewer viewer = new Viewer("YOUR_DOCUMENT_DIRECTORY/SAMPLE_DOCX")) {
    viewer.view(viewOptions);  // Perform rendering operation
}

當程序完成後,Word 文件的每一頁都會以高解析度 PNG 形式呈現,且帶有不可見的文字層,隨時可供索引與搜尋。

為何這很重要

嵌入可搜尋的文字層意味著您可以提供輕量的影像預覽 保留完整的文字搜尋功能。此特性在以下情境中特別有價值:

  1. 網站入口 需要快速的縮圖預覽,同時不犧牲 SEO。
  2. 內容管理系統 儲存檔案快照以作歸檔,但仍需文字索引。
  3. 文件歸檔 時,儲存成本是考量,但必須保持高度可發現性。

常見問題與解決方案

  • 找不到檔案: 請再次確認 SAMPLE_DOCX 的路徑,建議使用絕對路徑以確保正確。
  • 權限問題: 確認 Java 程序對 YOUR_OUTPUT_DIRECTORY 具有寫入權限。
  • 版本不符: 請檢查 pom.xml 中的版本號是否與您下載的函式庫相同。
  • 缺少文字層: 請確認已設定 viewOptions.setExtractText(true),且輸出資料夾可寫入。

實務應用

  1. 網站入口: 顯示文件預覽,使用者可直接搜尋內容而無需下載原始檔案。
  2. 內容管理系統: 儲存可搜尋的影像快照作為歸檔用途。
  3. 文件歸檔: 保留輕量的影像版本,同時支援完整文字搜尋。

效能考量

  • 依照示範使用 try‑with‑resources 及時釋放 Viewer 物件。
  • 若頻寬受限,可改用 JPEG;若追求品質則保留 PNG。
  • 當同一文件被重複請求時,請快取已渲染的頁面。

常見問答

Q:如何處理大型文件?
A:以增量方式渲染頁面,並在處理完一批後釋放相應的 Viewer 實例,以降低記憶體使用量。

Q:可以用相同方式渲染 PDF 嗎?
A:可以,GroupDocs.Viewer 支援 PDF,使用相同的 setExtractText(true) 旗標即可產生可搜尋的 PDF 影像。

Q:如果輸出中看不到文字層該怎麼辦?
A:請確認已設定 viewOptions.setExtractText(true),且輸出資料夾具備寫入權限。

Q:支援其他影像格式嗎?
A:除了 PNG,您也可以透過切換檢視選項類別,使用 JpgViewOptionsBmpViewOptions

Q:在哪裡可以找到更詳細的 API 文件?
A:官方文件提供完整的範例與設定說明。

資源


最後更新: 2026-08-30
測試環境: GroupDocs.Viewer 25.2 for Java
作者: GroupDocs

相關教學