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
Узнать больше
- Full Release Notes
- Documentation
- Load document with explicit file type
- GroupDocs.Redaction Free Support Forum