Introdução

Aspose.Words FOSS for .NET está agora disponível: uma biblioteca .NET gratuita e de código aberto para criar, ler e editar documentos Word em C# puro, sem necessidade de instalação do Microsoft Word. Destina-se a desenvolvedores que precisam gerar relatórios e cartas a partir de modelos, ler e reestruturar conteúdo de arquivos .docx existentes, ou converter documentos Word para Markdown ou texto simples como parte de um pipeline de processamento, sem licenciar um SDK comercial para isso.

A biblioteca é lançada sob a licença MIT e não tem dependências nativas — tudo roda em código gerenciado. Ela tem como alvo o .NET Standard 2.0, portanto funciona no .NET Framework 4.6.2+ e no .NET 6, 8 e 10, em Windows, Linux e macOS. Instale-a via NuGet ou compile a biblioteca a partir do código-fonte com um único comando dotnet build (veja o Guia Rápido abaixo).

O que diferencia isso de uma biblioteca de documentos open-source típica é que não se trata de uma reescrita ou de um wrapper. Aspose.Words FOSS para .NET é a verdadeira base de código Aspose.Words — o mesmo motor de documentos que processa arquivos Word em produção desde 2003 — reduzido a um núcleo gratuito e licenciado sob MIT. Desenvolvedores que superam esta edição e precisam de layout de página, renderização ou dos conversores de formato adicionais podem migrar para o comercial Aspose.Words para .NET sem reescrever seu código, pois é o mesmo API subjacente.


Principais Recursos

Criação e Edição de Documentos

Crie documentos do zero com new Document() e o DocumentBuilder de alto nível, ou abra arquivos .docx existentes com new Document(fileName). DocumentBuilder oferece métodos de autoria sequenciais como Write(), Writeln(), InsertParagraph() e InsertBreak(), juntamente com propriedades de formatação (Font, ParagraphFormat, PageSetup) que se aplicam ao conteúdo à medida que ele é inserido. Para acesso de nível mais baixo, percorra a árvore do documento diretamente através dos nós Section, Paragraph, Run e Table, ou crie uma subclasse de DocumentVisitor para processar cada tipo de nó em uma única passagem.

Tabelas e Listas

As tabelas são construídas a partir dos nós Table, Row e Cell. Table.SetBorders(), Table.SetShading() e Table.AutoFit() formatam uma tabela inteira de uma vez, enquanto Table.Rows e o acesso por linha Cell oferecem controle mais fino. Listas numeradas e com marcadores passam por ListCollection e ListFormat: aplique um estilo interno com ListFormat.ApplyBulletDefault() ou ApplyNumberDefault(), ou registre uma definição de lista personalizada com ListCollection.Add().

Controle de Alterações e Proteção de Documentos

Chame Document.StartTrackRevisions() antes de editar para registrar inserções, exclusões e alterações de formatação, depois inspecione, aceite ou rejeite-as através de RevisionCollection (AcceptAll(), RejectAll(), Accept(criteria), Reject(criteria)), ou aceite tudo de uma vez com Document.AcceptAllRevisions(). Document.Protect() aplica proteção por senha ou imposição de somente leitura usando o enum DocumentSecurity (ReadOnlyEnforced, ReadOnlyRecommended, PasswordProtected e valores relacionados), e Document.Unprotect() reverte isso.

Campos, Macros e Assinaturas Digitais

O mecanismo de avaliação de campos atualiza campos como FieldDate (o campo DATE) e FieldDocProperty (o campo DOCPROPERTY) no local através de Document.UpdateFields() — campos que dependem do layout da página, como números de página, avaliam para valores de placeholder, pois o layout da página não faz parte desta edição. Arquivos DOCM e DOTM mantêm seus projetos VBA intactos. Assinaturas digitais existentes podem ser inspecionadas através de DigitalSignatureCollection e DigitalSignature (IsValid, SubjectName, IssuerName, SignTime) para confirmar se um documento está assinado e não foi adulterado; criar novas assinaturas não faz parte desta edição.

Gráficos

Inserir um gráfico em um documento com DocumentBuilder.InsertChart(), então configure suas séries de dados através do objeto Chart retornado.

using Aspose.Words;
using Aspose.Words.Drawing.Charts;

Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);

Shape shape = builder.InsertChart(ChartType.Line, 432, 252);
Chart chart = shape.Chart;

// Delete default generated series.
chart.Series.Clear();

string[] categories = new string[] { "AW Category 1", "AW Category 2", "AW Category 3" };
chart.Series.Add("AW Series 1", categories, new double[] { 4.3, 2.5, 3.5 });

doc.Save("chart.docx");

Início rápido

Aspose.Words FOSS para .NET está disponível via NuGet:

dotnet add package Aspose.Words.FOSS

Para compilar a partir do código-fonte:

git clone https://github.com/aspose-words-foss/Aspose.Words-FOSS-for-.NET.git
cd Aspose.Words-FOSS-for-.NET
dotnet build Aspose.Words.sln -c Release

Em seguida, adicione uma referência de projeto a Aspose.Words.csproj a partir da sua aplicação. Com a referência em vigor, crie um documento com um gráfico e salve-o como DOCX:

using Aspose.Words;
using Aspose.Words.Drawing.Charts;

Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);

Shape shape = builder.InsertChart(ChartType.Line, 432, 252);
Chart chart = shape.Chart;

// Delete default generated series.
chart.Series.Clear();

string[] categories = new string[] { "AW Category 1", "AW Category 2", "AW Category 3" };
chart.Series.Add("AW Series 1", categories, new double[] { 4.3, 2.5, 3.5 });

doc.Save("chart.docx");
Console.WriteLine("Saved chart.docx");

Formatos suportados

FormatoExtensãoLerEscrever
DOCX.docx
DOCM.docm
DOTX.dotx
DOTM.dotm
Flat OPC (todas as variantes)(vários)
Markdown.md
Text.txt

Esta edição exclui intencionalmente o layout de página e a renderização — sem PDF, XPS ou exportação de imagem, e sem impressão, o que também significa que valores de campo dependentes do layout, como números de página, são avaliados como marcadores de posição em vez de serem calculados. Os conversores de formato adicionais (DOC, RTF, ODT, HTML, EPUB, MHTML, MOBI, AZW3 e WordML) não são lidos nem gravados, e a execução de mala direta, LINQ Reporting, comparação de documentos, criação de novas assinaturas digitais e subconfiguração de fontes incorporadas não estão incluídos. Estes são os mesmos subsistemas removidos do código comercial para manter esta edição gratuita.


Código aberto e licenciamento

Aspose.Words FOSS para .NET é lançado sob a licença MIT, gratuito tanto para uso comercial quanto pessoal, sem royalties ou restrições de redistribuição. O código-fonte completo está disponível em GitHub no Aspose.Words FOSS para .NET repositório.


Introdução

Recursos Relacionados