วิธีเพิ่มคำอธิบายและแบบฟอร์มลงใน PDF ด้วย .NET

วิธีเพิ่มคำอธิบายและแบบฟอร์มลงใน PDF ด้วย .NET

วิธีเพิ่มคำอธิบายและแบบฟอร์มใน .NET

คู่มือนี้แสดงวิธีการเพิ่มคำอธิบายประกอบและฟิลด์ฟอร์มแบบโต้ตอบในเอกสาร PDF โดยใช้ Aspose.PDF FOSS สำหรับ .NET.


ข้อกำหนดเบื้องต้น

ข้อกำหนดรายละเอียด
Runtime.NET 8.0 หรือใหม่กว่า
Packagedotnet add package Aspose.Pdf.Foss
LicenseMIT — ไม่ต้องใช้คีย์ใบอนุญาต

ขั้นตอนที่ 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 — ตรวจสอบชื่อฟิลด์

ดูเพิ่มเติม

 ภาษาไทย