GroupDocs.Redaction for .NET 26.6 ist jetzt verfügbar. Dieses Release erleichtert das Öffnen von Dokumenten aus Streams und Dateien mit einem expliziten Format und führt eine neue Zeichen‑API ein, die unabhängig von System.Drawing ist, um die plattformübergreifende Kompatibilität zu verbessern.

Fehlerbehebungen und Verbesserungen

  • [Enhancement] Dateityp beim Öffnen eines Dokuments aus einem Stream oder Dateipfad angeben. (REDACTIONNET-572)
  • [Enhancement] Migration von System.Drawing, um die plattformübergreifende Kompatibilität zu erhöhen. (REDACTIONNET-799)

Was ist neu?

Dieses Release konzentriert sich auf zwei Bereiche, die die Integration vereinfachen und die API für eine breitere Plattformunterstützung vorbereiten.

Dokumentformat mit LoadOptions.FileType angeben

Wenn Sie ein Dokument öffnen, erkennt GroupDocs.Redaction normalerweise dessen Format automatisch. Das funktioniert gut für Dateien mit korrekter Erweiterung, kann jedoch bei Streams ohne Dateinamen oder wenn die Erweiterung nicht zum tatsächlichen Inhalt passt, fehlschlagen.

Version 26.6 fügt die Eigenschaft LoadOptions.FileType und einen Konstruktor LoadOptions(FileType) hinzu. Setzen Sie FileType auf eine unterstützte Konstante wie FileType.DOCX oder FileType.PDF, und die Bibliothek öffnet das Dokument mit diesem Format, ohne die binäre Format­erkennung auszuführen. Das Standardverhalten bleibt unverändert, wenn FileType nicht angegeben oder FileType.Unknown bleibt.

Plattformübergreifende Zeichentypen in GroupDocs.Redaction.Options.Drawing

Mehrere Redaktionsoptionen basierten bisher auf System.Drawing‑Typen (Color, Point, Size, Rectangle, Font). Diese Typen sind nicht auf allen Plattformen verfügbar und können die Bereitstellung unter Linux und in containerisierten Umgebungen erschweren.

Der neue Namespace GroupDocs.Redaction.Options.Drawing stellt die Typen Color, Point, Size, Rectangle, Font und FontStyle für die öffentliche API bereit. Neue Überladungen akzeptieren diese Typen in ReplacementOptions, RegionReplacementOptions, ImageAreaRedaction, PageAreaFilter, TextFragment und verwandten Klassen.

Bestehender Code, der System.Drawing verwendet, lässt sich weiterhin kompilieren und ausführen. Die entsprechenden Mitglieder sind als veraltet markiert und sollten in zukünftigen Updates auf die neuen Typen migriert werden.

Änderungen an der öffentlichen API

Hinzugefügt

  • Eigenschaft LoadOptions.FileType
  • Konstruktor LoadOptions(FileType fileType)
  • Zeichentypen im Namespace GroupDocs.Redaction.Options.Drawing: Color, Point, Size, Rectangle, Font, FontStyle
  • Neue Überladungen, die GroupDocs.Redaction.Options.Drawing‑Typen akzeptieren

Veraltet

  • ReplacementOptions.BoxColor — stattdessen ReplacementOptions.BoxFillColor verwenden
  • ReplacementOptions(System.Drawing.Color) — stattdessen ReplacementOptions(GroupDocs.Redaction.Options.Drawing.Color) verwenden
  • RegionReplacementOptions.FillColor — stattdessen RegionReplacementOptions.AreaFillColor verwenden
  • RegionReplacementOptions.Size — stattdessen RegionReplacementOptions.AreaSize verwenden
  • RegionReplacementOptions(System.Drawing.Color, System.Drawing.Size) — stattdessen die Überladung mit GroupDocs.Redaction.Options.Drawing.Color und GroupDocs.Redaction.Options.Drawing.Size verwenden
  • RegionReplacementOptions(System.Drawing.Color, System.Drawing.Font, string) — stattdessen die Überladung mit GroupDocs.Redaction.Options.Drawing.Color und GroupDocs.Redaction.Options.Drawing.Font verwenden
  • ImageAreaRedaction.TopLeft — stattdessen ImageAreaRedaction.TopLeftPosition verwenden
  • ImageAreaRedaction(System.Drawing.Point, RegionReplacementOptions) — stattdessen die Überladung mit GroupDocs.Redaction.Options.Drawing.Point verwenden
  • PageAreaFilter.Rectangle — stattdessen PageAreaFilter.AreaRectangle verwenden
  • PageAreaFilter(System.Drawing.Point, System.Drawing.Size) — stattdessen die Überladung mit GroupDocs.Redaction.Options.Drawing.Point und GroupDocs.Redaction.Options.Drawing.Size verwenden
  • TextFragment.Rectangle — stattdessen TextFragment.BoundingRectangle verwenden
  • TextFragment(string, System.Drawing.Rectangle) — stattdessen TextFragment(string, GroupDocs.Redaction.Options.Drawing.Rectangle) verwenden
  • IImageFormatInstance.EditArea(System.Drawing.Point, RegionReplacementOptions) — stattdessen die Überladung mit GroupDocs.Redaction.Options.Drawing.Point verwenden

Code‑Beispiele

Dokument mit explizitem Dateityp öffnen

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 anstelle von System.Drawing verwenden

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

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

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

So erhalten Sie das Update

  • NuGet – Aktualisieren Sie das neueste GroupDocs.Redaction for .NET‑Paket über NuGet
  • Direkter Download – Laden Sie die GroupDocs.Redaction‑Assemblies von der Seite GroupDocs.Redaction for .NET 26.6 herunter

Weitere Informationen