กรอกฟอร์ม PDF ด้วย NextPDF Connect (Pro)
ภาพรวมโดยสรุป
หัวข้อที่มีชื่อว่า “ภาพรวมโดยสรุป”ใช้ NextPDF Connect เพื่อกรอกฟิลด์ของฟอร์ม PDF แบบโต้ตอบด้วย XML Forms Data Format (XFDF) เครื่องมือด้านการลงนามและฟอร์มคือ fill_form ผู้ให้บริการเครื่องมือระดับ Pro จะลงทะเบียน new FillFormTool() โดยมีชื่อโปรโตคอลเป็น fill_form fill_form เป็นเครื่องมือระดับ Pro ระหว่างบูต เซิร์ฟเวอร์จะตรวจสอบแพ็กเกจ Pro ด้วย class_exists() และจะลงทะเบียนเครื่องมือนี้เฉพาะเมื่อพบแพ็กเกจเท่านั้น เมื่อใช้ Core เพียงอย่างเดียว fill_form จะไม่ปรากฏในรีจิสทรี
การติดตั้ง
หัวข้อที่มีชื่อว่า “การติดตั้ง”composer require nextpdf/servercomposer require nextpdf/proผูก transport แล้วตรวจสอบว่ามีเครื่องมือนี้อยู่ผ่าน diagnostic.capabilities (ดู environment-diagnostics) อย่าสันนิษฐานว่ารายการเครื่องมือจะคงที่เสมอ
ภาพรวมเชิงแนวคิด
หัวข้อที่มีชื่อว่า “ภาพรวมเชิงแนวคิด”XFDF จับคู่ชื่อฟิลด์กับค่าผ่านอิลิเมนต์ <field> ชื่อแต่ละรายการต้องตรงกับฟิลด์ AcroForm ที่มีอยู่แล้วในเอกสารปลายทาง ดิกชันนารีฟิลด์ของฟอร์มแบบโต้ตอบจะจัดเก็บฟิลด์แต่ละรายการ (ISO 32000-2 §12.7) และค่าที่ให้มาจะกลายเป็นค่าของฟิลด์นั้น (ISO 32000-2 §12.7) หากชื่อไม่ตรงกับฟิลด์ใดเลย เครื่องมือจะข้ามชื่อนั้นแทนการถือเป็นข้อผิดพลาด เครื่องมือจะรายงานจำนวนฟิลด์ที่กรอกและจำนวนฟิลด์ที่ข้าม
ส่วนต่อประสาน API
หัวข้อที่มีชื่อว่า “ส่วนต่อประสาน API”| เครื่องมือ | ระดับ | บทบาท | ระดับความเสี่ยง |
|---|---|---|---|
create_pdf | Core | เปิดเซสชัน | ปลอดภัย |
fill_form | Pro | นำค่า XFDF ไปใช้กับฟิลด์ AcroForm | ควรระมัดระวัง |
output_pdf | Core | เรนเดอร์และส่งคืน PDF | ต้องอนุมัติ / ตรวจสอบ (base64) |
ชื่อเครื่องมือเป็นชื่อโปรโตคอลในรีจิสทรี แค็ตตาล็อกเครื่องมือ คือแค็ตตาล็อกอ้างอิงอย่างเป็นทางการ รุ่นที่ติดตั้งจะเป็นตัวกำหนดว่ามีเครื่องมือใดให้ใช้งานได้บ้าง เครื่องมือระดับ Pro จะปรากฏเฉพาะเมื่อมีการติดตั้งแพ็กเกจ Pro เท่านั้น
ตัวอย่างโค้ด — เริ่มต้นใช้งานอย่างรวดเร็ว
หัวข้อที่มีชื่อว่า “ตัวอย่างโค้ด — เริ่มต้นใช้งานอย่างรวดเร็ว”create_pdf(หรือโหลดเทมเพลตที่มีฟิลด์ฟอร์มอยู่แล้ว)fill_formด้วยxfdf_dataที่จับคู่ชื่อฟิลด์กับค่าoutput_pdf→ base64
ผลลัพธ์จะรายงาน fields_filled, fields_skipped และชื่อฟิลด์ที่ตรงกัน
ตัวอย่างโค้ด — สำหรับใช้งานจริง
หัวข้อที่มีชื่อว่า “ตัวอย่างโค้ด — สำหรับใช้งานจริง”ใช้เทมเพลตที่มีชื่อฟิลด์ AcroForm ที่ควบคุมได้ ตรวจสอบความถูกต้องของ XFDF ตามสกีมา XFDF ก่อนส่ง ตรวจสอบ fields_skipped และรายการชื่อที่ส่งกลับมาเพื่อตรวจจับชื่อที่ไม่ตรงกัน (ชื่อแยกแยะตัวพิมพ์เล็กพิมพ์ใหญ่) สำหรับการกรอกข้อมูลขนาดใหญ่ ให้ควบคุมไม่ให้เกินขีดจำกัดขนาดของ XFDF และแบ่งข้อมูลออกหากจำเป็น
กรณีขอบและข้อควรระวัง
หัวข้อที่มีชื่อว่า “กรณีขอบและข้อควรระวัง”- XFDF ผิดรูปแบบ ข้อผิดพลาดในการแยกวิเคราะห์จะระบุตำแหน่งที่เป็นปัญหา escape เอนทิตี XML และระบุ
xmlnsด้วย - ชื่อไม่ตรงกัน ฟิลด์ที่ไม่ตรงกันจะถูกข้ามโดยไม่แจ้งเตือน และ
fields_skippedจะเพิ่มขึ้น ชื่อแยกแยะตัวพิมพ์เล็กพิมพ์ใหญ่ - ไม่มีฟิลด์ฟอร์ม เอกสารที่ไม่มี AcroForm จะได้จำนวนฟิลด์ที่กรอกแล้วเป็นศูนย์
- XFDF ใหญ่เกินไป เซิร์ฟเวอร์จะปฏิเสธข้อมูลที่เกินขีดจำกัดขนาด แบ่งข้อมูลออกหรือตัดช่องว่างออก
- ไม่มี Pro เมื่อใช้ Core เพียงอย่างเดียว
fill_formจะไม่ถูกลงทะเบียน และการเรียกใช้จะส่งคืนข้อผิดพลาดว่าไม่รู้จักเครื่องมือ ตรวจสอบด้วยdiagnostic.capabilitiesก่อน
ประสิทธิภาพ
หัวข้อที่มีชื่อว่า “ประสิทธิภาพ”การกรอกข้อมูลรวดเร็วเมื่อเทียบกับการเรนเดอร์ เอาต์พุตมีขนาดตั้งแต่ไม่กี่ KB ไปจนถึงหลายสิบ KB ขึ้นอยู่กับจำนวนฟิลด์และการฝังฟอนต์ โปรไฟล์คือ structural ตามที่ระบุ
หมายเหตุด้านความปลอดภัย
หัวข้อที่มีชื่อว่า “หมายเหตุด้านความปลอดภัย”ค่าของฟิลด์จะกลายเป็นเนื้อหาของเอกสาร อย่าใส่ข้อมูลลับลงในฟิลด์ฟอร์มหากต้องส่งคืน PDF ผ่านช่องทางที่ไม่น่าเชื่อถือ เส้นทางแบบ base64 ไม่มีผลข้างเคียงต่อระบบไฟล์ เอาต์พุตแบบไฟล์อยู่ภายใต้การควบคุมของเกต
ความสอดคล้องตามมาตรฐาน
หัวข้อที่มีชื่อว่า “ความสอดคล้องตามมาตรฐาน”| ข้อกล่าวอ้าง | ข้อกำหนด | ข้อ | รหัสอ้างอิง (reference_id) |
|---|---|---|---|
| ฟิลด์ฟอร์มถูกเก็บไว้ในดิกชันนารีฟิลด์ของฟอร์มแบบโต้ตอบ | ISO 32000-2 | §12.7 | |
| ข้อมูลที่ให้มาจะกลายเป็นค่าของฟิลด์ | ISO 32000-2 | §12.7 |
บริบทเชิงพาณิชย์
หัวข้อที่มีชื่อว่า “บริบทเชิงพาณิชย์”fill_form เป็นเครื่องมือระดับ Pro เซิร์ฟเวอร์จะลงทะเบียนเครื่องมือนี้เฉพาะเมื่อตรวจพบแพ็กเกจ Pro ได้ตอนบูต (ตรวจสอบด้วย class_exists()) การติดตั้งใช้งานแบบ Core จะไม่เปิดเผยเครื่องมือนี้
ความพร้อมใช้งานของ transport
หัวข้อที่มีชื่อว่า “ความพร้อมใช้งานของ transport”| ช่องทางการรับส่ง (Transport) | พร้อมใช้งาน | หมายเหตุ |
|---|---|---|
| MCP (stdio) | ใช่ (Pro) | ปรากฏเฉพาะเมื่อมีการติดตั้ง Pro เท่านั้น |
| REST | ใช่ (Pro) | เช่นเดียวกัน |
| gRPC | ใช่ (Pro) | เช่นเดียวกัน |
ระดับความเสี่ยง HITL
หัวข้อที่มีชื่อว่า “ระดับความเสี่ยง HITL”fill_form อยู่ในระดับควรระมัดระวังเพราะเป็นการแก้ไขเนื้อหาที่ย้อนกลับได้ output_pdf อยู่ในระดับต้องอนุมัติ และลดระดับเป็นตรวจสอบในโหมด base64 (ระดับความเสี่ยง HITL)
ซองข้อมูล JSON สำหรับเกตยืนยัน
หัวข้อที่มีชื่อว่า “ซองข้อมูล JSON สำหรับเกตยืนยัน”เอาต์พุตแบบ Base64:
{ "allowed": true }เอาต์พุตแบบไฟล์จะส่งคืนซองข้อมูล challenge ตามที่อธิบายไว้ใน output-approval