GroupDocs.Redaction for .NET 26.9 теперь доступен. Этот выпуск удаляет зависимость System.Drawing.Common из пакетов .NET 6, .NET 8 и .NET 10 и улучшает кроссплатформенную совместимость с Linux и другими поддерживаемыми операционными системами.

Исправления и улучшения

  • [Enhancement] Переход от System.Drawing для повышения кроссплатформенной совместимости. (REDACTIONNET-799)

Что нового?

Версия 26.9 завершает миграцию от System.Drawing. Типы System.Drawing удалены из публичного API. Внутренний код продолжает использовать System.Drawing только для обработки документов на .NET Framework 4.6.2.

Кроссплатформенные пакеты без 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

Удалено

  • Публичные члены, принимавшие или возвращавшие типы System.Drawing в ReplacementOptions, RegionReplacementOptions, ImageAreaRedaction, PageAreaFilter, TextFragment и IImageFormatInstance
  • ReplacementOptions(System.Drawing.Color)
  • Конструкторы RegionReplacementOptions, принимавшие System.Drawing.Color, System.Drawing.Size или System.Drawing.Font
  • 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();
}

Как получить обновление

  • NuGet – Обновите до последней версии пакета GroupDocs.Redaction for .NET через NuGet
  • Прямое скачивание – Скачайте сборки GroupDocs.Redaction со страницы GroupDocs.Redaction for .NET 26.9

Узнать больше