GroupDocs.Redaction for .NET 26.6 现已发布。此版本简化了从流和文件中打开文档并显式指定格式的方式,并引入了一个独立于 System.Drawing 的全新绘图 API,以提升跨平台兼容性。
修复与增强
- [Enhancement] 在从流或文件路径打开文档时指定文件类型。 (REDACTIONNET-572)
- [Enhancement] 摒弃
System.Drawing,提升跨平台兼容性。 (REDACTIONNET-799)
新增内容?
此版本聚焦于两个方面:简化集成并为更广泛的平台支持做好准备。
使用 LoadOptions.FileType 指定文档格式
打开文档时,GroupDocs.Redaction 通常会自动检测其格式。这在文件扩展名正确时效果良好,但在没有文件名的流或扩展名与实际内容不匹配时可能会失败。
26.6 版新增了 LoadOptions.FileType 属性以及 LoadOptions(FileType) 构造函数。将 FileType 设置为受支持的常量(如 FileType.DOCX 或 FileType.PDF),库将使用该格式打开文档,而不进行二进制格式检测。当未指定 FileType 或保持为 FileType.Unknown 时,行为保持不变。
GroupDocs.Redaction.Options.Drawing 中的跨平台绘图类型
之前的多个脱敏选项依赖于 System.Drawing 类型(Color、Point、Size、Rectangle、Font)。这些类型并非在所有平台上都可用,且会在 Linux 及容器化环境中增加部署难度。
全新的 GroupDocs.Redaction.Options.Drawing 命名空间提供了 Color、Point、Size、Rectangle、Font 与 FontStyle 类型供公共 API 使用。新的重载在 ReplacementOptions、RegionReplacementOptions、ImageAreaRedaction、PageAreaFilter、TextFragment 以及相关类中接受这些类型。
使用 System.Drawing 的现有代码仍可编译运行。相应成员已标记为过时,建议在后续更新中迁移到新类型。
公共 API 更改
新增
LoadOptions.FileType属性LoadOptions(FileType fileType)构造函数GroupDocs.Redaction.Options.Drawing中的绘图类型:Color、Point、Size、Rectangle、Font、FontStyle- 接受
GroupDocs.Redaction.Options.Drawing类型的新重载
已过时
ReplacementOptions.BoxColor— 改用ReplacementOptions.BoxFillColorReplacementOptions(System.Drawing.Color)— 改用ReplacementOptions(GroupDocs.Redaction.Options.Drawing.Color)RegionReplacementOptions.FillColor— 改用RegionReplacementOptions.AreaFillColorRegionReplacementOptions.Size— 改用RegionReplacementOptions.AreaSizeRegionReplacementOptions(System.Drawing.Color, System.Drawing.Size)— 改用接受GroupDocs.Redaction.Options.Drawing.Color与GroupDocs.Redaction.Options.Drawing.Size的重载RegionReplacementOptions(System.Drawing.Color, System.Drawing.Font, string)— 改用接受GroupDocs.Redaction.Options.Drawing.Color与GroupDocs.Redaction.Options.Drawing.Font的重载ImageAreaRedaction.TopLeft— 改用ImageAreaRedaction.TopLeftPositionImageAreaRedaction(System.Drawing.Point, RegionReplacementOptions)— 改用接受GroupDocs.Redaction.Options.Drawing.Point的重载PageAreaFilter.Rectangle— 改用PageAreaFilter.AreaRectanglePageAreaFilter(System.Drawing.Point, System.Drawing.Size)— 改用接受GroupDocs.Redaction.Options.Drawing.Point与GroupDocs.Redaction.Options.Drawing.Size的重载TextFragment.Rectangle— 改用TextFragment.BoundingRectangleTextFragment(string, System.Drawing.Rectangle)— 改用TextFragment(string, GroupDocs.Redaction.Options.Drawing.Rectangle)IImageFormatInstance.EditArea(System.Drawing.Point, RegionReplacementOptions)— 改用接受GroupDocs.Redaction.Options.Drawing.Point的重载
代码示例
使用显式文件类型打开文档
using System.IO;
using GroupDocs.Redaction.Options;
using GroupDocs.Redaction.Redactions;
using (Stream stream = File.OpenRead("sample.docx"))
{
using (Redactor redactor = new Redactor(stream, new LoadOptions(FileType.DOCX)))
{
redactor.Apply(new DeleteAnnotationRedaction());
redactor.Save();
}
}
using (Redactor redactor = new Redactor("sample.pdf", new LoadOptions(FileType.PDF)))
{
redactor.Apply(new ExactPhraseRedaction("Test", new ReplacementOptions("[redacted]")));
redactor.Save();
}
使用 GroupDocs.Redaction.Options.Drawing 替代 System.Drawing
using GroupDocs.Redaction.Options.Drawing;
using GroupDocs.Redaction.Redactions;
// 之前:new ReplacementOptions(System.Drawing.Color.Red)
using (Redactor redactor = new Redactor("sample.docx"))
{
redactor.Apply(new ExactPhraseRedaction("John Doe", new ReplacementOptions(Color.Red)));
redactor.Save();
}
// 之前:new ImageAreaRedaction(new System.Drawing.Point(516, 311),
// new RegionReplacementOptions(System.Drawing.Color.Blue, new System.Drawing.Size(170, 35)))
using (Redactor redactor = new Redactor("sample.jpg"))
{
redactor.Apply(new ImageAreaRedaction(new Point(516, 311),
new RegionReplacementOptions(Color.Blue, new Size(170, 35))));
redactor.Save();
}
如何获取更新
- NuGet – 通过 NuGet 升级到最新的
GroupDocs.Redaction for .NET包 - 直接下载 – 从 GroupDocs.Redaction for .NET 26.6 页面下载 GroupDocs.Redaction 程序集