将 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 或更高版本。
  • IDE,例如 IntelliJ IDEA、Eclipse 或 NetBeans。
  • 需要互联网访问以下载 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。

许可证获取

  1. 从 GroupDocs 门户请求 免费试用许可证。
  2. 对于生产部署,购买 商业许可证 并用永久密钥替换试用密钥。

步骤指南

步骤 1:导入所需类 (how to rasterize 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);
}

Explanation: RasterizationOptions tells GroupDocs to render each page as an image. The ByteArrayOutputStream keeps the result in memory, ready for the next step without writing intermediate files. This step also convert word to pdf behind the scenes—each rasterized page is stored inside a PDF container.

步骤 3:为编辑准备光栅化输出

ByteArrayInputStream 包装内存中的 PDF,使编辑引擎可以直接读取。这避免了磁盘上的临时文件并降低 I/O 开销,尤其在处理大批量文件时尤为重要。

ByteArrayInputStream inputStream = new ByteArrayInputStream(stream.toByteArray());

现在,光栅化的 PDF 已作为 InputStream 可用,您可以直接将其传入编辑引擎。

步骤 4:应用图像区域编辑 (how to redact 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);
        }
    }
}

Explanation:

  • ImageAreaRedaction targets a rectangular region defined by startPoint and size.
  • RegionReplacementOptions lets you choose the overlay color (blue in this example) and the size of the replacement rectangle.
  • After applying the redaction, the document is saved as a rasterized PDF with the sensitive area securely hidden. This is the core way to hide text java developers need when dealing with confidential Word content.

如何将 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)

场景为何要光栅化并编辑?
法律合同在共享草稿之前确保客户机密性。
医疗记录在保留原始报告布局的同时删除 PHI。
财务报表为外部审计遮蔽账户号码或专有数字。

性能考虑

  • 内存管理: 使用流 (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,如上所示。


Last Updated: 2026-07-25
Tested With: GroupDocs.Redaction 24.9 (Java)
Author: GroupDocs

相关教程