GroupDocs.Redaction for .NET 26.6 тепер доступний. Це випуск спрощує відкриття документів із потоків і файлів з явним форматом та вводить новий API малювання, який не залежить від System.Drawing, щоб покращити крос‑платформенну сумісність.

Виправлення та покращення

  • [Enhancement] Вказати тип файлу під час відкриття документа з потоку або шляху до файлу. (REDACTIONNET-572)
  • [Enhancement] Перейти від System.Drawing для підвищення крос‑платформеної сумісності. (REDACTIONNET-799)

Що нового?

Цей випуск зосереджений на двох напрямках, які спрощують інтеграцію та готують API до ширшої підтримки платформ.

Вказування формату документа за допомогою 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.BoxFillColor
  • ReplacementOptions(System.Drawing.Color) — використовуйте ReplacementOptions(GroupDocs.Redaction.Options.Drawing.Color)
  • RegionReplacementOptions.FillColor — використовуйте RegionReplacementOptions.AreaFillColor
  • RegionReplacementOptions.Size — використовуйте RegionReplacementOptions.AreaSize
  • RegionReplacementOptions(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.TopLeftPosition
  • ImageAreaRedaction(System.Drawing.Point, RegionReplacementOptions) — використовуйте перевантаження з GroupDocs.Redaction.Options.Drawing.Point
  • PageAreaFilter.Rectangle — використовуйте PageAreaFilter.AreaRectangle
  • PageAreaFilter(System.Drawing.Point, System.Drawing.Size) — використовуйте перевантаження з GroupDocs.Redaction.Options.Drawing.Point та GroupDocs.Redaction.Options.Drawing.Size
  • TextFragment.Rectangle — використовуйте TextFragment.BoundingRectangle
  • TextFragment(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 – Оновіть до останнього пакету GroupDocs.Redaction for .NET через NuGet
  • Пряме завантаження – Завантажте збірки GroupDocs.Redaction з сторінки GroupDocs.Redaction for .NET 26.6

Дізнатись більше