將 DOCX 轉換為圖像並使用 GroupDocs Redaction Java 隱藏 Word 文件
保護 Microsoft Word 檔案中的敏感資訊是開發以文件為中心的應用程式的開發人員每日面臨的挑戰。無論您需要隱藏個人資料、遵守 GDPR,或是為外部審閱準備法律合約,在進行隱藏之前 convert docx to image 能確保原始版面保持完整,同時內容被安全遮蔽。在本指南中,您還會看到此流程如何有效 convert word to pdf,為您提供適合隱藏敏感資料的光柵化 PDF。
快速解答
- 「convert docx to image」是什麼意思? 它會將 Word 檔案的每一頁光柵化為位圖,保留版面以確保可靠的隱藏。
- 需要哪個 Maven 套件?
com.groupdocs:groupdocs-redaction(請參閱 groupdocs maven dependency 章節)。 - 我可以在 Java 中隱藏文字嗎? 可以——使用
ImageAreaRedaction搭配RegionReplacementOptions來覆蓋實心顏色。 - 我需要授權嗎? 試用授權可用於評估;正式環境需要商業授權。
- 輸出是 PDF 還是圖像檔案? 光柵化步驟會產生 PDF,且每頁都是圖像,已可進行隱藏。
「convert docx to image」是什麼?
光柵化 DOCX 檔案會將每一頁轉換為圖像(通常嵌入於 PDF 中)。此轉換會消除可選取的文字,使後續的隱藏不可逆且防篡改。將文件轉為基於圖像的 PDF 後,任何之後的隱藏都無法僅透過複製文字來還原,這對於合規驅動的工作流程至關重要。
為何在 Java 中使用 GroupDocs Redaction?
GroupDocs Redaction for Java 提供即插即用的安全文件淨化解決方案。它以像素完美的精度保留原始 Word 版面,讓您能針對單一區域或整頁進行隱藏,且只需一個 Maven 依賴即可整合。此函式庫支援 Windows、Linux 與 macOS,能在不將整個文件載入記憶體的情況下處理高達 500 MB 的檔案,並每季更新以加入效能提升與新格式支援。
前置條件
- 安裝 JDK 8 或更新版本。
- 使用 IntelliJ IDEA、Eclipse 或 NetBeans 等 IDE。
- 具備下載 Maven 套件或直接 JAR 的網路連線。
- 具備基本的 Java 知識並熟悉 Maven。
設定 GroupDocs.Redaction for Java
Maven 依賴 (groupdocs maven dependency)
將官方 GroupDocs 儲存庫與 Redaction 函式庫加入您的 pom.xml:
<repositories>
<repository>
<id>repository.groupdocs.com</id>
<name>GroupDocs Repository</name>
<url>https://releases.groupdocs.com/redaction/java/</url>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId>com.groupdocs</groupId>
<artifactId>groupdocs-redaction</artifactId>
<version>24.9</version>
</dependency>
</dependencies>
直接下載 – 若您不想使用 Maven,可從官方頁面取得最新 JAR:GroupDocs.Redaction for Java releases.
取得授權
- 從 GroupDocs 入口網站申請 免費試用授權。
- 若於正式環境部署,請購買 商業授權,並以永久金鑰取代試用金鑰。
步驟說明
步驟 1:匯入必要類別(如何光柵化 Word)
RasterizationOptions 類別設定每頁如何渲染為圖像。Redactor 類別是對文件套用隱藏規則的入口點。請在使用 API 前先匯入它們。
import com.groupdocs.redaction.Redactor;
import com.groupdocs.redaction.options.RasterizationOptions;
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.nio.file.Files;
import java.nio.file.Paths;
步驟 2:載入並光柵化 DOCX(convert docx to image)
RasterizationOptions 告訴 GroupDocs 將每頁渲染為圖像。ByteArrayOutputStream 將結果保留在記憶體中,為下一步做好準備,無需寫入中間檔案。此步驟同時在背後 convert word to pdf——每個光柵化頁面都儲存在 PDF 容器中。
String inputFilePath = "YOUR_DOCUMENT_DIRECTORY/sample.docx";
ByteArrayOutputStream stream = new ByteArrayOutputStream();
try (Redactor rasterizer = new Redactor(inputFilePath)) {
// Enable rasterization options.
RasterizationOptions options = new RasterizationOptions();
options.setEnabled(true);
// Save the document as a byte array in rasterized form.
rasterizer.save(stream, options);
}
說明: RasterizationOptions 告訴 GroupDocs 將每頁渲染為圖像。ByteArrayOutputStream 將結果保留在記憶體中,為下一步做好準備,無需寫入中間檔案。此步驟同時在背後 convert word to pdf——每個光柵化頁面都儲存在 PDF 容器中。
步驟 3:為隱藏準備光柵化輸出
ByteArrayInputStream 包裝記憶體中的 PDF,使隱藏引擎能直接讀取。這避免了磁碟上的暫存檔,減少 I/O 開銷,對於大量批次處理尤為重要。
ByteArrayInputStream inputStream = new ByteArrayInputStream(stream.toByteArray());
現在光柵化的 PDF 已作為 InputStream 可用,您可以直接將其傳入隱藏引擎。
步驟 4:套用 Image Area Redaction(如何隱藏 Word)
ImageAreaRedaction 針對由 startPoint 與 size 定義的矩形區域。RegionReplacementOptions 讓您選擇覆蓋顏色(此範例為藍色)以及取代矩形的大小。套用隱藏後,文件會以光柵化 PDF 儲存,敏感區域被安全隱蔽。這是 hide text java 開發人員在處理機密 Word 內容時的核心做法。
import com.groupdocs.redaction.Redactor;
import com.groupdocs.redaction.RedactorChangeLog;
import com.groupdocs.redaction.redactions.ImageAreaRedaction;
import com.groupdocs.redaction.redactions.RegionReplacementOptions;
import java.awt.Color;
import java.awt.Dimension;
import java.awt.Point;
import java.io.FileOutputStream;
try (Redactor redactor = new Redactor(inputStream)) {
// Define the area for redaction.
Point startPoint = new Point(1160, 2375);
Dimension size = new Dimension(1050, 720);
// Set up replacement options with a blue color overlay.
RegionReplacementOptions replaceWithBlue = new RegionReplacementOptions(Color.BLUE, size);
// Apply the image area redaction.
RedactorChangeLog result = redactor.apply(new ImageAreaRedaction(startPoint, replaceWithBlue));
if (result.getStatus() != Redactor.RedactionStatus.Failed) {
// Save the final document to an output directory.
String outputPath = "YOUR_OUTPUT_DIRECTORY/sample_raster.pdf";
try (FileOutputStream fileStream = new FileOutputStream(outputPath)) {
RasterizationOptions saveOptions = new RasterizationOptions();
saveOptions.setEnabled(false);
redactor.save(fileStream, saveOptions);
}
}
}
說明:
ImageAreaRedaction針對由startPoint與size定義的矩形區域。RegionReplacementOptions讓您選擇覆蓋顏色(此範例為藍色)以及取代矩形的大小。- 套用隱藏後,文件會以光柵化 PDF 儲存,敏感區域被安全隱蔽。這是 hide text java 開發人員在處理機密 Word 內容時的核心做法。
如何將 Word 轉換為 PDF 並隱藏敏感資料
載入 DOCX,將其光柵化為基於圖像的 PDF,然後套用一個或多個 ImageAreaRedaction 物件。光柵化會自動 convert word to pdf,將每頁嵌入為位圖,使任何後續的隱藏防篡改,因為底層文字已不再可選取。
隱藏引擎直接在記憶體中的 PDF 串流上運作,無需寫入暫存檔至磁碟。隱藏完成後,您可以將最終 PDF 串流回傳給客戶端、儲存於資料庫,或上傳至雲端儲存。
如何在 Java 中使用 GroupDocs 隱藏文字
使用 ImageAreaRedaction API 在您想遮蔽的任何區域上覆蓋實心顏色矩形。定義矩形的左上角 (startPoint) 以及寬高 (size),再指定 RegionReplacementOptions 的顏色。呼叫 redactor.apply(redaction) 時,函式庫會在光柵化頁面上繪製矩形,並將結果儲存為不再包含原始文字的 PDF。
此方法適用於任何語言無關的文件,因為光柵化步驟會移除文字層,確保隱蔽內容無法被還原。
實務應用(how to redact word)
| 情境 | 為何光柵化並隱藏? |
|---|---|
| 法律合約 | 在分享草稿前確保客戶機密性。 |
| 醫療紀錄 | 移除個人健康資訊,同時保留原始報告版面。 |
| 財務報表 | 遮蔽帳號或專有數字,以供外部審計。 |
效能考量
- 記憶體管理: 使用串流(
ByteArrayOutputStream/ByteArrayInputStream)以避免將整個檔案載入記憶體。 - CPU 使用率: 光柵化耗用 CPU;對於大型 DOCX 檔案,考慮增大 JVM 堆積(
-Xmx2g)。 - 版本更新: 保持 GroupDocs 函式庫為最新(例如 24.9),以獲得效能調整與錯誤修正。
- 檔案大小限制: 在使用串流時,函式庫可處理最高 500 MB 的文件而不會發生記憶體不足錯誤。
常見問題與解決方案(hide text java)
| 問題 | 解決方案 |
|---|---|
| OutOfMemoryError 處理大型 DOCX 時 | 將文件分塊處理或增大 JVM 堆積大小。 |
| Redaction not applied | 確認 result.getStatus() 不是 Failed,且座標在頁面範圍內。 |
| Output PDF blank | 確保 RasterizationOptions.setEnabled(false) 僅在隱藏之後執行;在初始光柵化時保持為 true。 |
常見問答
Q: 「convert docx to image」實際產生什麼?
A: 此流程會建立一個 PDF,且每頁皆嵌入位圖,使文字不可選取且適合進行隱藏。
Q: 我可以將 GroupDocs Redaction 用於其他檔案類型嗎?
A: 可以,它支援 PDF、圖像以及許多其他格式——總計超過 50 種輸入與輸出類型。
Q: 臨時授權如何運作?
A: 試用授權可在 30 天內解鎖所有功能,讓您無限制評估光柵化與隱藏。
Q: 有沒有辦法一次隱藏多個區域?
A: 當然可以——多次呼叫 redactor.apply(),或傳入 ImageAreaRedaction 物件的集合。
Q: 我需要先將 DOCX 轉換為 PDF 嗎?
A: 不需要。Redactor 可以直接光柵化 DOCX,並在一步完成輸出 PDF,如上所示。
最後更新: 2026-07-25
測試環境: GroupDocs.Redaction 24.9 (Java)
作者: GroupDocs