Kaip pridėti anotacijas ir formas į PDF .NET
Kaip pridėti anotacijas ir formas .NET
Šiame vadove rodomas, kaip pridėti anotacijas ir interaktyvius formų laukus į PDF dokumentus naudojant Aspose.PDF FOSS for .NET.
Būtinosios sąlygos
| Reikalavimas | Detalės |
|---|---|
| Vykdymo aplinka | .NET 8.0 arba vėlesnė |
| Paketas | dotnet add package Aspose.Pdf.Foss |
| Licencija | MIT — nėra licencijos rakto |
Žingsnis 1: Pridėti teksto anotaciją
Teksto anotacijos pasirodo kaip lipnios pastabos puslapyje. Pateikite ribojantį stačiakampį,
pastabos turinį ir autoriaus pavadinimą. Nustatykite open: true, kad pastaba būtų
išplėsta, kai dokumentas atveriamas.
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");Žingsnis 2: Pridėti nuorodos anotaciją
Nuorodų anotacijos padaro stačiakampę sritį spustelėjamą. Sujunkite Rectangle suPdfAction.CreateUri iškvietimu, kad vartotojas spustelėjus būtų nukreiptas į išorinį URL.
var action = PdfAction.CreateUri("https://aspose.com");
page.Annotations.AddLinkAnnotation(
new Rectangle(50, 700, 200, 720), action);Žingsnis 3: Pridėti paryškinimo ir formų anotacijas
Paryškinimo anotacijos žymi teksto sritis su permatomu sluoksniu. Formų anotacijos, tokios kaip kvadratai ir apskritimai, piešia geometrines kontūras puslapyje. Abi priima spalvų masyvus ir pasirenkamus linijos pločio parametrus.
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);Žingsnis 4: Perskaityti formos laukų reikšmes
AcroForm laukai pasiekiami per Document.Form. Iteruokite Form.Fields, kad perskaitytumėte kiekvieno lauko pavadinimą ir dabartinę reikšmę nekeisdami dokumento.
using var doc = Document.Open(pdfBytes);
foreach (var field in doc.Form.Fields)
{
Console.WriteLine($"{field.FullName}: {field.Value}");
}Žingsnis 5: Suplokšti anotacijas
foreach (var annot in doc.Pages[1].Annotations)
{
annot.Flatten();
}
doc.Save("flattened.pdf");Svarbios klasės
| Klasė | Tikslas |
|---|---|
AnnotationCollection | Pridėti ir tvarkyti puslapio anotacijas |
LinkAnnotation | Hipersaito anotacija |
TextAnnotation | Lipnos pastabos anotacija |
Form | AcroForm lauko prieiga |
Field | Bazinė klasė formų laukams |
PdfAction.CreateUri | Sukurti URI nuorodos veiksmą |
AnnotationSelector | Filtruoti anotacijas pagal tipą |
Trikčių šalinimas
| Problema | Sprendimas |
|---|---|
| Anotacija nematoma | Patikrinkite, ar stačiakampio koordinatės yra puslapio ribose |
| Nuorodos URI yra null | Nuoroda gali naudoti GoTo veiksmą — patikrinkite ActionType |
| Formos lauko reikšmė tuščia | Laukas gali neturėti /V įrašo — patikrinkite lauko pavadinimą |