Comment ajouter des annotations et des formulaires à un PDF dans .NET
Comment ajouter des annotations et des formulaires dans .NET
Ce guide montre comment ajouter des annotations et des champs de formulaire interactifs aux documents PDF en utilisant Aspose.PDF FOSS pour .NET.
Prérequis
| Requirement | Detail |
|---|---|
| Runtime | .NET 8.0 ou version ultérieure |
| Package | dotnet add package Aspose.Pdf.Foss |
| License | MIT — aucune clé de licence requise |
Étape 1 : Ajouter une annotation de texte
Les annotations de texte apparaissent sous forme de notes autocollantes sur la page. Fournissez un rectangle de délimitation, le contenu de la note et un titre d’auteur. Définissez open: true pour afficher la note développée lorsque le document s’ouvre.
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");Étape 2 : Ajouter une annotation de lien
Les annotations de lien rendent une zone rectangulaire cliquable. Combinez un Rectangle avec un appel PdfAction.CreateUri pour diriger l’utilisateur vers une URL externe lorsqu’il clique.
var action = PdfAction.CreateUri("https://aspose.com");
page.Annotations.AddLinkAnnotation(
new Rectangle(50, 700, 200, 720), action);Étape 3 : Ajouter des annotations de surlignage et de forme
Les annotations de surbrillance marquent les régions de texte avec une superposition translucide. Forme
annotations telles que des carrés et des cercles dessinent des contours géométriques sur la page. Les deux acceptent des tableaux de couleurs et des paramètres optionnels de largeur de ligne.
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);Étape 4 : Lire les valeurs des champs de formulaire
Les champs AcroForm sont accessibles via Document.Form. Parcourez Form.Fields pour lire le nom et la valeur actuelle de chaque champ sans modifier le document.
using var doc = Document.Open(pdfBytes);
foreach (var field in doc.Form.Fields)
{
Console.WriteLine($"{field.FullName}: {field.Value}");
}Étape 5 : Aplatir les annotations
foreach (var annot in doc.Pages[1].Annotations)
{
annot.Flatten();
}
doc.Save("flattened.pdf");Classes clés
| Classe | Objectif |
|---|---|
AnnotationCollection | Ajouter et gérer les annotations de page |
LinkAnnotation | Annotation de lien hypertexte |
TextAnnotation | Annotation de note autocollante |
Form | Accès aux champs AcroForm |
Field | Classe de base pour les champs de formulaire |
PdfAction.CreateUri | Créer une action de lien URI |
AnnotationSelector | Filtrer les annotations par type |
Dépannage
| Problème | Solution |
|---|---|
| Annotation non visible | Vérifiez que les coordonnées du rectangle sont à l’intérieur des limites de la page |
| L’URI du lien est nul | Le lien peut utiliser une action GoTo — vérifiez ActionType |
| Valeur du champ de formulaire vide | Le champ peut ne pas avoir d’entrée /V — vérifiez le nom du champ |