如何使用 GroupDocs.Redaction Java 将 PDF 光栅化为灰度

如果您需要将 PDF 光栅化 为灰度,同时保持文档安全、专业且易于归档,那么您来对地方了。在本教程中,我们将逐步演示如何使用 GroupDocs.Redaction for Java 将彩色的 DOCX、PDF 或其他受支持的文件转换为干净的灰度光栅化版本。您将了解光栅化为何能增加安全层、如何配置库以及如何高效管理资源——全部以友好的逐步方式呈现。

快速答案

  • 灰度光栅化的作用是什么? 它将每页转换为高分辨率图像,然后应用灰度滤镜,去除所有颜色信息。
  • 为什么要使用 GroupDocs.Redaction? 它将编辑遮蔽安全性与光栅化选项合并在一个易于使用的 API 中。
  • 支持哪些格式? DOCX、PDF、XLSX、PPTX、RTF 以及超过 100 种其他格式。
  • 是否需要许可证? 生产环境需要有效的 GroupDocs.Redaction 许可证;可使用免费试用版进行测试。
  • 需要哪个 Java 版本? JDK 8 或更高版本。

如何将 PDF 光栅化为灰度?

使用 new Redactor("path/to/file") 加载源文档,通过 RasterizationOptions 启用光栅化,添加灰度高级选项,然后调用 save()——整个转换只需几行代码即可完成。此方法确保每页都变为基于图像的黑白 PDF,防止文本被选取并确保统一的打印就绪外观。

什么是 create grayscale pdf?

创建灰度 PDF 意味着将原始文档的每个视觉元素转换为灰色阴影。结果是一个更小、适合打印的文件,消除颜色相关的干扰,并因内容已基于图像而带来轻微的安全优势。

为什么在 GroupDocs.Redaction 中使用灰度光栅化?

光栅化将每页转换为图像,这意味着文本无法被复制或编辑,且视觉输出在打印机和查看器之间保持一致。GroupDocs.Redaction 支持 超过 100 种输入和输出格式——包括 DOCX、XLSX、PPTX、HTML 和图像类型——因此您几乎可以对任何处理的文档使用相同的工作流。

前置条件

  • Java Development Kit (JDK) 8 或更高版本。使用 java -version 验证。
  • 一个 IDE(IntelliJ IDEA、Eclipse 或 NetBeans),以便更轻松地编码和调试。
  • 通过 Maven 或 Gradle 添加 GroupDocs.Redaction for Java。
  • 一个示例文档(例如多页 DOCX),可安全进行实验。
  • 足够的磁盘空间用于光栅化输出(光栅文件可能比源文件更大)。

导入包

以下导入语句引入示例所需的核心 Redactor 和光栅化类。

import com.groupdocs.redaction.Redactor;
import com.groupdocs.redaction.options.SaveOptions;
import com.groupdocs.redaction.options.RasterizationOptions;
import com.groupdocs.redaction.options.AdvancedRasterizationOptions;

步骤 1:初始化 Redactor 对象

Redactor 类是 GroupDocs.Redaction 中所有文档处理操作的入口。创建实例后即可加载、编辑和保存文档。

final Redactor redactor = new Redactor(Constants.MULTIPAGE_SAMPLE_DOCX);

将 Constants.MULTIPAGE_SAMPLE_DOCX 替换为您想要转换为灰度 PDF 的文件路径。

步骤 2:配置保存选项

SaveOptions 类定义了处理后文档如何写入磁盘,包括格式和文件名。

SaveOptions so = new SaveOptions();
so.setRedactedFileSuffix("_scan");

输出文件将命名为 yourfile_scan.pdf(或您随后指定的格式)。

步骤 3:启用光栅化

RasterizationOptions 对象在保存之前启用每页基于图像的渲染。

so.getRasterization().setEnabled(true);

步骤 4:应用灰度转换

