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.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.SizeRegionReplacementOptions(System.Drawing.Color, System.Drawing.Font, string)— використовуйте перевантаження зGroupDocs.Redaction.Options.Drawing.ColorтаGroupDocs.Redaction.Options.Drawing.FontImageAreaRedaction.TopLeft— використовуйтеImageAreaRedaction.TopLeftPositionImageAreaRedaction(System.Drawing.Point, RegionReplacementOptions)— використовуйте перевантаження зGroupDocs.Redaction.Options.Drawing.PointPageAreaFilter.Rectangle— використовуйтеPageAreaFilter.AreaRectanglePageAreaFilter(System.Drawing.Point, System.Drawing.Size)— використовуйте перевантаження зGroupDocs.Redaction.Options.Drawing.PointтаGroupDocs.Redaction.Options.Drawing.SizeTextFragment.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 – Оновіть до останнього пакету
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