GroupDocs.Redaction for .NET 26.6 je nyní k dispozici. Toto vydání usnadňuje otevírání dokumentů ze streamů a souborů s explicitním formátem a zavádí nové API pro kreslení, které je nezávislé na System.Drawing, aby se zlepšila kompatibilita napříč platformami.

Opravy a vylepšení

  • [Vylepšení] Specifikovat typ souboru při otevírání dokumentu ze streamu nebo cesty k souboru. (REDACTIONNET-572)
  • [Vylepšení] Přechod od System.Drawing pro zvýšení kompatibility napříč platformami. (REDACTIONNET-799)

Co je nového?

Toto vydání se zaměřuje na dvě oblasti, které zjednodušují integraci a připravují API na širší podporu platforem.

Specifikace formátu dokumentu pomocí LoadOptions.FileType

Když otevřete dokument, GroupDocs.Redaction obvykle automaticky detekuje jeho formát. To funguje dobře u souborů se správnou příponou, ale může selhat u streamů bez názvu souboru nebo když přípona neodpovídá skutečnému obsahu.

Verze 26.6 přidává vlastnost LoadOptions.FileType a konstruktor LoadOptions(FileType). Nastavte FileType na podporovanou konstantu, například FileType.DOCX nebo FileType.PDF, a knihovna otevře dokument s tímto formátem, aniž by prováděla binární detekci formátu. Výchozí chování zůstává nezměněno, pokud není FileType specifikován nebo zůstane FileType.Unknown.

Kreslicí typy napříč platformami v GroupDocs.Redaction.Options.Drawing

Několik možností redakce dříve spoléhalo na typy System.Drawing (Color, Point, Size, Rectangle, Font). Tyto typy nejsou dostupné na všech platformách a mohou komplikovat nasazení na Linuxu a v kontejnerizovaných prostředích.

Nový prostor názvů GroupDocs.Redaction.Options.Drawing poskytuje typy Color, Point, Size, Rectangle, Font a FontStyle pro použití ve veřejném API. Nové přetížení přijímají tyto typy v ReplacementOptions, RegionReplacementOptions, ImageAreaRedaction, PageAreaFilter, TextFragment a souvisejících třídách.

Existující kód, který používá System.Drawing, i nadále kompiluje a běží. Příslušné členy jsou označeny jako zastaralé a měly by být v budoucích aktualizacích migrovány na nové typy.

Změny veřejného API

Přidáno

  • vlastnost LoadOptions.FileType
  • konstruktor LoadOptions(FileType fileType)
  • kreslicí typy v GroupDocs.Redaction.Options.Drawing: Color, Point, Size, Rectangle, Font, FontStyle
  • nová přetížení, která přijímají typy z GroupDocs.Redaction.Options.Drawing

Zastaralé

  • ReplacementOptions.BoxColor — místo toho použijte ReplacementOptions.BoxFillColor
  • ReplacementOptions(System.Drawing.Color) — místo toho použijte ReplacementOptions(GroupDocs.Redaction.Options.Drawing.Color)
  • RegionReplacementOptions.FillColor — místo toho použijte RegionReplacementOptions.AreaFillColor
  • RegionReplacementOptions.Size — místo toho použijte RegionReplacementOptions.AreaSize
  • RegionReplacementOptions(System.Drawing.Color, System.Drawing.Size) — místo toho použijte přetížení s GroupDocs.Redaction.Options.Drawing.Color a GroupDocs.Redaction.Options.Drawing.Size
  • RegionReplacementOptions(System.Drawing.Color, System.Drawing.Font, string) — místo toho použijte přetížení s GroupDocs.Redaction.Options.Drawing.Color a GroupDocs.Redaction.Options.Drawing.Font
  • ImageAreaRedaction.TopLeft — místo toho použijte ImageAreaRedaction.TopLeftPosition
  • ImageAreaRedaction(System.Drawing.Point, RegionReplacementOptions) — místo toho použijte přetížení s GroupDocs.Redaction.Options.Drawing.Point
  • PageAreaFilter.Rectangle — místo toho použijte PageAreaFilter.AreaRectangle
  • PageAreaFilter(System.Drawing.Point, System.Drawing.Size) — místo toho použijte přetížení s GroupDocs.Redaction.Options.Drawing.Point a GroupDocs.Redaction.Options.Drawing.Size
  • TextFragment.Rectangle — místo toho použijte TextFragment.BoundingRectangle
  • TextFragment(string, System.Drawing.Rectangle) — místo toho použijte TextFragment(string, GroupDocs.Redaction.Options.Drawing.Rectangle)
  • IImageFormatInstance.EditArea(System.Drawing.Point, RegionReplacementOptions) — místo toho použijte přetížení s GroupDocs.Redaction.Options.Drawing.Point

Příklady kódu

Otevření dokumentu s explicitním typem souboru

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();
}

Použití GroupDocs.Redaction.Options.Drawing místo System.Drawing

using GroupDocs.Redaction.Options.Drawing;
using GroupDocs.Redaction.Redactions;

// Dříve: 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();
}

// Dříve: 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 získat aktualizaci

  • NuGet – Aktualizujte na nejnovější balíček GroupDocs.Redaction for .NET přes NuGet
  • Přímé stažení – Stáhněte si sestavení GroupDocs.Redaction ze stránky GroupDocs.Redaction for .NET 26.6

Další informace