AdvancedRasterizationOptions.Grayscale 是一个标志,强制光栅化图像仅使用灰色阴影。

so.getRasterization().addAdvancedOption(AdvancedRasterizationOptions.Grayscale);

步骤 5:执行文档转换

调用 save() 运行完整的处理管道并写入输出文件。

redactor.save(so);

此行执行后,您将在磁盘上找到一个全光栅化、灰度且带有 _scan 后缀的新文件。

步骤 6:正确的资源管理

close() 方法释放本机资源并删除临时文件。

finally { redactor.close(); }

对于现代 Java,您也可以使用 try‑with‑resources 模式,它会自动关闭 Redactor:

try (Redactor redactor = new Redactor(Constants.MULTIPAGE_SAMPLE_DOCX)) {
    // Your processing code here
}
// Automatic cleanup happens here

两种方式都安全;后者更简洁。

高级配置选项

调整 DPI 以平衡质量或大小

更高的 DPI 产生更清晰的图像(适合打印),而较低的 DPI 可减小文件大小。常见的平衡是屏幕查看使用 150 DPI,打印就绪 PDF 使用 300 DPI。

saveOptions.getRasterization().setDpi(300); // High quality for printing
// or
saveOptions.getRasterization().setDpi(150); // Balanced quality and size

选择输出格式

您可以将光栅化结果强制为特定的容器格式,例如 PDF、TIFF 或 PNG。PDF 是最广泛使用的归档格式。

saveOptions.setRasterizationFormat(RasterizationFormat.PDF);

常见使用场景

  • 法律文档归档 – 创建不可编辑的不可变灰度 PDF。
  • 可打印报告 – 确保批量打印时的黑白输出一致。
  • 合规工作流 – 将编辑遮蔽与灰度光栅化相结合,以满足严格的数据隐私法规。

常见问题及解决方案

问题原因解决方案
输出文件大于预期DPI 设置过高或未启用图像压缩降低 DPI(例如 150)或在 RasterizationOptions 中启用压缩。
文字模糊原始字体大小的 DPI 不足将 DPI 提高到 300 或更高。
处理大型文档时抛出 OutOfMemoryError整个文档一次性加载到内存中使用流式 API,或在支持的情况下分批处理页面。
未应用灰度高级选项未正确添加确认在 save() 之前调用了 addAdvancedOption(AdvancedRasterizationOptions.Grayscale)。

常见问题

Q: 我可以在不进行光栅化的情况下将文档转换为灰度吗?
A: 在 GroupDocs.Redaction 中,灰度选项与光栅化绑定,确保结果一致并增加安全层。

Q: 哪些文档格式支持灰度光栅化?
A: GroupDocs.Redaction 支持的所有主流格式——包括 DOCX、PDF、XLSX、PPTX、RTF 以及超过 100 种其他格式——都可以光栅化并转换为灰度。

Q: 光栅化会影响文档的文件大小吗?
A: 会。文本密集的文件可能增大,而图像密集的文件可能缩小。DPI 设置影响最大。

Q: 能否逆转灰度光栅化过程?
A: 不能。光栅化是单向的;如果需要恢复,请保留原始文件的备份。

Q: 如何优化灰度光栅化文档的质量?
A: 使用更高的 DPI(打印质量建议 300 以上),并选择 PDF 作为输出格式,以获得最佳归档效果。

结论

您现在拥有使用 GroupDocs.Redaction for Java 将 PDF 光栅化为灰度 的完整、可投入生产的方案。通过启用光栅化、添加灰度高级选项并负责任地管理资源,您可以生成安全、适合打印的文档,满足合规标准,并在任何查看器中保持一致的外观。


最后更新: 2026-05-17
测试环境: GroupDocs.Redaction 23.11 for Java
作者: GroupDocs

目标关键词:

主要关键词(最高优先级):
how to rasterize pdf

次要关键词(支持):
java pdf to image, apply grayscale filter pdf

相关教程