我们很高兴宣布 GroupDocs.Redaction for Node.js via Java 26.10 正式发布,发布日期为 2026年10月。这是该产品的首次公开 npm 发行版,实现了与 GroupDocs.Redaction for Java 26.10 的功能等价。主要改进包括对 Word 文档的 OOXML 合规性控制、对 Excel 模板和制表符分隔格式的扩展支持、针对 PDF 页面区域的自定义脱敏处理程序,以及图像定位和 DrawBox 处理的修复。

本次发行的新功能

  • [Feature] 在保存 Word 处理文档时指定并保留 OOXML 合规性 (REDACTIONNET-718)
  • [Feature] 添加电子表格模板格式 XLT / XLTX / XLTM 和 TAB;改进 Cells 保存格式映射 (REDACTIONNET-802)
  • [Fix] 跳过对仅文本电子表格 CSV / TAB / TSV 的 DrawBox(彩色矩形)脱敏 (REDACTIONNET-805)
  • [Feature] 为 PDF PageAreaRedaction 提供自定义脱敏处理程序 (ICustomRedactionHandler) (REDACTIONNET-594)
  • [Fix] 修复页面区域图像脱敏定位(嵌入的具有页面位置和真实尺寸的图像)(REDACTIONNET-551)

公共 API 更改

公共 API 与 GroupDocs.Redaction for Java 26.10 保持一致,包含以下内容:

  • WordProcessingComplianceLevel (Ecma, Transitional, Strict)
  • WordprocessingSaveOptions with getOoxmlCompliance / setOoxmlCompliance
  • SaveOptions.getWordprocessingSaveOptions()
  • ICustomRedactionHandler, CustomRedactionContext, CustomRedactionResult
  • ReplacementOptions.getCustomRedaction / setCustomRedaction
  • FileType.getXLT(), getXLTX(), getXLTM(), getTAB()

新功能

  • OOXML 合规性(Word 处理) (REDACTIONNET-718)
    保存 Word 文档时可以指定 OOXML 合规级别。如果未设置,则保留原始文档的合规性。Strict 不能直接降级为 Ecma(请使用 Transitional)。

  • 电子表格格式 XLT / XLTX / XLTM / TAB (REDACTIONNET-802)
    FileType 提供 Excel 模板类型和 .tab。电子表格保存路径会正确映射这些格式(与现有的 ODS / OTS / XLSB 支持并存)。

  • 跳过 CSV / TAB / TSV 的 DrawBox (REDACTIONNET-805)
    彩色矩形(DrawBox)替换不适用于仅文本的电子表格格式。这些脱敏将被跳过,并给出明确状态,而不是尝试图像样式的渲染。

  • PDF 页面区域的自定义脱敏 (REDACTIONNET-594)
    ReplacementOptions 接受一个 ICustomRedactionHandler。在每次匹配时,处理程序会收到 CustomRedactionContext 并返回 CustomRedactionResult(应用标志 + 替换文本)。目前仅支持 PDF PageAreaRedaction。

  • 图像区域定位 (REDACTIONNET-551)
    对具有页面位置和真实像素尺寸的嵌入图像使用页面坐标进行脱敏,从而在位图尺寸与页面形状不一致时,PageAreaFilter / ImageAreaRedaction 能够与可见图像区域对齐。

代码示例

const redaction = require('@groupdocs/groupdocs.redaction');
const java = require('java');

const optionsText = new redaction.ReplacementOptions('[replaced]');
const handler = java.newProxy('com.groupdocs.redaction.redactions.ICustomRedactionHandler', {
  redact: function (context) {
    const result = new redaction.CustomRedactionResult();
    const text = context.getText();
    if (text && text.indexOf('Lorem') >= 0) {
      result.setApply(true);
      result.setText(text.replace('Lorem', '[redacted-custom]'));
    }
    return result;
  }
});
optionsText.setCustomRedaction(handler);

const redactor = new redaction.Redactor('sample.pdf');
try {
  redactor.apply(new redaction.PageAreaRedaction(
    java.import('java.util.regex.Pattern').compile('.*'),
    optionsText));
  redactor.save(new redaction.SaveOptions(false, 'Custom_Redaction_Result'));
} finally {
  redactor.close();
}

如何获取更新

npm

通过 npm 安装此包:

npm install @groupdocs/groupdocs.redaction@26.10.0

Package link: GroupDocs.Redaction for Node.js via Java 26.10.0

直接下载

从 GroupDocs.Redaction for Node.js via Java 26.10 Release Notes 页面下载最新发行版。

资源