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.Drawing para 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 — use ReplacementOptions.BoxFillColor en su lugar
  • ReplacementOptions(System.Drawing.Color) — use ReplacementOptions(GroupDocs.Redaction.Options.Drawing.Color) en su lugar
  • RegionReplacementOptions.FillColor — use RegionReplacementOptions.AreaFillColor en su lugar
  • RegionReplacementOptions.Size — use RegionReplacementOptions.AreaSize en su lugar
  • RegionReplacementOptions(System.Drawing.Color, System.Drawing.Size) — use la sobrecarga con GroupDocs.Redaction.Options.Drawing.Color y GroupDocs.Redaction.Options.Drawing.Size en su lugar
  • RegionReplacementOptions(System.Drawing.Color, System.Drawing.Font, string) — use la sobrecarga con GroupDocs.Redaction.Options.Drawing.Color y GroupDocs.Redaction.Options.Drawing.Font en su lugar
  • ImageAreaRedaction.TopLeft — use ImageAreaRedaction.TopLeftPosition en su lugar
  • ImageAreaRedaction(System.Drawing.Point, RegionReplacementOptions) — use la sobrecarga con GroupDocs.Redaction.Options.Drawing.Point en su lugar
  • PageAreaFilter.Rectangle — use PageAreaFilter.AreaRectangle en su lugar
  • PageAreaFilter(System.Drawing.Point, System.Drawing.Size) — use la sobrecarga con GroupDocs.Redaction.Options.Drawing.Point y GroupDocs.Redaction.Options.Drawing.Size en su lugar
  • TextFragment.Rectangle — use TextFragment.BoundingRectangle en su lugar
  • TextFragment(string, System.Drawing.Rectangle) — use TextFragment(string, GroupDocs.Redaction.Options.Drawing.Rectangle) en su lugar
  • IImageFormatInstance.EditArea(System.Drawing.Point, RegionReplacementOptions) — use la sobrecarga con GroupDocs.Redaction.Options.Drawing.Point en 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 .NET a 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