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
| Requisitos | Detalhes |
|---|---|
| Tempo de execução | .NET 8.0 ou posterior |
| Pacote de produtos | dotnet add package Aspose.Pdf.Foss |
| Licença de condução | MIT 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: |
|---|---|
AnnotationCollection | Adicionar e gerenciar anotações de página |
LinkAnnotation | Anotativa de hiperligação |
TextAnnotation | Anotativa em notas adesivas |
Form | Acesso ao campo AcroForm |
Field | Classe de base para campos de formulário |
PdfAction.CreateUri | Criar ação de ligação URI |
AnnotationSelector | Anotativas de filtro por tipo |
Solução de problemas
| O problema é que… | Solução |
|---|---|
| Anotativa não visível | Verifique 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 vazio | O campo pode não ter um /V entrada verificar o nome do campo |