GroupDocs.Redaction for .NET 26.6 está agora disponível. Esta versão facilita a abertura de documentos a partir de streams e arquivos com um formato explícito, e introduz uma nova API de desenho independente do System.Drawing para melhorar a compatibilidade multiplataforma.

Correções e aprimoramentos

  • [Enhancement] Especificar o tipo de arquivo ao abrir um documento a partir de um stream ou caminho de arquivo. (REDACTIONNET-572)
  • [Enhancement] Migrar do System.Drawing para melhorar a compatibilidade multiplataforma. (REDACTIONNET-799)

Novidades?

Esta versão foca em duas áreas que simplificam a integração e preparam a API para suporte a mais plataformas.

Especifique o formato do documento com LoadOptions.FileType

Ao abrir um documento, o GroupDocs.Redaction normalmente detecta seu formato automaticamente. Isso funciona bem para arquivos com extensão correta, mas pode falhar para streams sem nome de arquivo ou quando a extensão não corresponde ao conteúdo real.

A versão 26.6 adiciona a propriedade LoadOptions.FileType e um construtor LoadOptions(FileType). Defina FileType para uma constante suportada, como FileType.DOCX ou FileType.PDF, e a biblioteca abrirá o documento usando esse formato sem executar a detecção binária de formato. O comportamento padrão permanece inalterado quando FileType não é especificado ou permanece FileType.Unknown.

Tipos de desenho multiplataforma em GroupDocs.Redaction.Options.Drawing

Várias opções de redação anteriormente dependiam de tipos do System.Drawing (Color, Point, Size, Rectangle, Font). Esses tipos não estão disponíveis em todas as plataformas e podem complicar a implantação em Linux e ambientes conteinerizados.

O novo namespace GroupDocs.Redaction.Options.Drawing fornece os tipos Color, Point, Size, Rectangle, Font e FontStyle para uso na API pública. Novas sobrecargas aceitam esses tipos em ReplacementOptions, RegionReplacementOptions, ImageAreaRedaction, PageAreaFilter, TextFragment e classes relacionadas.

O código existente que usa System.Drawing continua a compilar e a ser executado. Os membros correspondentes são marcados como obsoletos e devem ser migrados para os novos tipos em atualizações futuras.

Alterações na API pública

Adicionados

  • Propriedade LoadOptions.FileType
  • Construtor LoadOptions(FileType fileType)
  • Tipos de desenho em GroupDocs.Redaction.Options.Drawing: Color, Point, Size, Rectangle, Font, FontStyle
  • Novas sobrecargas que aceitam tipos de GroupDocs.Redaction.Options.Drawing

Obsoletos

  • ReplacementOptions.BoxColor — use ReplacementOptions.BoxFillColor em vez disso
  • ReplacementOptions(System.Drawing.Color) — use ReplacementOptions(GroupDocs.Redaction.Options.Drawing.Color) em vez disso
  • RegionReplacementOptions.FillColor — use RegionReplacementOptions.AreaFillColor em vez disso
  • RegionReplacementOptions.Size — use RegionReplacementOptions.AreaSize em vez disso
  • RegionReplacementOptions(System.Drawing.Color, System.Drawing.Size) — use a sobrecarga com GroupDocs.Redaction.Options.Drawing.Color e GroupDocs.Redaction.Options.Drawing.Size em vez disso
  • RegionReplacementOptions(System.Drawing.Color, System.Drawing.Font, string) — use a sobrecarga com GroupDocs.Redaction.Options.Drawing.Color e GroupDocs.Redaction.Options.Drawing.Font em vez disso
  • ImageAreaRedaction.TopLeft — use ImageAreaRedaction.TopLeftPosition em vez disso
  • ImageAreaRedaction(System.Drawing.Point, RegionReplacementOptions) — use a sobrecarga com GroupDocs.Redaction.Options.Drawing.Point em vez disso
  • PageAreaFilter.Rectangle — use PageAreaFilter.AreaRectangle em vez disso
  • PageAreaFilter(System.Drawing.Point, System.Drawing.Size) — use a sobrecarga com GroupDocs.Redaction.Options.Drawing.Point e GroupDocs.Redaction.Options.Drawing.Size em vez disso
  • TextFragment.Rectangle — use TextFragment.BoundingRectangle em vez disso
  • TextFragment(string, System.Drawing.Rectangle) — use TextFragment(string, GroupDocs.Redaction.Options.Drawing.Rectangle) em vez disso
  • IImageFormatInstance.EditArea(System.Drawing.Point, RegionReplacementOptions) — use a sobrecarga com GroupDocs.Redaction.Options.Drawing.Point em vez disso

Exemplos de código

Abrir um documento com tipo de arquivo 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 em vez 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();
}

Como obter a atualização

  • NuGet – Atualize para o pacote mais recente GroupDocs.Redaction for .NET via NuGet
  • Download direto – Baixe os assemblies do GroupDocs.Redaction na página GroupDocs.Redaction for .NET 26.6

Saiba mais