Kaip pridėti anotacijas ir formas į PDF .NET

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

ReikalavimasDetalės
Vykdymo aplinka.NET 8.0 arba vėlesnė
Paketasdotnet add package Aspose.Pdf.Foss
LicencijaMIT — 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 su
PdfAction.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
AnnotationCollectionPridėti ir tvarkyti puslapio anotacijas
LinkAnnotationHipersaito anotacija
TextAnnotationLipnos pastabos anotacija
FormAcroForm lauko prieiga
FieldBazinė klasė formų laukams
PdfAction.CreateUriSukurti URI nuorodos veiksmą
AnnotationSelectorFiltruoti anotacijas pagal tipą

Trikčių šalinimas

ProblemaSprendimas
Anotacija nematomaPatikrinkite, ar stačiakampio koordinatės yra puslapio ribose
Nuorodos URI yra nullNuoroda gali naudoti GoTo veiksmą — patikrinkite ActionType
Formos lauko reikšmė tuščiaLaukas gali neturėti /V įrašo — patikrinkite lauko pavadinimą

Žr. taip pat

 Lietuvių