ฟาซาด API
ฟาซาด API
Facades API ให้ wrapper ที่เรียบง่ายและมุ่งเน้นงานรอบ ๆ โมเดลวัตถุหลักของ Aspose.PDF FOSS for .NET
แต่ละคลาส facade มุ่งเป้าไปที่การดำเนินการ PDF เฉพาะ — การกรอกแบบฟอร์ม, การต่อไฟล์, การแก้ไขเนื้อหา หรือการลงนามดิจิทัล — และเปิดเผย workflow BindPdf / Save.
การกรอกแบบฟอร์มด้วย Form facade
Form (ใน Aspose.Pdf.Facades) ผูกกับ PDF ที่มีอยู่แล้วและให้คุณอ่านหรือเขียนค่าฟิลด์ AcroForm โดยไม่ต้องนำทางผ่านโครงสร้างหน้า.
using var form = new Form("input.pdf", "output.pdf");
form.FillField("FirstName", "Alice");
form.FillField("AcceptTerms", "Yes");
form.Save();เพื่ออ่านค่าฟิลด์:
using var form = new Form("input.pdf");
string name = form.GetField("FirstName");การรวมและแยก PDF ด้วย PdfFileEditor
PdfFileEditor ต่อเนื่อง, แยก, ดึงออก, และลบช่วงหน้า.
var editor = new PdfFileEditor();
// Concatenate two files
editor.Concatenate("file1.pdf", "file2.pdf", "merged.pdf");
// Extract pages 2-5
editor.Extract("source.pdf", 2, 5, "pages2to5.pdf");
// Split at page 3
editor.SplitFromFirst("source.pdf", 3, "first3.pdf");แก้ไขเนื้อหาหน้าด้วย PdfContentEditor
PdfContentEditor แก้ไขเนื้อหาหน้าที่มีอยู่ — เพิ่มข้อความ, แทนที่ข้อความ, หรือแนบการกระทำกับคำอธิบายประกอบ.
var editor = new PdfContentEditor();
editor.BindPdf("input.pdf");
// Perform content edits
editor.Save("output.pdf");ลายเซ็นดิจิทัลกับ PdfFileSignature
PdfFileSignature ลงนามในเอกสาร PDF และตรวจสอบลายเซ็นที่มีอยู่.
var sig = new PdfFileSignature();
sig.BindPdf("document.pdf");
// Sign or verify
sig.Save("signed.pdf");การประทับหน้าด้วย PdfFileStamp
PdfFileStamp ซ้อนทับข้อความ, รูปภาพ หรือหน้า PDF อื่นเป็นตราประทับ.
var stamp = new PdfFileStamp();
stamp.BindPdf("input.pdf");
// Add stamps
stamp.Save("stamped.pdf");
stamp.Close();การแปลงหน้าเป็นภาพด้วย PdfConverter
PdfConverter เรนเดอร์หน้า PDF ไปเป็นรูปแบบภาพเรสเตอร์.
var converter = new PdfConverter();
converter.BindPdf("input.pdf");
converter.DoConvert();
// Iterate pages and save imagesเคล็ดลับและแนวทางปฏิบัติที่ดีที่สุด
- ควรเรียกใช้
Close()เสมอหรือใช้usingเพื่อปล่อยทรัพยากรที่ถูกถือโดยอ็อบเจ็กต์ facade. - ใช้
BindPdfพร้อมเส้นทางไฟล์สำหรับไฟล์ขนาดใหญ่เพื่อหลีกเลี่ยงการโหลดทั้งหมดเข้าสู่หน่วยความจำพร้อมกัน. - ควรเลือกใช้
TryConcatenateและTryAppendแทนเวอร์ชันที่ไม่มี Try เพื่อการจัดการข้อผิดพลาดอย่างราบรื่น. - Facade จะมอบหมายให้โมเดล core
Documentภายใน — เปลี่ยนไปใช้ core API เมื่อคุณต้องการการควบคุมที่ละเอียดมากขึ้น. - Facade
FormEditorอนุญาตให้เพิ่มฟิลด์ฟอร์มใหม่ลงใน PDF ที่มีอยู่ ไม่ใช่แค่เติมฟิลด์ที่มีอยู่เท่านั้น.
ปัญหาทั่วไป
| Issue | Cause | Fix |
|---|---|---|
Save() สร้างไฟล์เปล่า | BindPdf ไม่ได้ถูกเรียกก่อนการบันทึก | ควรผูก PDF ต้นฉบับก่อนเรียก Save เสมอ |
| ค่าฟิลด์ฟอร์มไม่ได้เขียน | ชื่อฟิลด์ไม่ตรงกับชื่อฟิลด์ภายในของ PDF | ใช้ Form.FieldNames เพื่อแสดงรายการชื่อฟิลด์ที่มี |
| การต่อไฟล์ล้มเหลวโดยไม่มีข้อความแสดง | ไฟล์อินพุตถูกเข้ารหัสหรือเสียหาย | ใช้ TryConcatenate และตรวจสอบค่าที่คืนกลับ |
| ลายเซ็นไม่ถูกต้องหลังการแก้ไข | เนื้อหาได้รับการแก้ไขหลังจากการลงลายเซ็น | ลงลายเซ็นเอกสารเป็นขั้นตอนสุดท้าย |
คำถามที่พบบ่อย
ความแตกต่างระหว่าง Facades กับ core Document API คืออะไร?
Facades ให้วิธีการระดับสูงที่มุ่งเน้นงาน (กรอกแบบฟอร์ม, รวมไฟล์)
The core API (Document, Page, Annotation) ให้การเข้าถึงระดับล่างของ
ทุกวัตถุ PDF. Facades ใช้ core API ภายใน.
ฉันสามารถเชนหลายการดำเนินการของ facade ได้หรือไม่?
ใช่. ผูกแหล่งข้อมูลเดียวกัน, ทำการดำเนินการ, และบันทึกครั้งเดียว. หรือบันทึกผลลัพธ์ชั่วคราว
และผูกใหม่สำหรับการดำเนินการต่อไป.
PdfFileEditor รองรับไฟล์ PDF ที่มีการป้องกันด้วยรหัสผ่านหรือไม่?
ใช่. การโอเวอร์โหลดที่รับรหัสผ่านเจ้าของ/ผู้ใช้พร้อมใช้งานสำหรับไฟล์ที่เข้ารหัส.
สรุปการอ้างอิง API
| Class / Method | Description |
|---|---|
Form | ส่วนต่อประสาน AcroForm สำหรับการอ่านและเขียนค่าฟิลด์ |
Form.FillField | ตั้งค่าฟิลด์ฟอร์มตามชื่อ |
Form.GetField | อ่านค่าฟิลด์ฟอร์มตามชื่อ |
FormEditor | เพิ่มหรือแก้ไขฟิลด์ฟอร์มใน PDF ที่มีอยู่ |
PdfFileEditor | รวม, แยก, ดึงออก, และลบช่วงหน้าของ PDF |
PdfFileEditor.Concatenate | รวม PDF สองไฟล์หรือมากกว่าเป็นไฟล์เดียว |
PdfFileEditor.Extract | ดึงช่วงหน้าออกเป็น PDF ใหม่ |
PdfContentEditor | แก้ไขเนื้อหาหน้า (ข้อความ, คำอธิบายประกอบ, การกระทำ) |
PdfFileSignature | ลงนามและตรวจสอบลายเซ็นดิจิทัลของ PDF |
PdfFileStamp | วางข้อความหรือสแตมป์รูปภาพบนหน้า |
PdfConverter | แปลงหน้าของ PDF เป็นภาพราสเตอร์ |
FormattedText | ตัวบรรยายข้อความที่มีสไตล์สำหรับการดำเนินการสแตมป์ |
FontStyle | การนับประเภทสไตล์ฟอนต์ (หนา, เอียง, ฯลฯ) |
EncodingType | การนับประเภทการเข้ารหัสอักขระ |