GroupDocs.Redaction for .NET 26.9 已发布。此版本从 .NET 6、.NET 8 和 .NET 10 包中移除了 System.Drawing.Common 依赖,并提升了在 Linux 等受支持操作系统上的跨平台兼容性。

修复与增强

  • [Enhancement] 迁移出 System.Drawing 以提升跨平台兼容性。(REDACTIONNET-799)

新增内容

版本 26.9 完成了对 System.Drawing 的迁移。System.Drawing 类型已从公共 API 中移除。内部代码仍在 .NET Framework 4.6.2 上使用 System.Drawing 进行文档处理。

不含 System.Drawing.Common 的跨平台包

.NET 6、.NET 8 和 .NET 10 包不再依赖 System.Drawing.Common。文档处理不再需要 GDI+ 或 libgdiplus。.NET Framework 4.6.2 构建仍使用 Windows GDI+ 堆栈。

System.Drawing 类型已从公共 API 中移除

颜色、点、大小、矩形和字体值现在仅来自 GroupDocs.Redaction.Options.Drawing。仍然传入 System.Drawing.Color、System.Drawing.Point、System.Drawing.Size、System.Drawing.Rectangle 或 System.Drawing.Font 的代码将无法编译。

GroupDocs.Redaction.Options.Drawing.Color 仍然提供命名颜色,如 Color.Black、Color.Blue,以及 Color.FromName 和 Color.FromArgb。

原始成员名称再次成为当前 API。BoxColor、FillColor、Size、TopLeft 和 Rectangle 现在使用 GroupDocs 绘图类型。26.6 中添加的临时别名已废弃:

已废弃别名 替代使用
ReplacementOptions.BoxFillColor ReplacementOptions.BoxColor
RegionReplacementOptions.AreaFillColor RegionReplacementOptions.FillColor
RegionReplacementOptions.AreaSize RegionReplacementOptions.Size
ImageAreaRedaction.TopLeftPosition ImageAreaRedaction.TopLeft
PageAreaFilter.AreaRectangle PageAreaFilter.Rectangle
TextFragment.BoundingRectangle TextFragment.Rectangle

公共 API 更改

已移除

  • 在 ReplacementOptions、RegionReplacementOptions、ImageAreaRedaction、PageAreaFilter、TextFragment 和 IImageFormatInstance 上接受或返回 System.Drawing 类型的公共成员
  • ReplacementOptions(System.Drawing.Color)
  • 接受 System.Drawing.Color、System.Drawing.Size 或 System.Drawing.Font 的 RegionReplacementOptions 构造函数
  • ImageAreaRedaction(System.Drawing.Point, RegionReplacementOptions)
  • PageAreaFilter(System.Drawing.Point, System.Drawing.Size)
  • TextFragment(string, System.Drawing.Rectangle)
  • IImageFormatInstance.EditArea(System.Drawing.Point, RegionReplacementOptions)

当前 API

  • ReplacementOptions.BoxColor 与 ReplacementOptions(GroupDocs.Redaction.Options.Drawing.Color)
  • RegionReplacementOptions.FillColor、RegionReplacementOptions.Size 与接受 GroupDocs.Redaction.Options.Drawing 颜色、大小和字体的构造函数
  • ImageAreaRedaction.TopLeft 与 ImageAreaRedaction(GroupDocs.Redaction.Options.Drawing.Point, RegionReplacementOptions)
  • PageAreaFilter.Rectangle 与 PageAreaFilter(GroupDocs.Redaction.Options.Drawing.Point, GroupDocs.Redaction.Options.Drawing.Size)
  • TextFragment.Rectangle 与 TextFragment(string, GroupDocs.Redaction.Options.Drawing.Rectangle)
  • IImageFormatInstance.EditArea(GroupDocs.Redaction.Options.Drawing.Point, RegionReplacementOptions)

已废弃

  • ReplacementOptions.BoxFillColor — 使用 ReplacementOptions.BoxColor
  • RegionReplacementOptions.AreaFillColor — 使用 RegionReplacementOptions.FillColor
  • RegionReplacementOptions.AreaSize — 使用 RegionReplacementOptions.Size
  • ImageAreaRedaction.TopLeftPosition — 使用 ImageAreaRedaction.TopLeft
  • PageAreaFilter.AreaRectangle — 使用 PageAreaFilter.Rectangle
  • TextFragment.BoundingRectangle — 使用 TextFragment.Rectangle

代码示例

在匹配的文本上绘制彩色框

using GroupDocs.Redaction.Options.Drawing;
using GroupDocs.Redaction.Redactions;

using (Redactor redactor = new Redactor("sample.docx"))
{
    redactor.Apply(new ExactPhraseRedaction("John Doe", new ReplacementOptions(Color.Black)));
    redactor.Save();
}

对图像区域进行编辑

using GroupDocs.Redaction.Options.Drawing;
using GroupDocs.Redaction.Redactions;

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();
}

如何获取更新

了解更多