วิธีเพิ่มคำอธิบายและแบบฟอร์มลงใน PDF ด้วย .NET
วิธีเพิ่มคำอธิบายและแบบฟอร์มใน .NET
คู่มือนี้แสดงวิธีการเพิ่มคำอธิบายประกอบและฟิลด์ฟอร์มแบบโต้ตอบในเอกสาร PDF โดยใช้ Aspose.PDF FOSS สำหรับ .NET.
ข้อกำหนดเบื้องต้น
| ข้อกำหนด | รายละเอียด |
|---|---|
| Runtime | .NET 8.0 หรือใหม่กว่า |
| Package | dotnet add package Aspose.Pdf.Foss |
| License | MIT — ไม่ต้องใช้คีย์ใบอนุญาต |
ขั้นตอนที่ 1: เพิ่มคำอธิบายข้อความ
คำอธิบายข้อความปรากฏเป็นโน้ตสติ๊กกี้บนหน้า. จัดหาสี่เหลี่ยมขอบเขต,
เนื้อหาของโน้ต, และชื่อผู้เขียน. ตั้งค่า open: true เพื่อแสดงโน้ต
ขยายเมื่อเอกสารเปิด.
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: เพิ่มคำอธิบายลิงก์
การทำเครื่องหมายลิงก์ทำให้พื้นที่สี่เหลี่ยมคลิกได้. รวม Rectangle กับการเรียก PdfAction.CreateUri เพื่อพาผู้ใช้ไปยัง URL ภายนอกเมื่อคลิก.
var action = PdfAction.CreateUri("https://aspose.com");
page.Annotations.AddLinkAnnotation(
new Rectangle(50, 700, 200, 720), action);ขั้นตอนที่ 3: เพิ่มไฮไลท์และคำอธิบายรูปทรง
การทำเครื่องหมายไฮไลท์ทำเครื่องหมายบริเวณข้อความด้วยการซ้อนทับแบบโปร่งแสง การทำเครื่องหมายรูปทรงเช่นสี่เหลี่ยมและวงกลมวาดเส้นรอบรูปเรขาคณิตบนหน้า ทั้งสองรับอาร์เรย์สีและพารามิเตอร์ความกว้างเส้นที่เป็นตัวเลือก.
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: อ่านค่าฟิลด์ฟอร์ม
ฟิลด์ AcroForm ถูกเข้าถึงผ่าน Document.Form. ทำการวนซ้ำ Form.Fields เพื่ออ่านชื่อและค่าปัจจุบันของแต่ละฟิลด์โดยไม่แก้ไขเอกสาร.
using var doc = Document.Open(pdfBytes);
foreach (var field in doc.Form.Fields)
{
Console.WriteLine($"{field.FullName}: {field.Value}");
}ขั้นตอนที่ 5: ทำให้คำอธิบายแบน
foreach (var annot in doc.Pages[1].Annotations)
{
annot.Flatten();
}
doc.Save("flattened.pdf");คลาสสำคัญ
| คลาส | วัตถุประสงค์ |
|---|---|
AnnotationCollection | เพิ่มและจัดการคำอธิบายหน้า |
LinkAnnotation | คำอธิบายไฮเปอร์ลิงก์ |
TextAnnotation | คำอธิบายโน้ตติดกาว |
Form | การเข้าถึงฟิลด์ AcroForm |
Field | คลาสฐานสำหรับฟิลด์ฟอร์ม |
PdfAction.CreateUri | สร้างการกระทำลิงก์ URI |
AnnotationSelector | กรองคำอธิบายตามประเภท |
การแก้ไขปัญหา
| ปัญหา | วิธีแก้ |
|---|---|
| คำอธิบายไม่ปรากฏ | ตรวจสอบว่าพิกัดสี่เหลี่ยมอยู่ภายในขอบเขตของหน้า |
| URI ของลิงก์เป็นค่า null | ลิงก์อาจใช้การกระทำ GoTo — ตรวจสอบ ActionType |
| ค่าฟิลด์ฟอร์มว่าง | ฟิลด์อาจไม่มีรายการ /V — ตรวจสอบชื่อฟิลด์ |