我们很高兴宣布 GroupDocs.Redaction for Java 25.12 版本已于 2025年12月 发布。此补丁解决了在对 PowerPoint Template Macro‑enabled (POTM) 文件进行脱敏后处理时出现的单一问题。
本次发行的新功能
| Issue ID | Summary | Category |
|---|---|---|
| REDACTIONJAVA-246 | 脱敏后无法打开 POTM 文件 | 修复 |
修复详情
当从流加载演示文稿并进行脱敏后再保存时,输出文件会错误地转换为 PPTX 格式,而不管原始文件类型是什么。此修复确保脱敏后的文件保留原始的 POTM 格式。
代码示例(已修复行为)
import com.groupdocs.redaction.Redactor;
import com.groupdocs.redaction.redactions.ExactPhraseRedaction;
import com.groupdocs.redaction.redactions.ReplacementOptions;
import com.groupdocs.redaction.options.RasterizationOptions;
import java.io.InputStream;
import java.io.OutputStream;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
public class RedactPotm {
public static void main(String[] args) throws Exception {
// 定义输入和输出文件路径
Path inputPath = Paths.get("source.potm");
Path outputPath = Paths.get("redacted.potm");
// 打开输入流,创建脱敏器,并准备输出流
// 在退出 try 块时,所有资源会自动关闭
try (final InputStream inputStream = Files.newInputStream(inputPath);
final Redactor redactor = new Redactor(inputStream);
final OutputStream outputStream = Files.newOutputStream(outputPath)) {
// 配置脱敏:定义要脱敏的文本及替换字符串
String textToRedact = "TEXT";
String redactWith = "****";
// 创建替换选项和精确短语脱敏
ReplacementOptions textReplacement = new ReplacementOptions(redactWith);
ExactPhraseRedaction textRedaction = new ExactPhraseRedaction(textToRedact, textReplacement);
// 将脱敏应用于文档
redactor.apply(textRedaction);
// 配置光栅化选项(对演示文稿禁用光栅化)
RasterizationOptions rasterizationOptions = new RasterizationOptions();
rasterizationOptions.setEnabled(false);
// 保存脱敏后的演示文稿
// 修复:现在保留原始 POTM 格式,而不转换为 PPTX
redactor.save(outputStream, rasterizationOptions);
}
}
}
该示例展示了纠正后的工作流程:从流中加载 POTM 文件,应用简单的文本脱敏,并将结果保存回 POTM,不会出现不必要的格式转换。
如何获取更新
在 pom.xml 文件中更新依赖版本:
<dependencies>
<dependency>
<groupId>com.groupdocs</groupId>
<artifactId>groupdocs-redaction</artifactId>
<version>25.12</version>
</dependency>
</dependencies>
或直接从我们的 Maven 仓库下载包:
https://releases.groupdocs.com/java/repo/com/groupdocs/groupdocs-redaction/25.12/
其他资源
反馈
我们重视您的反馈!如果您有任何问题、遇到故障或有建议,请访问我们的 免费支持论坛。我们的团队随时为您提供帮助。