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.Drawingpara 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— useReplacementOptions.BoxFillColorem vez dissoReplacementOptions(System.Drawing.Color)— useReplacementOptions(GroupDocs.Redaction.Options.Drawing.Color)em vez dissoRegionReplacementOptions.FillColor— useRegionReplacementOptions.AreaFillColorem vez dissoRegionReplacementOptions.Size— useRegionReplacementOptions.AreaSizeem vez dissoRegionReplacementOptions(System.Drawing.Color, System.Drawing.Size)— use a sobrecarga comGroupDocs.Redaction.Options.Drawing.ColoreGroupDocs.Redaction.Options.Drawing.Sizeem vez dissoRegionReplacementOptions(System.Drawing.Color, System.Drawing.Font, string)— use a sobrecarga comGroupDocs.Redaction.Options.Drawing.ColoreGroupDocs.Redaction.Options.Drawing.Fontem vez dissoImageAreaRedaction.TopLeft— useImageAreaRedaction.TopLeftPositionem vez dissoImageAreaRedaction(System.Drawing.Point, RegionReplacementOptions)— use a sobrecarga comGroupDocs.Redaction.Options.Drawing.Pointem vez dissoPageAreaFilter.Rectangle— usePageAreaFilter.AreaRectangleem vez dissoPageAreaFilter(System.Drawing.Point, System.Drawing.Size)— use a sobrecarga comGroupDocs.Redaction.Options.Drawing.PointeGroupDocs.Redaction.Options.Drawing.Sizeem vez dissoTextFragment.Rectangle— useTextFragment.BoundingRectangleem vez dissoTextFragment(string, System.Drawing.Rectangle)— useTextFragment(string, GroupDocs.Redaction.Options.Drawing.Rectangle)em vez dissoIImageFormatInstance.EditArea(System.Drawing.Point, RegionReplacementOptions)— use a sobrecarga comGroupDocs.Redaction.Options.Drawing.Pointem 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 .NETvia NuGet - Download direto – Baixe os assemblies do GroupDocs.Redaction na página GroupDocs.Redaction for .NET 26.6
Saiba mais
- Full Release Notes
- Documentation
- Load document with explicit file type
- GroupDocs.Redaction Free Support Forum