Com afegir anotacions i formularis al PDF en .NET
Com afegir anotacions i formularis en .NET
Aquesta guia mostra com afegir anotacions i camps de formulari interactiu als documents PDF utilitzant Aspose.PDF FOSS per a .NET.
Prerequisites
| Requirement | Detail |
|---|---|
| Runtime | .NET 8.0 o més tard. |
| Package | dotnet add package Aspose.Pdf.Foss |
| License | MIT no es requereix clau de llicència |
Pas 1: Agregar una anotació de text
Les anotacions de text apareixen com a notes en la pàgina. Fornir un rectangle que limita, El contingut de la nota, i un títol d’autor. open: true per mostrar la nota expandit quan s’obre el document.
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");Pas 2: Afegir una anotació de enllaç
Les anotacions de enllaç fan que un àrea rectangular sigui clicable. Combinar una Rectangle amb una PdfAction.CreateUri crida per navegar l’usuari cap a una URL externa quan es fa clic.
var action = PdfAction.CreateUri("https://aspose.com");
page.Annotations.AddLinkAnnotation(
new Rectangle(50, 700, 200, 720), action);Pas 3: Agregar notacions de forma i destacament
Les anotacions de forma com els quadrats i cercles dibuixen contorns geomètrics a la pàgina. Ambdues accepten matrius de color i paràmetres opcionals d’amplada de línia.
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);Pas 4: Llegir els valors dels camps del formulari
Els camps d’AcroForm s’acessen a través de: Document.Form.Iterat. Form.Fields a la llegir el nom de cada camp i valor actual sense modificar el document.
using var doc = Document.Open(pdfBytes);
foreach (var field in doc.Form.Fields)
{
Console.WriteLine($"{field.FullName}: {field.Value}");
}Pas 5: Anotades planes
foreach (var annot in doc.Pages[1].Annotations)
{
annot.Flatten();
}
doc.Save("flattened.pdf");Classes clau
| Class | Purpose |
|---|---|
AnnotationCollection | Agregar i gestionar anotacions de pàgines |
LinkAnnotation | Anotatiu d’hipervincle |
TextAnnotation | Anotatiu en nota adherida |
Form | Accés al camp de l’acroformulari |
Field | Classe de base per als camps del formulari |
PdfAction.CreateUri | Creació d’accions de enllaç URI |
AnnotationSelector | Anotades de filtre per tipus |
Troubleshooting
| Problem | Solution |
|---|---|
| No visible | Comproveu que les coordenades del rectangle estiguin dins dels límits de la pàgina. |
| L’ URI del enllaç és nul·la. | El enllaç pot utilitzar una acció GoTo comprovació ActionType |
| Valor del camp de formulari buit | El camp pot no tenir una /V Entrada verificar nom del camp |