การแมปข้อกำหนด PDF/UA-2 (ISO 14289-2)
ภาพรวมโดยสังเขป
หัวข้อที่มีชื่อว่า “ภาพรวมโดยสังเขป”หน้านี้แสดงการแมปคุณสมบัติของ NextPDF Core เข้ากับข้อกำหนดของ PDF/UA-2 (Portable Document Format/Universal Accessibility 2; ISO 14289-2) โดยระบุว่าไลบรารีช่วยให้ปฏิบัติตามข้อกำหนดใดได้บ้าง และข้อกำหนดใดอยู่นอกขอบเขตอย่างชัดเจน หน้านี้ไม่ใช่การประกาศความสอดคล้อง ไฟล์จะสอดคล้องได้หรือไม่นั้นขึ้นอยู่กับเนื้อหาของคุณ มาร์กอัปต้นทาง และการตรวจสอบด้วยตัวตรวจ PDF/UA จากภายนอก
การติดตั้ง
หัวข้อที่มีชื่อว่า “การติดตั้ง”composer require nextpdf/coreภาพรวมเชิงแนวคิด
หัวข้อที่มีชื่อว่า “ภาพรวมเชิงแนวคิด”PDF/UA-2 (ISO 14289-2) ระบุข้อกำหนดสำหรับไฟล์ PDF ที่เข้าถึงได้ ข้อกำหนดเหล่านี้ต่อยอดจากกลไกโครงสร้างเชิงตรรกะของ ISO 32000-2 §14.7 และรายการการรองรับการเข้าถึงของ ISO 32000-2 §14.9 ไฟล์ที่สอดคล้องตามข้อกำหนดจะระบุตัวเองด้วยสคีมาการระบุของ ISO 14289-2 §5 ไฟล์มีโครงสร้างต้นไม้ (structure tree) โดยรากมีอิลิเมนต์ Document เพียงรายการเดียว (ISO 14289-2 §8.2.5.2) ไฟล์ใช้ประเภทโครงสร้างมาตรฐานเพื่อให้เทคโนโลยีสิ่งอำนวยความสะดวกสามารถแปลทุกแท็กไปยังบทบาทที่รู้จักได้
NextPDF จัดเตรียมพรีมิทิฟสำหรับการสร้างเอกสารตามโมเดลนี้ ได้แก่ การสร้างโครงสร้างต้นไม้ การแมปบทบาทมาตรฐาน การแท็ก marked-content จาก HTML เชิงความหมาย และแอตทริบิวต์ภาษา BCP-47 NextPDF ไม่อนุมานความหมายที่ไม่มีอยู่ในเนื้อหาต้นทาง NextPDF ไม่เรียกใช้ตัวตรวจสอบความสอดคล้อง พรีมิทิฟเหล่านี้ออกแบบให้สอดคล้องกับโมเดลของ ISO 14289-2 §3.1 ซึ่งเทคโนโลยีสิ่งอำนวยความสะดวกใช้โครงสร้างต้นไม้ ข้อมูลนำเข้าของคุณและตัวตรวจสอบจากภายนอกเป็นตัวกำหนดว่าเอกสารหนึ่งๆ ปฏิบัติตามทุกข้อกำหนดหรือไม่
พื้นผิว API
หัวข้อที่มีชื่อว่า “พื้นผิว API”| ขอบเขตข้อกำหนด | จุดเข้าใช้งานของ NextPDF |
|---|---|
| การเปิดใช้งาน Tagged-PDF, mark-info, ภาษาของ catalog | Document::enableTaggedPdf(string $lang, ?ConformancePolicy) |
| ภาษาธรรมชาติในระดับเอกสาร | Document::setLanguage(string $lang) |
โครงสร้างต้นไม้และราก Document รายการเดียว | StructureTree::createRoot(), StructureTree::addElement() |
| คำศัพท์ของประเภทโครงสร้างมาตรฐาน | RoleMap::standard() |
| ภาษาในระดับอิลิเมนต์ ข้อความทางเลือก และข้อความแทนที่ | StructureElement แอตทริบิวต์ของ constructor |
| การตรวจสอบ BCP-47 แบบเข้มงวด | Bcp47Validator, ConformancePolicy::strictUa2() |
| การแก้ไขเชิงฮิวริสติก (เลือกใช้) | AccessibilityAutoFixerRegistry |
ตัวอย่างโค้ด — เริ่มต้นใช้งานอย่างรวดเร็ว
หัวข้อที่มีชื่อว่า “ตัวอย่างโค้ด — เริ่มต้นใช้งานอย่างรวดเร็ว”<?php
declare(strict_types=1);
use NextPDF\Core\Document;
$doc = Document::createStandalone();$doc->enableTaggedPdf(lang: 'en');$doc->setTitle('PDF/UA-2 structure demonstration');$doc->addPage();$doc->writeHtml('<h1>Title</h1><p>Body.</p><ul><li>Item</li></ul>');$doc->save(__DIR__ . '/output/ua2.pdf');
// Then validate with an external checker. NextPDF does not assert// conformance on your behalf:// verapdf --flavour ua2 output/ua2.pdfตัวอย่างโค้ด — สำหรับใช้งานจริง
หัวข้อที่มีชื่อว่า “ตัวอย่างโค้ด — สำหรับใช้งานจริง”ดู ตัวอย่างสำหรับใช้งานจริงของโมดูล Accessibility สำหรับ writer แบบฉีดดีเพนเดนซี ซึ่งมีการตรวจสอบ BCP-47 แบบเข้มงวด การบันทึกข้อความแนะนำ และการจัดการข้อผิดพลาด รูปแบบการเชื่อมต่อนี้ใช้ได้กับเวิร์กโฟลว์การสร้างเอกสาร PDF/UA-2 ให้เพิ่มขั้นตอนการตรวจสอบจากภายนอกหลังการสร้างเอกสาร ขั้นตอนนี้จำเป็นสำหรับการประกาศความสอดคล้องและเป็นความรับผิดชอบของคุณ
กรณีขอบและข้อควรระวัง
หัวข้อที่มีชื่อว่า “กรณีขอบและข้อควรระวัง”- เอกสารที่เปิดใช้งาน tagged PDF แต่ไม่ได้แนบโหนดลูกของโครงสร้างจะไม่ปล่อยบล็อกการระบุ PDF/UA-2 ตามที่ออกแบบไว้ (ISO 14289-2 §5) ตัวตรวจสอบจะปฏิเสธโครงสร้างต้นไม้ที่ว่างเปล่า
- การใช้
enablePdfA()และenableTaggedPdf()ร่วมกันจะทำให้ตัวบ่งชี้ความสอดคล้องที่มีค่าเดียวถูกยุบเป็นพฤติกรรมแบบค่าหลังสุดชนะ ในขณะที่ผลข้างเคียงเชิงโครงสร้างยังคงสะสมอยู่ คำเตือนCONFORMANCE_MODE_CLOBBEREDช่วยให้สังเกตเห็นพฤติกรรมนี้ได้ - ISO 14289-2 §7.2.2 อนุญาตให้เอกสารที่สอดคล้องประกาศความสอดคล้องเพิ่มเติมกับกฎระเบียบด้านการเข้าถึงที่กว้างขึ้นได้ NextPDF ปล่อยเฉพาะสคีมาการระบุ PDF/UA-2 เท่านั้น และไม่ปล่อยเมทาดาทาการประกาศตามกฎระเบียบอื่น
การแมปข้อกำหนดและส่วนที่ไม่ครอบคลุมอย่างชัดเจน
หัวข้อที่มีชื่อว่า “การแมปข้อกำหนดและส่วนที่ไม่ครอบคลุมอย่างชัดเจน”| ขอบเขตข้อกำหนด (ISO 14289-2 / ISO 32000-2) | การรองรับของ NextPDF | หมายเหตุ |
|---|---|---|
| สคีมาการระบุ PDF/UA-2 (ISO 14289-2 §5) | รองรับ | ปล่อยเฉพาะเมื่อโครงสร้างต้นไม้มีโหนดลูกเท่านั้น |
อิลิเมนต์ Document เดียวภายใต้รากของโครงสร้างต้นไม้ (ISO 14289-2 §8.2.5.2; ISO 32000-2 §14.7.2) | รองรับ | createRoot() บังคับให้มีราก Document เพียงรายการเดียว |
| ประเภทโครงสร้างมาตรฐานและ role map (ISO 32000-2 §14.7; Well-Tagged PDF §8.2.5.1) | รองรับ | RoleMap::standard() รวมกับเนมสเปซ PDF 2.0 |
| ลำดับ marked-content และ parent tree (ISO 32000-2 §14.7.2) | รองรับ | ตัวระบุระดับหน้าและการต่อเนื่องข้ามหน้า |
| ภาษาธรรมชาติในระดับ catalog และในระดับอิลิเมนต์ (ISO 32000-2 §14.9; ISO 14289-2 §8.4.4) | รองรับ | BCP-47; โหมดเข้มงวดจะปฏิเสธแท็กที่มีรูปแบบไม่ถูกต้อง |
| ตัวพา (carrier) สำหรับข้อความทางเลือกและข้อความแทนที่ (ISO 32000-2 §14.9) | รองรับตัวพา เนื้อหาเป็นสิ่งที่ผู้สร้างเอกสารจัดเตรียม | ไลบรารีไม่สร้างข้อความทางเลือก |
| ลำดับการอ่านเชิงตรรกะ (ISO 32000-2 §14.7) | รองรับลำดับตามต้นทาง ไม่จัดเรียงลำดับใหม่ | การแก้ไขลำดับการอ่านให้ถูกต้องเป็นความรับผิดชอบของผู้สร้างเอกสาร |
| การเชื่อมโยงหัวตาราง (header) และ scope | อยู่นอกขอบเขตเกินกว่ามาร์กอัป HTML | ไม่มีการอนุมาน ขึ้นอยู่กับมาร์กอัปต้นทาง |
| ความถูกต้องของระดับหัวข้อและโครงร่าง | อยู่นอกขอบเขต | ผู้สร้างเอกสารต้องจัดเตรียมลำดับชั้นของหัวข้อให้ถูกต้อง |
| การตรวจสอบ PDF/UA-2 แบบครบวงจร | อยู่นอกขอบเขต | ไม่มีตัวตรวจสอบในตัว ต้องตรวจสอบจากภายนอก |
| การรับรองหรือการออกใบรับรองความสอดคล้อง | อยู่นอกขอบเขต | ไลบรารีไม่ได้จัดเตรียมให้ |
ประสิทธิภาพ
หัวข้อที่มีชื่อว่า “ประสิทธิภาพ”กลไกโครงสร้างต้นไม้เพิ่มรอบการซีเรียลไลซ์เชิงเส้นหนึ่งรอบให้กับชุดอิลิเมนต์ ไปป์ไลน์ HTML เป็นส่วนที่ใช้ทรัพยากรเป็นหลัก ไม่ใช่การปล่อยแท็ก ขีดจำกัด performance_budget ใช้กับเอกสารเชิงความหมายหลายหน้าโดยทั่วไป
หมายเหตุด้านความปลอดภัย
หัวข้อที่มีชื่อว่า “หมายเหตุด้านความปลอดภัย”ค่าภาษาและแอตทริบิวต์การเข้าถึงจะถูก escape ผ่าน PdfStringEscaper ก่อนเข้าสู่ไวยากรณ์ของอ็อบเจกต์ PDF การตรวจสอบ BCP-47 ในโหมดเข้มงวดช่วยจำกัดพื้นผิวการรับข้อมูลของแท็กภาษาไว้ที่ขอบเขต API ควรปฏิบัติต่อข้อความทางเลือกและชื่อเรื่องที่ผู้สร้างเอกสารจัดเตรียมในฐานะเอาต์พุตที่ไม่น่าเชื่อถือ
ความสอดคล้อง
หัวข้อที่มีชื่อว่า “ความสอดคล้อง”NextPDF ปล่อยโครงสร้างที่สอดคล้องกับโมเดลโครงสร้างต้นไม้ PDF/UA-2 ที่นิยามไว้ใน ISO 14289-2 และ ISO 32000-2 §14.7 แต่ไม่รับรองว่าเอกสารหนึ่งๆ สอดคล้องกับ PDF/UA-2 ให้ตรวจสอบด้วยตัวตรวจ PDF/UA เช่น veraPDF ไลบรารีไม่รับรองความสอดคล้องแทนคุณ การทดสอบ golden ของ veraPDF UA-2 ที่รวมมาให้จะถูกข้ามเมื่อไม่มีไบนารี veraPDF ดังนั้นจึงไม่มีการอ้างว่าผ่านความสอดคล้องในที่นี้ ข้อกำหนดที่อ้างอิงเป็นการเรียบเรียงใหม่ทั้งหมด ไม่ได้ยกมาแบบคำต่อคำ แฮชของ chunk จะถูกบันทึกไว้ใน docs/public/modules/core/_normative-evidence-a11y.md
ข้อจำกัดที่ทราบ
หัวข้อที่มีชื่อว่า “ข้อจำกัดที่ทราบ”การประกาศความสอดคล้อง PDF/UA-2 ต้องอาศัยความหมายที่ผู้สร้างเอกสารจัดเตรียม (ข้อความทางเลือก ลำดับชั้นของหัวข้อที่ถูกต้อง การเชื่อมโยงหัวตาราง ลำดับการอ่านที่ตั้งใจไว้ การจำแนกเนื้อหาเชิงตกแต่ง) และการตรวจสอบด้วยตัวตรวจสอบจากภายนอก ไลบรารีไม่สร้างหรือตรวจสอบสิ่งเหล่านี้เลย รันไทม์จะปล่อยข้อความแนะนำ Degraded / ComplianceRisk เพื่อชี้นำให้คุณตรวจสอบจากภายนอกก่อนอนุมัติสำหรับการใช้งานจริง ความสอดคล้องเป็นคุณสมบัติของเอกสารสุดท้ายและกระบวนการสร้างเอกสาร ไม่ใช่ของการเรียกใช้ API