GroupDocs.Redaction for .NET 26.6 est maintenant disponible. Cette version facilite l’ouverture de documents à partir de flux et de fichiers avec un format explicite, et introduit une nouvelle API de dessin indépendante de System.Drawing pour améliorer la compatibilité multiplateforme.

Corrections et améliorations

  • [Enhancement] Spécifier le type de fichier lors de l’ouverture d’un document depuis un flux ou un chemin de fichier. (REDACTIONNET-572)
  • [Enhancement] Migrer loin de System.Drawing pour améliorer la compatibilité multiplateforme. (REDACTIONNET-799)

Quoi de neuf ?

Cette version se concentre sur deux domaines qui simplifient l’intégration et préparent l’API à un support plus large des plateformes.

Spécifier le format du document avec LoadOptions.FileType

Lorsque vous ouvrez un document, GroupDocs.Redaction détecte normalement son format automatiquement. Cela fonctionne bien pour les fichiers avec une extension correcte, mais cela peut échouer pour les flux sans nom de fichier ou lorsque l’extension ne correspond pas au contenu réel.

La version 26.6 ajoute la propriété LoadOptions.FileType et un constructeur LoadOptions(FileType). Définissez FileType sur une constante prise en charge telle que FileType.DOCX ou FileType.PDF, et la bibliothèque ouvrira le document en utilisant ce format sans exécuter la détection binaire du format. Le comportement par défaut reste inchangé lorsque FileType n’est pas spécifié ou reste FileType.Unknown.

Types de dessin multiplateforme dans GroupDocs.Redaction.Options.Drawing

Plusieurs options de rédaction s’appuyaient auparavant sur les types System.Drawing (Color, Point, Size, Rectangle, Font). Ces types ne sont pas disponibles sur toutes les plateformes et peuvent compliquer le déploiement sous Linux et dans les environnements conteneurisés.

Le nouvel espace de noms GroupDocs.Redaction.Options.Drawing fournit les types Color, Point, Size, Rectangle, Font et FontStyle à utiliser dans l’API publique. De nouvelles surcharges acceptent ces types dans ReplacementOptions, RegionReplacementOptions, ImageAreaRedaction, PageAreaFilter, TextFragment et les classes associées.

Le code existant qui utilise System.Drawing continue de se compiler et de s’exécuter. Les membres correspondants sont marqués comme obsolètes et devront être migrés vers les nouveaux types dans les futures mises à jour.

Modifications de l’API publique

Ajouté

  • Propriété LoadOptions.FileType
  • Constructeur LoadOptions(FileType fileType)
  • Types de dessin dans GroupDocs.Redaction.Options.Drawing : Color, Point, Size, Rectangle, Font, FontStyle
  • Nouvelles surcharges qui acceptent les types GroupDocs.Redaction.Options.Drawing

Obsolète

  • ReplacementOptions.BoxColor — utilisez ReplacementOptions.BoxFillColor à la place
  • ReplacementOptions(System.Drawing.Color) — utilisez ReplacementOptions(GroupDocs.Redaction.Options.Drawing.Color) à la place
  • RegionReplacementOptions.FillColor — utilisez RegionReplacementOptions.AreaFillColor à la place
  • RegionReplacementOptions.Size — utilisez RegionReplacementOptions.AreaSize à la place
  • RegionReplacementOptions(System.Drawing.Color, System.Drawing.Size) — utilisez la surcharge avec GroupDocs.Redaction.Options.Drawing.Color et GroupDocs.Redaction.Options.Drawing.Size à la place
  • RegionReplacementOptions(System.Drawing.Color, System.Drawing.Font, string) — utilisez la surcharge avec GroupDocs.Redaction.Options.Drawing.Color et GroupDocs.Redaction.Options.Drawing.Font à la place
  • ImageAreaRedaction.TopLeft — utilisez ImageAreaRedaction.TopLeftPosition à la place
  • ImageAreaRedaction(System.Drawing.Point, RegionReplacementOptions) — utilisez la surcharge avec GroupDocs.Redaction.Options.Drawing.Point à la place
  • PageAreaFilter.Rectangle — utilisez PageAreaFilter.AreaRectangle à la place
  • PageAreaFilter(System.Drawing.Point, System.Drawing.Size) — utilisez la surcharge avec GroupDocs.Redaction.Options.Drawing.Point et GroupDocs.Redaction.Options.Drawing.Size à la place
  • TextFragment.Rectangle — utilisez TextFragment.BoundingRectangle à la place
  • TextFragment(string, System.Drawing.Rectangle) — utilisez TextFragment(string, GroupDocs.Redaction.Options.Drawing.Rectangle) à la place
  • IImageFormatInstance.EditArea(System.Drawing.Point, RegionReplacementOptions) — utilisez la surcharge avec GroupDocs.Redaction.Options.Drawing.Point à la place

Exemples de code

Ouvrir un document avec un type de fichier explicite

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

Utiliser GroupDocs.Redaction.Options.Drawing à la place de System.Drawing

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

Comment obtenir la mise à jour

  • NuGet – Mettez à jour vers le dernier package GroupDocs.Redaction for .NET via NuGet
  • Téléchargement direct – Téléchargez les assemblages GroupDocs.Redaction depuis la page GroupDocs.Redaction for .NET 26.6

En savoir plus