GroupDocs.Redaction for .NET 26.6 jest już dostępny. To wydanie ułatwia otwieranie dokumentów ze strumieni i plików przy podaniu wyraźnego formatu oraz wprowadza nowe API rysowania niezależne od System.Drawing, aby poprawić kompatybilność wieloplatformową.
Poprawki i ulepszenia
- [Ulepszenie] Określenie typu pliku przy otwieraniu dokumentu ze strumienia lub ścieżki pliku. (REDACTIONNET-572)
- [Ulepszenie] Migracja z
System.Drawingw celu zwiększenia kompatybilności wieloplatformowej. (REDACTIONNET-799)
Co nowego?
To wydanie koncentruje się na dwóch obszarach, które upraszczają integrację i przygotowują API do szerszego wsparcia platform.
Określ format dokumentu przy użyciu LoadOptions.FileType
Podczas otwierania dokumentu, GroupDocs.Redaction zazwyczaj automatycznie wykrywa jego format. Działa to dobrze dla plików z prawidłowym rozszerzeniem, ale może się nie udać w przypadku strumieni bez nazwy pliku lub gdy rozszerzenie nie odpowiada rzeczywistej zawartości.
Wersja 26.6 dodaje właściwość LoadOptions.FileType oraz konstruktor LoadOptions(FileType). Ustaw FileType na obsługiwany stały, np. FileType.DOCX lub FileType.PDF, a biblioteka otworzy dokument używając tego formatu, pomijając wykrywanie binarnego formatu. Domyślne zachowanie pozostaje niezmienione, gdy FileType nie jest określony lub pozostaje FileType.Unknown.
Typy rysowania wieloplatformowego w GroupDocs.Redaction.Options.Drawing
Kilka opcji redakcji wcześniej opierało się na typach z System.Drawing (Color, Point, Size, Rectangle, Font). Typy te nie są dostępne na wszystkich platformach i mogą komplikować wdrażanie na Linuksie oraz w środowiskach kontenerowych.
Nowe przestrzenie nazw GroupDocs.Redaction.Options.Drawing udostępniają typy Color, Point, Size, Rectangle, Font i FontStyle do użycia w publicznym API. Nowe przeciążenia przyjmują te typy w ReplacementOptions, RegionReplacementOptions, ImageAreaRedaction, PageAreaFilter, TextFragment oraz powiązanych klasach.
Istniejący kod korzystający z System.Drawing nadal się kompiluje i działa. Odpowiednie członki są oznaczone jako przestarzałe i powinny być migrowane do nowych typów w przyszłych aktualizacjach.
Zmiany w publicznym API
Dodano
- właściwość
LoadOptions.FileType - konstruktor
LoadOptions(FileType fileType) - typy rysowania w
GroupDocs.Redaction.Options.Drawing:Color,Point,Size,Rectangle,Font,FontStyle - nowe przeciążenia przyjmujące typy z
GroupDocs.Redaction.Options.Drawing
Przestarzałe
ReplacementOptions.BoxColor— użyjReplacementOptions.BoxFillColorzamiastReplacementOptions(System.Drawing.Color)— użyjReplacementOptions(GroupDocs.Redaction.Options.Drawing.Color)zamiastRegionReplacementOptions.FillColor— użyjRegionReplacementOptions.AreaFillColorzamiastRegionReplacementOptions.Size— użyjRegionReplacementOptions.AreaSizezamiastRegionReplacementOptions(System.Drawing.Color, System.Drawing.Size)— użyj przeciążenia zGroupDocs.Redaction.Options.Drawing.ColoriGroupDocs.Redaction.Options.Drawing.SizezamiastRegionReplacementOptions(System.Drawing.Color, System.Drawing.Font, string)— użyj przeciążenia zGroupDocs.Redaction.Options.Drawing.ColoriGroupDocs.Redaction.Options.Drawing.FontzamiastImageAreaRedaction.TopLeft— użyjImageAreaRedaction.TopLeftPositionzamiastImageAreaRedaction(System.Drawing.Point, RegionReplacementOptions)— użyj przeciążenia zGroupDocs.Redaction.Options.Drawing.PointzamiastPageAreaFilter.Rectangle— użyjPageAreaFilter.AreaRectanglezamiastPageAreaFilter(System.Drawing.Point, System.Drawing.Size)— użyj przeciążenia zGroupDocs.Redaction.Options.Drawing.PointiGroupDocs.Redaction.Options.Drawing.SizezamiastTextFragment.Rectangle— użyjTextFragment.BoundingRectanglezamiastTextFragment(string, System.Drawing.Rectangle)— użyjTextFragment(string, GroupDocs.Redaction.Options.Drawing.Rectangle)zamiastIImageFormatInstance.EditArea(System.Drawing.Point, RegionReplacementOptions)— użyj przeciążenia zGroupDocs.Redaction.Options.Drawing.Pointzamiast
Przykłady kodu
Otwórz dokument z wyraźnym typem pliku
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();
}
Użyj GroupDocs.Redaction.Options.Drawing zamiast System.Drawing
using GroupDocs.Redaction.Options.Drawing;
using GroupDocs.Redaction.Redactions;
// Poprzednio: 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();
}
// Poprzednio: 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();
}
Jak uzyskać aktualizację
- NuGet – Zaktualizuj do najnowszego pakietu
GroupDocs.Redaction for .NETpoprzez NuGet - Direct Download – Pobierz zest