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

Aspose.PDF FOSS for .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. Licença MIT.

Biblioteca .NET Gratuita MIT-Licenciada para Criação e Manipulação de PDFs

Aspose.PDF FOSS para .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 busca 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 formatos suporta HTML, SVG e importação de Markdown juntamente com exportação de PDF.

Instale Aspose.PDF FOSS para .NET a partir 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 corporativo, veja Aspose.PDF for .NET — Enterprise Product.

Estrutura do documento e gestão de páginas

  • Documento 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: Leia e escreva metadados do documento via DocumentInfo e Document.GetOrCreateMetadata().
  • Serialização: Persista documentos com Document.Save(filename), Document.Save(stream, format) ou Document.ToArray().

Cenários comuns de tratamento dos documentos

  • Geração de PDF: Criar documentos programaticamente criando uma instância Document e preenchendo páginas com conteúdo.
  • Análise de documentos: Abrir ficheiros existentes para inspecção dos metadados, medição da dimensão das páginas ou enumeração do campo do formulário.
  • Manipulação de página: Redimensionar, girar ou reordenar páginas usando Document.ImportPage e a API Page.
  • Fusão em lote: Reunir secções de relatório ou páginas de factura num único PDF usando Document.MergeDocuments.

Anotações e campos de formulário

  • Anotação rica 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: Filtre anotações por tipo em todas as páginas usando AnnotationSelector com sobrecargas Visit por tipo.
  • Sinalizadores de anotação: Controle a visibilidade, impressão e comportamento de bloqueio via AnnotationFlags.

Revisão de documentos e cenários de colaboração

  • Revisão de marcação: Adicionar notas com destaque, sublinhar ou texto livre para fluxos de trabalho de revisão do documento.
  • Redação: Remova permanentemente regiões de conteúdo sensível usando AddRedactAnnotation.
  • ** Marca d’água:** Cinture o texto CONFIDENCIAL ou APPROVED nas páginas com AddWatermarkAnnotation e AddStampAnnotation.
  • Formulários interativos: Criar documentos preenchíveis com botões de rádio, caixas de seleção e listas de escolha para canais de captura de dados.

Extração de texto e pesquisa

  • 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 frases.
  • Propriedades do fragmento: Cada TextFragment expõe Text, Position, TextState (fonte, tamanho, cor), e o retângulo delimitador.
  • Controle de estado do texto: TextFragmentState fornece acesso a Font, FontSize, ForegroundColor, BackgroundColor e ao modo de renderização.
  • Detecção de tabelas: Identifique e extraia conteúdo tabular via AbsorbedTable, AbsorbedRow e AbsorbedCell, cada um fornecendo Rect e TextFragments.

Scenários de extração de texto e dados

  • Indexação de conteúdo: Extrair todo o texto da página para pipelines de pesquisa em texto completo.
  • Extração de dados do formulário: Ler os valores dos campos enviados para o processamento no lado do servidor.
  • Análise de facturas: Utilize AbsorbedTable para analisar dados em linhas e colunas tabulares dos PDF financeiros.
  • Comparação com a linha vermelha: Localização de fragmentos específicos para anotações ou substituições precisas baseadas na posição.

Segurança e criptografia

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

Scenários de segurança do documento

  • ** Distribuição confidencial:** Criptografar os PDF com senhas por destinatário antes da entrega.
  • ** Contratos de impressão exclusiva:** Aplicar senhas do proprietário com DocumentPrivilege para evitar a cópia.
  • Arquivamento da conformidade: Retirar a encriptação dos arquivos internos após revisão de segurança.
  • Verificação de assinatura: Inspeccionar as assinaturas digitais incorporadas nos PDFs recebidos para verificar a autenticidade.

Abra um PDF, adicione uma anotação de link e guarde

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

Marque uma marca d’água na página 1 de um documento existente e faça a viagem em volta através da 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 MIT License, permitindo uso gratuito em produtos comerciais sem taxas de tempo de execução. O código-fonte está publicamente disponível no GitHub.

Como posso instalar Aspose.PDF FOSS para .NET?

Instalar a partir do NuGet usando dotnet add package Aspose.Pdf.Foss --version 0.1.0-alpha. A biblioteca é direcionada para .NET 8 e posterior sem dependências nativas.

Quais formatos de arquivo o Aspose.PDF FOSS para .NET suporta?

A biblioteca lê e escreve PDFs e suporta a importação de HTML, SVG e Markdown. Exportação raster também está disponível Páginas PDF podem ser renderizadas para BMP, JPEG, PNG e TIFF.

Como faço para criar um novo documento PDF?

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

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

A biblioteca é executada sem licença, sem custo algum sob a Licença MIT.

  

Recursos de Suporte e Aprendizado

 Português