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.Drawing w 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żyj ReplacementOptions.BoxFillColor zamiast
  • ReplacementOptions(System.Drawing.Color) — użyj ReplacementOptions(GroupDocs.Redaction.Options.Drawing.Color) zamiast
  • RegionReplacementOptions.FillColor — użyj RegionReplacementOptions.AreaFillColor zamiast
  • RegionReplacementOptions.Size — użyj RegionReplacementOptions.AreaSize zamiast
  • RegionReplacementOptions(System.Drawing.Color, System.Drawing.Size) — użyj przeciążenia z GroupDocs.Redaction.Options.Drawing.Color i GroupDocs.Redaction.Options.Drawing.Size zamiast
  • RegionReplacementOptions(System.Drawing.Color, System.Drawing.Font, string) — użyj przeciążenia z GroupDocs.Redaction.Options.Drawing.Color i GroupDocs.Redaction.Options.Drawing.Font zamiast
  • ImageAreaRedaction.TopLeft — użyj ImageAreaRedaction.TopLeftPosition zamiast
  • ImageAreaRedaction(System.Drawing.Point, RegionReplacementOptions) — użyj przeciążenia z GroupDocs.Redaction.Options.Drawing.Point zamiast
  • PageAreaFilter.Rectangle — użyj PageAreaFilter.AreaRectangle zamiast
  • PageAreaFilter(System.Drawing.Point, System.Drawing.Size) — użyj przeciążenia z GroupDocs.Redaction.Options.Drawing.Point i GroupDocs.Redaction.Options.Drawing.Size zamiast
  • TextFragment.Rectangle — użyj TextFragment.BoundingRectangle zamiast
  • TextFragment(string, System.Drawing.Rectangle) — użyj TextFragment(string, GroupDocs.Redaction.Options.Drawing.Rectangle) zamiast
  • IImageFormatInstance.EditArea(System.Drawing.Point, RegionReplacementOptions) — użyj przeciążenia z GroupDocs.Redaction.Options.Drawing.Point zamiast

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 .NET poprzez NuGet
  • Direct Download – Pobierz zest