1. Produtos
  2.   Aspose.PDF
  3.   Aspose.PDF FOSS for .NET

Aspose.PDF FOSS para .NET

Crie e manipule documentos PDF a partir de .NET — com anotações, campos de formulário, extração de texto, gerenciamento de páginas, criptografia e importação de HTML/SVG/Markdown. Licenciada sob MIT.

Biblioteca .NET gratuita licenciada sob MIT para criação e manipulação de PDF

Aspose.PDF FOSS for .NET é uma biblioteca licenciada sob MIT para criar e trabalhar com documentos PDF em C# e .NET. O ponto de entrada central é a classe Document, que suporta construção a partir de caminho de arquivo, array de bytes, stream ou fontes protegidas por senha, e expõe as operações Open, Save, Merge, Encrypt, Decrypt e Convert em toda a especificação PDF.

A biblioteca expõe 805 classes que cobrem a estrutura do documento via Document, Page e PageCollection; anotações avançadas através de AnnotationCollection (incluindo AddTextAnnotation, AddLinkAnnotation, AddHighlightAnnotation, AddWatermarkAnnotation e AddRedactAnnotation); formulários interativos com Form, ButtonField, CheckboxField, RadioButtonField e ChoiceField; extração de texto e pesquisa via TextFragmentAbsorber e TextFragment; detecção de tabelas com AbsorbedTable, AbsorbedRow e AbsorbedCell; e segurança de documentos via Document.Encrypt e Document.Decrypt. A conversão de formato suporta HTML, SVG e importação de Markdown juntamente com exportação de PDF.

Instale Aspose.PDF FOSS para .NET de NuGet: dotnet add package Aspose.Pdf.Foss --version 0.1.0-alpha. A biblioteca é totalmente licenciada sob MIT, sem taxas de tempo de execução ou restrições de uso. Para recursos e suporte corporativos, veja Aspose.PDF for .NET — Enterprise Product.

Estrutura de Documento e Gerenciamento de Páginas

  • Document API: Crie novos PDFs com Document() ou abra arquivos existentes via Document.Open(path), Document.Open(data) ou Document.Open(stream).
  • Gerenciamento de páginas: Adicione, acesse e reordene páginas via PageCollection. Cada Page expõe Width, Height, MediaBox, rotação e Annotations.
  • Mesclar e dividir: Combine vários arquivos com Document.Merge(documents) ou Document.MergeDocuments(files). Importe páginas específicas com Document.ImportPage e Document.ImportPages.
  • Metadados: Ler e gravar metadados de documento via DocumentInfo e Document.GetOrCreateMetadata().
  • Serialização: Persistir documentos com Document.Save(filename), Document.Save(stream, format) ou Document.ToArray().

Cenários Comuns de Processamento de Documentos

  • PDF generation: Crie documentos programaticamente criando uma instância Document e preenchendo páginas com conteúdo.
  • Análise de documento: Abra arquivos existentes para inspeção de metadados, medição de dimensões de página ou enumeração de campos de formulário.
  • Manipulação de páginas: Redimensione, gire ou reordene páginas usando Document.ImportPage e a API Page.
  • Mesclagem em lote: Monte seções de relatório ou páginas de fatura em um único PDF usando Document.MergeDocuments.

Anotações e Campos de Formulário

  • Rich annotation API: AnnotationCollection expõe métodos para anotações de texto, link, realce, sublinhado, tachado, quadrado, círculo, linha, tinta, selo, cursor, redação, marca d’água, polígono e polilinha.
  • Ações de link: Adicione links URI com AddLinkAnnotation(rect, uri) ou links internos de salto de página com AddLinkAnnotation(rect, destinationPage, destRect).
  • Formulários interativos: Acesse o formulário do documento via Document.Form para enumerar ou criar instâncias de ButtonField, CheckboxField, RadioButtonField e ChoiceField.
  • Seleção de anotação: Filtrar anotações por tipo em várias páginas usando AnnotationSelector com sobrecargas Visit por tipo.
  • Sinalizadores de anotação: Controlar a visibilidade, impressão e comportamento de bloqueio via AnnotationFlags.

Cenários de Revisão de Documentos e Colaboração

  • Revisão de marcação: Adicione realces, sublinhados ou anotações de texto livre para fluxos de trabalho de revisão de documentos.
  • Redação: Remova permanentemente regiões de conteúdo sensível usando AddRedactAnnotation.
  • Watermarking: Carimbe o texto CONFIDENTIAL ou APPROVED nas páginas com AddWatermarkAnnotation e AddStampAnnotation.
  • Formulários interativos: Crie documentos preenchíveis com botões de opção, caixas de seleção e listas de escolha para pipelines de captura de dados.

