Conversor de Documentos Aspose.Words para .NET
Aspose.Words Document Converter para .NET é uma API leve, de alto desempenho focada na conversão de formato para formato. Ele suporta cenários comuns como Word → PDF, HTML → pdf, DOCX ↔ ODT , DOCX → Markdown PDF → imagens (JPG/PNG/TIFF) e dezenas de mais – sem exigir o Microsoft Office.
Instalação e Setup
- Instale o pacote NuGet
Aspose.Words
(Core API potencia conversões). - Aplique uma licença medida na startup para evitar limites de avaliação: ver Licenciamento Ponderado .
- Revisão dos requisitos estruturais na Guia de instalação .
Plataformas suportadas
- OS: Windows, Linux e MacOS
- Frameworks: .NET Frames 4.x, .Net Standard 2.0 , .net Core 2.0–3.1, .NET 5/6/7+, Mono
- IDEs: Visual Studio 2017–2022, JetBrains Rider, MonoDevelop
Início rápido
1) Word → PDF (uma linha)
using Aspose.Words;
var doc = new Document("input.docx");
doc.Save("output.pdf");
2) HTML → PDF com opções
using Aspose.Words;
using Aspose.Words.Saving;
var doc = new Document("input.html");
var pdf = new PdfSaveOptions
{
Compliance = PdfCompliance.PdfA1b, // archival
EmbedFullFonts = false, // reduce size
OptimizationOptions = { ImageCompression = PdfImageCompression.Jpeg }
};
doc.Save("output.pdf", pdf);
3 – DOCX e Markdown
using Aspose.Words;
using Aspose.Words.Saving;
var doc = new Document("spec.docx");
var md = new MarkdownSaveOptions
{
TableContentAlignment = MarkdownTableContentAlignment.Auto,
ListExportMode = MarkdownListExportMode.PlainText
};
doc.Save("spec.md", md);
4) PDF → imagens (por página)
using Aspose.Words;
using Aspose.Words.Saving;
var pdfDoc = new Document("report.pdf");
var img = new ImageSaveOptions(SaveFormat.Png) { Resolution = 200 };
for (int page = 0; page < pdfDoc.PageCount; page++)
{
img.PageSet = new PageSet(page);
pdfDoc.Save($"report_page_{page + 1}.png", img);
}
5 – Stream → streaming (web/serviço)
using (var input = httpFile.OpenReadStream())
using (var output = new MemoryStream())
{
var doc = new Aspose.Words.Document(input); // auto-detects format
doc.Save(output, SaveFormat.Pdf);
output.Position = 0;
return File(output.ToArray(), "application/pdf", "converted.pdf");
}
Características e Funcionalidade
Cobertura em formato amplo
Input / Output (escolhido):
- Família de palavras: DOC, DOCX, DOT, RTF, WordML (XML)
- Layout fixo: PDF, OTT Página inicial / EPUB/)
A matriz completa alinham-se com as capacidades de Aspose.Words.Se um plugin **File Processor ** e este Converter estiverem presentes, você pode carregar/editar primeiro e depois exportar no formato desejado.
Detecção de formato automático
A API detecta o formato de **títulos de arquivo ** ou conteúdo de fluxo , para que você possa aceitar com segurança uploades arbitrários em serviços da web.
Fine-Tuning com Opções de Salvação
- PDF: PDF/A‐1b/2u, criptografia, bandeiras de permissão, assinaturas digitais, incorporação de fontes, compressão de imagem.
- HTML/MHTML: gestão de recursos (embed vs. externo), modo CSS, codificação, formato de imagem e DPI.
- Imagens: DPI, profundidade de cor, compressão, faixa de página, multi-página TIFF.
- Markdown: listas e estilos de cabeçalho, alinhamento de mesa, geração de links.
Layout Fidelidade e Metadados
Preserva fontes, estilos, tabelas, cabeçalhos/fotos, marcadores de água, comentários, pausas de seção e propriedades de documento (autor, título, campos personalizados.
Processamento amigável ao servidor
- Stream-first APIs, alocações baixas, buffered I/O.
- Async/batch conversão e paralelização para transmissão.
- Configurável memória e prazos de processamento de página para grandes docs.
Diagnóstico e Resiliência
Exceções claras sobre entradas corrompidas / não suportadas; logging / telemetria para capturar durações, contas de páginas e razões de falha para SLA de rastreamento.
Recetas de conversão popular
- **DOCX → PDF/XPS ** para distribuição e arquivamento (opcionalmente PDF/A).
- HTML → PDF para facturas, declarações e relatórios com página consistente.
- DOCX ↔ ODT para interoperabilidade cross-suite.
- DOCX → Markdown para publicar Docs de Tecnologia.
- PDF → PNG/JPEG/TIFF para gerar antevisões ou detalhes.
- Word/HTML → EPUB para fluxos de trabalho do e-book.
Sugestão: Use **PageSet ** para exportar páginas ou ramos específicos; combine com ImageSaveOptions no que diz respeito a espritos ou miniaturas.
Melhores Práticas
- Licença primeiro : iniciar a licença medida antes de qualquer conversão para evitar a avaliação de marcos de água.
- Preferir fluxos em serviços para excluir o disco I/O e reduzir a latência.
- Validação precoce : inspeça bits mágicos ou tente uma carga seca para falhar rapidamente.
- **Produto de tamanho direito ** : selecione DPI sensível, evite inserir todas as letras, a menos que seja necessário; escolha PDF/A apenas quando a conformidade é necessária.
- Higiene de Recursos : embalagem
Document
e os fluxos emusing
Os blocos. - Concurso : uso de curta vida
Document
instâncias por solicitação; empregar piscinas para opções se necessário. - Observabilidade : contas de páginas de log, durações e conjuntos de opções; etiquetar falhas com IDs de correlação.
FAQ
**Você precisa do Microsoft Office?**Não. É uma API standalone.
**Posso converter sem tocar o sistema de arquivos?**Todas as conversões podem ser Stream → Stream.
**Como posso executar PDF/A?**Sete PdfSaveOptions.Compliance = PdfCompliance.PdfA1b
(ou 2u) antes de economizar.
**Posso proteger passaportes em PDFs?**Configurar a criptografia e as bandeiras de permissão em PdfSaveOptions
.
**É Markdown round-trip seguro?**Os layouts complexos podem ser aproximados. tabelas, listas, cabeçalhos, links e formatação inline são suportados com opções tunáveis.
**Como posso converter páginas específicas?**Utilização PageSet
em ImageSaveOptions
ou FixedPageSaveOptions
‑das classes derivadas.