GroupDocs.Redaction for .NET 26.6 è ora disponibile. Questa versione semplifica l’apertura di documenti da stream e file con un formato esplicito e introduce una nuova API di disegno indipendente da System.Drawing per migliorare la compatibilità cross‑platform.
Correzioni e miglioramenti
- [Enhancement] Specificare il tipo di file quando si apre un documento da uno stream o da un percorso file. (REDACTIONNET-572)
- [Enhancement] Migrare da
System.Drawingper migliorare la compatibilità cross‑platform. (REDACTIONNET-799)
Novità
Questa release si concentra su due aree che semplificano l’integrazione e preparano l’API a un supporto più ampio delle piattaforme.
Specificare il formato del documento con LoadOptions.FileType
Quando si apre un documento, GroupDocs.Redaction normalmente ne rileva automaticamente il formato. Questo funziona bene per i file con estensione corretta, ma può fallire per gli stream privi di nome file o quando l’estensione non corrisponde al contenuto reale.
La versione 26.6 aggiunge la proprietà LoadOptions.FileType e un costruttore LoadOptions(FileType). Impostate FileType su una costante supportata, ad esempio FileType.DOCX o FileType.PDF, e la libreria aprirà il documento usando quel formato senza eseguire il rilevamento binario del formato. Il comportamento predefinito rimane invariato quando FileType non è specificato o rimane FileType.Unknown.
Tipi di disegno cross‑platform in GroupDocs.Redaction.Options.Drawing
Diversi parametri di redazione si basavano in precedenza sui tipi di System.Drawing (Color, Point, Size, Rectangle, Font). Questi tipi non sono disponibili su tutte le piattaforme e possono complicare il deployment su Linux e in ambienti containerizzati.
Il nuovo namespace GroupDocs.Redaction.Options.Drawing fornisce i tipi Color, Point, Size, Rectangle, Font e FontStyle da utilizzare nell’API pubblica. I nuovi overload accettano questi tipi in ReplacementOptions, RegionReplacementOptions, ImageAreaRedaction, PageAreaFilter, TextFragment e classi correlate.
Il codice esistente che utilizza System.Drawing continua a compilare ed eseguire. I membri corrispondenti sono contrassegnati come obsoleti e dovrebbero essere migrati ai nuovi tipi negli aggiornamenti futuri.
Modifiche all’API pubblica
Aggiunte
- Proprietà
LoadOptions.FileType - Costruttore
LoadOptions(FileType fileType) - Tipi di disegno in
GroupDocs.Redaction.Options.Drawing:Color,Point,Size,Rectangle,Font,FontStyle - Nuovi overload che accettano i tipi di
GroupDocs.Redaction.Options.Drawing
Obsoleti
ReplacementOptions.BoxColor— usareReplacementOptions.BoxFillColorReplacementOptions(System.Drawing.Color)— usareReplacementOptions(GroupDocs.Redaction.Options.Drawing.Color)RegionReplacementOptions.FillColor— usareRegionReplacementOptions.AreaFillColorRegionReplacementOptions.Size— usareRegionReplacementOptions.AreaSizeRegionReplacementOptions(System.Drawing.Color, System.Drawing.Size)— usare l’overload conGroupDocs.Redaction.Options.Drawing.ColoreGroupDocs.Redaction.Options.Drawing.SizeRegionReplacementOptions(System.Drawing.Color, System.Drawing.Font, string)— usare l’overload conGroupDocs.Redaction.Options.Drawing.ColoreGroupDocs.Redaction.Options.Drawing.FontImageAreaRedaction.TopLeft— usareImageAreaRedaction.TopLeftPositionImageAreaRedaction(System.Drawing.Point, RegionReplacementOptions)— usare l’overload conGroupDocs.Redaction.Options.Drawing.PointPageAreaFilter.Rectangle— usarePageAreaFilter.AreaRectanglePageAreaFilter(System.Drawing.Point, System.Drawing.Size)— usare l’overload conGroupDocs.Redaction.Options.Drawing.PointeGroupDocs.Redaction.Options.Drawing.SizeTextFragment.Rectangle— usareTextFragment.BoundingRectangleTextFragment(string, System.Drawing.Rectangle)— usareTextFragment(string, GroupDocs.Redaction.Options.Drawing.Rectangle)IImageFormatInstance.EditArea(System.Drawing.Point, RegionReplacementOptions)— usare l’overload conGroupDocs.Redaction.Options.Drawing.Point
Esempi di codice
Aprire un documento con un tipo di file esplicito
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();
}
Utilizzare GroupDocs.Redaction.Options.Drawing al posto di System.Drawing
using GroupDocs.Redaction.Options.Drawing;
using GroupDocs.Redaction.Redactions;
// Precedentemente: 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();
}
// Precedentemente: 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();
}
Come ottenere l’aggiornamento
- NuGet – Aggiornare al pacchetto più recente
GroupDocs.Redaction for .NETtramite NuGet - Download diretto – Scaricare gli assembly di GroupDocs.Redaction dalla pagina GroupDocs.Redaction for .NET 26.6
Per saperne di più
- Full Release Notes
- Documentation
- Load document with explicit file type
- GroupDocs.Redaction Free Support Forum