Como adicionar anotações e formulários ao PDF no .NET

Como adicionar anotações e formulários ao PDF no .NET

Como adicionar anotações e formulários no .NET

Este guia mostra como adicionar anotações e campos de formulário interativos a documentos PDF usando Aspose.PDF FOSS para .NET.


Precondições

RequisitosDetalhes
Tempo de execução.NET 8.0 ou posterior
Pacote de produtosdotnet add package Aspose.Pdf.Foss
Licença de conduçãoMIT não é necessário a chave de licença

Passo 1: Adicionar uma anotação de texto

As anotações de texto aparecem como notas na página. Forneça um retângulo delimitador, O conteúdo da nota e o título do autor. open: true para exibir a nota expansão quando o documento é aberto.

using var doc = Document.Open(File.ReadAllBytes("input.pdf"));
var page = doc.Pages[1];

page.Annotations.AddTextAnnotation(
    new Rectangle(72, 720, 200, 740),
    contents: "Review this section",
    title: "Editor",
    open: true);

doc.Save("annotated.pdf");

Passo 2: Adicionar uma anotação de ligação

As anotações de ligação tornam uma área retangular clicável. Rectangle com um PdfAction.CreateUri chamada para direcionar o utilizador a uma URL externa quando clicada.

var action = PdfAction.CreateUri("https://aspose.com");
page.Annotations.AddLinkAnnotation(
    new Rectangle(50, 700, 200, 720), action);

Passo 3: Adicionar notas de destaque e forma

As anotações de destaque marcam regiões do texto com uma sobreposição translúcida. Anotação de forma como quadrados e círculos desenham contornos geométricos na página. Ambos aceitam matrizes de cores e parâmetros opcionais de largura da linha.

page.Annotations.AddHighlightAnnotation(
    new Rectangle(72, 680, 300, 700),
    quadPoints: null,
    color: new double[] { 1, 1, 0 });

page.Annotations.AddSquareAnnotation(
    new Rectangle(72, 640, 200, 680),
    borderColor: new double[] { 0, 0, 1 },
    fillColor: null,
    lineWidth: 1.5);

Passo 4: Leia os valores dos campos do formulário

Acessos aos campos do AcroForm através de: Document.Form.Iteração . Form.Fields a) para o ler o nome de cada campo e valor atual sem modificar o documento.

using var doc = Document.Open(pdfBytes);
foreach (var field in doc.Form.Fields)
{
    Console.WriteLine($"{field.FullName}: {field.Value}");
}

Etapa 5: Anotações planas

foreach (var annot in doc.Pages[1].Annotations)
{
    annot.Flatten();
}
doc.Save("flattened.pdf");

Classe-chave

Classe:Objectivo:
AnnotationCollectionAdicionar e gerenciar anotações de página
LinkAnnotationAnotativa de hiperligação
TextAnnotationAnotativa em notas adesivas
FormAcesso ao campo AcroForm
FieldClasse de base para campos de formulário
PdfAction.CreateUriCriar ação de ligação URI
AnnotationSelectorAnotativas de filtro por tipo

Solução de problemas

O problema é que…Solução
Anotativa não visívelVerifique se as coordenadas do retângulo estão dentro dos limites da página .
URI de ligação é nulo .O link pode usar uma ação GoTo verificação ActionType
Valor do campo de formulário vazioO campo pode não ter um /V entrada verificar o nome do campo

Ver também:

 Português