Hogyan adjon hozzá megjegyzéseket és űrlapokat a PDF-hez .NET-ben
Hogyan adjon hozzá megjegyzéseket és űrlapokat .NET-ben
Ez az útmutató bemutatja, hogyan lehet megjegyzéseket és interaktív űrlapmezőket hozzáadni PDF dokumentumokhoz az Aspose.PDF FOSS for .NET használatával.
Előfeltételek
| Követelmény | Részletek |
|---|---|
| Futtatási környezet | .NET 8.0 vagy újabb |
| Csomag | dotnet add package Aspose.Pdf.Foss |
| Licenc | MIT — licenckulcs nem szükséges |
1. lépés: Szöveges annotáció hozzáadása
Szöveges megjegyzések ragadós jegyzetekként jelennek meg az oldalon. Adjon meg egy határoló téglalapot,
a jegyzet tartalmát és egy szerzői címet. Állítsa be a open: true értéket, hogy a jegyzet kibontva jelenjen meg a dokumentum megnyitásakor.
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");2. lépés: Hivatkozás-annotáció hozzáadása
A link megjegyzések egy téglalap alakú területet tesznek kattinthatóvá. Kombináljon egy Rectangle-t egy PdfAction.CreateUri hívással, hogy a felhasználót egy külső URL-re navigálja kattintáskor.
var action = PdfAction.CreateUri("https://aspose.com");
page.Annotations.AddLinkAnnotation(
new Rectangle(50, 700, 200, 720), action);3. lépés: Kiemelés és alakzat annotációk hozzáadása
A kiemelés annotációk áttetsző átfedéssel jelölik a szövegrészeket. A forma annotációk, például négyzetek és körök, geometriai körvonalakat rajzolnak az oldalon. Mindkettő szín tömböket és opcionális vonalvastagság paramétereket fogad.
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);4. lépés: Űrlapmezők értékeinek olvasása
Az AcroForm mezőkhöz a Document.Form segítségével férhetünk hozzá. Iteráljon a Form.Fields-vel, hogy kiolvassa minden mező nevét és aktuális értékét a dokumentum módosítása nélkül.
using var doc = Document.Open(pdfBytes);
foreach (var field in doc.Form.Fields)
{
Console.WriteLine($"{field.FullName}: {field.Value}");
}5. lépés: Megjegyzések laposítása
foreach (var annot in doc.Pages[1].Annotations)
{
annot.Flatten();
}
doc.Save("flattened.pdf");Kulcsfontosságú osztályok
| Osztály | Cél |
|---|---|
AnnotationCollection | Oldalannotációk hozzáadása és kezelése |
LinkAnnotation | Hiperhivatkozás-annotáció |
TextAnnotation | Ragadós jegyzet annotáció |
Form | AcroForm mező elérése |
Field | Alaposztály űrlapmezőkhöz |
PdfAction.CreateUri | URI hivatkozás művelet létrehozása |
AnnotationSelector | Annotációk szűrése típus szerint |
Hibakeresés
| Probléma | Megoldás |
|---|---|
| A megjegyzés nem látható | Ellenőrizze, hogy a téglalap koordinátái az oldal határain belül vannak-e |
| A hivatkozás URI-ja null | A hivatkozás GoTo műveletet használhat — ellenőrizze ActionType |
| Az űrlapmező értéke üres | A mezőnek lehet, hogy nincs /V bejegyzése — ellenőrizze a mező nevét |