ฐานความรู้การแก้ไขปัญหา
สิ่งที่ฐานความรู้นี้ครอบคลุม
หัวข้อที่มีชื่อว่า “สิ่งที่ฐานความรู้นี้ครอบคลุม”ใช้ฐานความรู้นี้เพื่อเชื่อมโยงข้อผิดพลาดที่พบกับสาเหตุและวิธีแก้ไข แต่ละรายการอ้างอิงจากคลาสข้อยกเว้น การทดสอบเส้นทางความล้มเหลว และตัวป้องกันในซอร์สโค้ดของเอนจินเอง ไม่ใช่การคาดเดา หากเอนจินไม่มีเส้นทางโค้ดสำหรับข้อผิดพลาดใด ฐานความรู้นี้จะไม่สร้างรายการนั้นขึ้นมาเอง
ฐานความรู้นี้ประกอบด้วยหน้าหัวข้อสี่หน้า:
- การตรวจสอบความถูกต้องของลายเซ็น — ลายเซ็นไม่ถูกต้อง สายใบรับรองไม่สมบูรณ์ สถานะการเพิกถอนไม่ทราบ และการประทับเวลาล้มเหลว
- การตรวจสอบความถูกต้อง PDF/A และ PDF/UA — ปัญหาเกี่ยวกับ Portable Document Format/Archive (PDF/A) และ Portable Document Format/Universal Accessibility (PDF/UA) รวมถึงการไม่มี output intent เนื้อหาที่ไม่ได้กำกับแท็ก การไม่มีข้อมูลภาษา และความล้มเหลวของฟอนต์ที่ฝังไว้
- ฟอนต์และการกำกับแท็ก — ไม่พบฟอนต์ การทำ subsetting ความครอบคลุม CJK และปัญหาเกี่ยวกับ structure tree
- การเข้ารหัสลับและการอนุญาต — การถอดรหัสลับล้มเหลวและขอบเขตของแฟล็กการอนุญาต
วิธีอ่านรายการหนึ่ง
หัวข้อที่มีชื่อว่า “วิธีอ่านรายการหนึ่ง”แต่ละรายการมีห้าส่วน:
- อาการ — สิ่งที่คุณเห็น: คลาสข้อยกเว้น ข้อความบางส่วน หรือผลการตัดสินจากตัวตรวจสอบความถูกต้องในขั้นตอนถัดไป
- สาเหตุที่เป็นไปได้ — เงื่อนไขของอินพุตหรือการกำหนดค่าที่เอนจินรายงานออกมา
- หลักฐาน / การวินิจฉัย — วิธียืนยันสาเหตุ ส่วนนี้ระบุคลาสข้อยกเว้นที่แน่นอน ฟิลด์
getContext()หรือการทดสอบที่แสดงพฤติกรรมนั้น เพื่อให้คุณตรวจสอบยืนยันได้แทนที่จะคาดเดา - วิธีแก้ไข — ขั้นตอนตามลำดับเพื่อขจัดสาเหตุ
- ที่เกี่ยวข้อง — หน้าอ้างอิงของโมดูลหรือรายการที่เกี่ยวข้องสำหรับอ่านต่อ
ระบุความล้มเหลวด้วยชนิดของข้อยกเว้น
หัวข้อที่มีชื่อว่า “ระบุความล้มเหลวด้วยชนิดของข้อยกเว้น”NextPDF ระบุข้อผิดพลาดด้วยคลาส PHP ไม่ใช่รหัสข้อผิดพลาดแบบสตริง ไม่มีค่าคงที่ NPDF-#### อยู่ในคลาสข้อยกเว้น จับข้อยกเว้นระดับใบ (leaf) เมื่อคุณต้องการตอบสนองแบบเฉพาะเจาะจง และอ่าน ContextAwareExceptionInterface::getContext() เพื่อดูฟิลด์ข้อมูลวินิจฉัยแบบมีโครงสร้าง ใช้ NextPDF\Exception\NextPdfException เป็นชนิดฐาน ส่วนข้อผิดพลาดด้านความปลอดภัยยังใช้ NextPDF\Security\Exception\SecurityException ด้วย
สำหรับลำดับชั้นแบบเต็มและกฎลำดับการจับข้อยกเว้น โปรดอ่านเอกสารอ้างอิงข้อยกเว้น
<?php
declare(strict_types=1);
use NextPDF\Exception\NextPdfException;use NextPDF\Contracts\ContextAwareExceptionInterface;
try { // ... engine call ...} catch (NextPdfException $e) { $context = $e instanceof ContextAwareExceptionInterface ? $e->getContext() : []; \error_log($e->getMessage()); // $context carries snake_case primitive fields safe to serialize.}ขอบเขตและขอบเขตจำกัด
หัวข้อที่มีชื่อว่า “ขอบเขตและขอบเขตจำกัด”ฐานความรู้นี้ครอบคลุมวิธีที่เอนจินตรวจจับและรายงานข้อผิดพลาด แต่ไม่ครอบคลุมผลการตัดสินด้านความสอดคล้องจากตัวตรวจสอบความถูกต้องภายนอก เช่น veraPDF หรือ callas เครื่องมือเหล่านั้นใช้ชุดกฎของตนเอง เมื่อเอนจินปฏิเสธการดำเนินการเพื่อรักษาเอกสารให้อยู่ภายในโปรไฟล์หนึ่ง เช่น การปฏิเสธการเข้ารหัสลับภายใต้ PDF/A รายการที่เกี่ยวข้องจะอ้างถึงข้อกำหนดที่มีผลบังคับใช้และข้อยกเว้นที่บังคับใช้ข้อกำหนดดังกล่าว
ดูเพิ่มเติม
หัวข้อที่มีชื่อว่า “ดูเพิ่มเติม”- เอกสารอ้างอิงข้อยกเว้น — ลำดับชั้นแบบเต็ม ลำดับการจับข้อยกเว้น และ
getContext()ในฐานะสัญญา - เอกสารอ้างอิงความสอดคล้อง — ตัวตรวจสอบโปรไฟล์ PDF/A PDF/UA และ PDF/X
อภิธานศัพท์: ข้อยกเว้นที่รับรู้บริบท