GroupDocs.Redaction for .NET 26.6 ya está disponible. Esta versión facilita la apertura de documentos desde flujos y archivos con un formato explícito, e introduce una nueva API de dibujo independiente de System.Drawing para mejorar la compatibilidad multiplataforma.
Correcciones y mejoras
- [Mejora] Especificar el tipo de archivo al abrir un documento desde un flujo o ruta de archivo. (REDACTIONNET-572)
- [Mejora] Migrar fuera de
System.Drawingpara mejorar la compatibilidad multiplataforma. (REDACTIONNET-799)
¿Qué hay de nuevo?
Esta versión se centra en dos áreas que simplifican la integración y preparan la API para un soporte de plataforma más amplio.
Especificar el formato del documento con LoadOptions.FileType
Al abrir un documento, GroupDocs.Redaction normalmente detecta su formato automáticamente. Eso funciona bien para archivos con una extensión correcta, pero puede fallar para flujos sin nombre de archivo o cuando la extensión no coincide con el contenido real.
La versión 26.6 agrega la propiedad LoadOptions.FileType y un constructor LoadOptions(FileType). Establezca FileType a una constante compatible, como FileType.DOCX o FileType.PDF, y la biblioteca abrirá el documento usando ese formato sin ejecutar la detección binaria de formato. El comportamiento predeterminado no cambia cuando FileType no se especifica o permanece como FileType.Unknown.
Tipos de dibujo multiplataforma en GroupDocs.Redaction.Options.Drawing
Varias opciones de redacción dependían anteriormente de los tipos de System.Drawing (Color, Point, Size, Rectangle, Font). Estos tipos no están disponibles en todas las plataformas y pueden complicar la implementación en Linux y entornos contenedorizados.
El nuevo espacio de nombres GroupDocs.Redaction.Options.Drawing proporciona los tipos Color, Point, Size, Rectangle, Font y FontStyle para su uso en la API pública. Nuevas sobrecargas aceptan estos tipos en ReplacementOptions, RegionReplacementOptions, ImageAreaRedaction, PageAreaFilter, TextFragment y clases relacionadas.
El código existente que usa System.Drawing sigue compilando y ejecutándose. Los miembros correspondientes se marcan como obsoletos y deberían migrarse a los nuevos tipos en futuras actualizaciones.
Cambios en la API pública
Añadidos
- Propiedad
LoadOptions.FileType - Constructor
LoadOptions(FileType fileType) - Tipos de dibujo en
GroupDocs.Redaction.Options.Drawing:Color,Point,Size,Rectangle,Font,FontStyle - Nuevas sobrecargas que aceptan tipos de
GroupDocs.Redaction.Options.Drawing
Obsoletos
ReplacementOptions.BoxColor— useReplacementOptions.BoxFillColoren su lugarReplacementOptions(System.Drawing.Color)— useReplacementOptions(GroupDocs.Redaction.Options.Drawing.Color)en su lugarRegionReplacementOptions.FillColor— useRegionReplacementOptions.AreaFillColoren su lugarRegionReplacementOptions.Size— useRegionReplacementOptions.AreaSizeen su lugarRegionReplacementOptions(System.Drawing.Color, System.Drawing.Size)— use la sobrecarga conGroupDocs.Redaction.Options.Drawing.ColoryGroupDocs.Redaction.Options.Drawing.Sizeen su lugarRegionReplacementOptions(System.Drawing.Color, System.Drawing.Font, string)— use la sobrecarga conGroupDocs.Redaction.Options.Drawing.ColoryGroupDocs.Redaction.Options.Drawing.Fonten su lugarImageAreaRedaction.TopLeft— useImageAreaRedaction.TopLeftPositionen su lugarImageAreaRedaction(System.Drawing.Point, RegionReplacementOptions)— use la sobrecarga conGroupDocs.Redaction.Options.Drawing.Pointen su lugarPageAreaFilter.Rectangle— usePageAreaFilter.AreaRectangleen su lugarPageAreaFilter(System.Drawing.Point, System.Drawing.Size)— use la sobrecarga conGroupDocs.Redaction.Options.Drawing.PointyGroupDocs.Redaction.Options.Drawing.Sizeen su lugarTextFragment.Rectangle— useTextFragment.BoundingRectangleen su lugarTextFragment(string, System.Drawing.Rectangle)— useTextFragment(string, GroupDocs.Redaction.Options.Drawing.Rectangle)en su lugarIImageFormatInstance.EditArea(System.Drawing.Point, RegionReplacementOptions)— use la sobrecarga conGroupDocs.Redaction.Options.Drawing.Pointen su lugar
Ejemplos de código
Abrir un documento con un tipo de archivo explícito
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();
}
Usar GroupDocs.Redaction.Options.Drawing en lugar de System.Drawing
using GroupDocs.Redaction.Options.Drawing;
using GroupDocs.Redaction.Redactions;
// Anteriormente: 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();
}
// Anteriormente: 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();
}
Cómo obtener la actualización
- NuGet – Actualice al último paquete
GroupDocs.Redaction for .NETa través de NuGet - Descarga directa – Descargue los ensamblados de GroupDocs.Redaction desde la página GroupDocs.Redaction for .NET 26.6
Más información
- Notas completas de la versión
- Documentación
- Cargar documento con tipo de archivo explícito
- GroupDocs.Redaction Free Support Forum