Extração de Texto e Busca

  • Pesquisa de texto: Use TextFragmentAbsorber para localizar todos os fragmentos de texto em uma página ou em todo o documento, com correspondência opcional de frase.
  • Propriedades do fragmento: Cada TextFragment expõe Text, Position, TextState (fonte, tamanho, cor), e retângulo delimitador.
  • Controle de estado de texto: TextFragmentState fornece acesso a Font, FontSize, ForegroundColor, BackgroundColor e modo de renderização.
  • Detecção de tabelas: Identificar e extrair conteúdo tabular via AbsorbedTable, AbsorbedRow e AbsorbedCell, cada um fornecendo Rect e TextFragments.

Cenários de Extração de Texto e Dados

  • Indexação de conteúdo: Extraia todo o texto da página para pipelines de pesquisa de texto completo.
  • Extração de dados do formulário: Leia os valores dos campos enviados para o processamento no lado do servidor.
  • Análise de fatura: Use AbsorbedTable para analisar dados tabulares de linhas e colunas de PDFs financeiros.
  • Comparação de redline: Localize fragmentos de texto específicos para anotação ou substituição precisas baseadas em posição.

Segurança e Criptografia

  • AES e RC4 criptografia: Criptografe documentos com Document.Encrypt(userPassword, ownerPassword, permissions, algorithm) usando Algorithm.AESx128, AESx256 ou RC4x128.
  • Controle de permissão: Restringir impressão, cópia e acessibilidade via DocumentPrivilege.
  • Gerenciamento de senhas: Altere as senhas de usuário e proprietário com Document.ChangePasswords.
  • Descriptografia: Remova a proteção com Document.Decrypt().
  • Assinaturas digitais: Acesse campos de assinatura e dados PKCS#7 através dos tipos Signature e Algorithm.

Cenários de Segurança de Documentos

  • Distribuição confidencial: Criptografe PDFs com senhas por destinatário antes da entrega.
  • Contratos apenas para impressão: Aplique senhas de proprietário com apenas impressão DocumentPrivilege para impedir a cópia.
  • Arquivamento de conformidade: Remover a criptografia de arquivos internos após revisão de segurança.
  • Verificação de assinatura: Inspecione assinaturas digitais incorporadas em PDFs recebidos para verificações de autenticidade.

Abrir um PDF, Adicionar uma Anotação de Link e Salvar

Abra um PDF existente, anexe uma anotação de link URI à página 1 e persista o resultado.

using Aspose.Pdf;

var data = System.IO.File.ReadAllBytes("input.pdf");
using var doc = Document.Open(data);
var page = doc.Pages[1];
var action = PdfAction.CreateUri("https://aspose.com");
page.Annotations.AddLinkAnnotation(
    new Rectangle(50, 700, 200, 720), action);
using var ms = new System.IO.MemoryStream();
doc.Save(ms);
System.IO.File.WriteAllBytes("output.pdf", ms.ToArray());

Adicionar uma Anotação de Marca d’água

Carimbe uma marca d’água na página 1 de um documento existente e faça o ciclo completo de serialização.

using Aspose.Pdf;
var input = System.IO.File.ReadAllBytes("report.pdf");
using var doc = Document.Open(input);
doc.Pages[1].Annotations.AddWatermarkAnnotation(
    new Rectangle(0, 0, 612, 792), "CONFIDENTIAL");
var saved = doc.ToArray();
System.IO.File.WriteAllBytes("watermarked.pdf", saved);

Extrair Fragmentos de Texto de uma Página

Use TextFragmentAbsorber para enumerar todos os fragmentos de texto na primeira página.

using Aspose.Pdf;
using Aspose.Pdf.Text;

var data = System.IO.File.ReadAllBytes("document.pdf");
using var doc = Document.Open(data);
var absorber = new TextFragmentAbsorber();
absorber.Visit(doc.Pages[1]);
foreach (var fragment in absorber.TextFragments)
{
    Console.WriteLine(fragment.Text);
}

Perguntas Frequentes

Qual é o modelo de licenciamento para Aspose.PDF FOSS para .NET?

Aspose.PDF FOSS para .NET é lançado sob a Licença MIT, permitindo uso gratuito em produtos comerciais sem taxas de tempo de execução. O código-fonte está publicamente disponível no GitHub.

Como instalo Aspose.PDF FOSS para .NET?

Instale a partir de NuGet usando dotnet add package Aspose.Pdf.Foss --version 0.1.0-alpha. A biblioteca tem como alvo .NET 8 e posteriores sem dependências nativas.

Quais formatos de arquivo Aspose.PDF FOSS para .NET são suportados?

A biblioteca lê e grava PDF e suporta importação de HTML, SVG e Markdown. A exportação raster também está disponível — páginas PDF podem ser renderizadas para BMP, JPEG, PNG e TIFF.

Como crio um novo documento PDF?

Use Document.Create() para criar um documento vazio, depois adicione páginas e salve com Document.Save(stream) ou Document.ToArray().

É necessária uma chave de licença para usar Aspose.PDF FOSS para .NET?

Nenhuma chave de licença ou etapa de ativação é necessária. A biblioteca funciona totalmente sem licença, sem custo, sob a Licença MIT.

  

Recursos de Suporte e Aprendizado

 Português