Ánh xạ đặc tả PDF/UA-2 (ISO 14289-2)
Tổng quan nhanh
Phần tiêu đề “Tổng quan nhanh”Trang này ánh xạ các tính năng của NextPDF Core sang các điều khoản của PDF/UA-2 (Portable Document Format/Universal Accessibility 2; ISO 14289-2). Trang nêu rõ những điều khoản thư viện giúp bạn đáp ứng, cũng như những điều khoản nằm ngoài phạm vi hỗ trợ. Đây không phải là một tuyên bố tuân thủ. Việc một tệp có tuân thủ hay không phụ thuộc vào nội dung của bạn, mã đánh dấu nguồn và kết quả kiểm định bằng trình kiểm tra PDF/UA bên ngoài.
Cài đặt
Phần tiêu đề “Cài đặt”composer require nextpdf/coreTổng quan khái niệm
Phần tiêu đề “Tổng quan khái niệm”PDF/UA-2 (ISO 14289-2) định nghĩa các yêu cầu đối với tệp PDF có khả năng tiếp cận. Các yêu cầu này được xây dựng trên các cơ chế cấu trúc logic của ISO 32000-2 §14.7 và các mục hỗ trợ khả năng tiếp cận của ISO 32000-2 §14.9. Một tệp tuân thủ tự định danh bằng lược đồ nhận dạng của ISO 14289-2 §5. Tệp đó có một cây cấu trúc với phần tử Document duy nhất ở gốc (ISO 14289-2 §8.2.5.2). Tệp sử dụng các kiểu cấu trúc chuẩn để công nghệ hỗ trợ có thể phân giải mọi thẻ thành một vai trò đã biết.
NextPDF cung cấp các thành phần nền tảng để soạn nội dung theo mô hình này: dựng cây cấu trúc, ánh xạ vai trò chuẩn, gắn thẻ nội dung được đánh dấu từ HTML ngữ nghĩa và gán các thuộc tính ngôn ngữ BCP-47. NextPDF không suy luận ngữ nghĩa không tồn tại trong nội dung nguồn. NextPDF không chạy trình kiểm tra tuân thủ. Các thành phần nền tảng này hướng đến mô hình ISO 14289-2 §3.1, trong đó công nghệ hỗ trợ tiếp nhận cây cấu trúc. Dữ liệu đầu vào của bạn và một trình kiểm định bên ngoài sẽ quyết định liệu một tài liệu cụ thể có đáp ứng mọi điều khoản hay không.
Bề mặt API
Phần tiêu đề “Bề mặt API”| Lĩnh vực điều khoản | Điểm truy cập NextPDF |
|---|---|
| Kích hoạt tagged-PDF, mark-info, ngôn ngữ catalog | Document::enableTaggedPdf(string $lang, ?ConformancePolicy) |
| Ngôn ngữ tự nhiên ở cấp tài liệu | Document::setLanguage(string $lang) |
Cây cấu trúc và gốc Document duy nhất | StructureTree::createRoot(), StructureTree::addElement() |
| Bộ từ vựng kiểu cấu trúc chuẩn | RoleMap::standard() |
| Ngôn ngữ theo từng phần tử, văn bản thay thế và văn bản thế chỗ | StructureElement — các thuộc tính hàm khởi tạo |
| Kiểm định nghiêm ngặt BCP-47 | Bcp47Validator, ConformancePolicy::strictUa2() |
| Khắc phục theo phỏng đoán (tùy chọn bật) | AccessibilityAutoFixerRegistry |
Mã ví dụ — Bắt đầu nhanh
Phần tiêu đề “Mã ví dụ — Bắt đầu nhanh”<?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.pdfMã ví dụ — Môi trường sản xuất
Phần tiêu đề “Mã ví dụ — Môi trường sản xuất”Xem ví dụ môi trường sản xuất của mô-đun Accessibility để dùng trình ghi được tiêm phụ thuộc cùng với kiểm định nghiêm ngặt BCP-47, ghi nhật ký khuyến cáo và xử lý lỗi. Cách kết nối tương tự cũng áp dụng cho quy trình soạn nội dung PDF/UA-2. Hãy thêm bước kiểm định bên ngoài sau khi tạo tài liệu. Bước này là bắt buộc đối với một tuyên bố tuân thủ và thuộc trách nhiệm của bạn.
Trường hợp biên & điểm cần lưu ý
Phần tiêu đề “Trường hợp biên & điểm cần lưu ý”- Một tài liệu bật tagged PDF nhưng không gắn phần tử cấu trúc con nào sẽ không công bố khối nhận dạng PDF/UA-2; đây là thiết kế có chủ đích (ISO 14289-2 §5). Các trình kiểm định từ chối cây cấu trúc rỗng.
- Khi kết hợp
enablePdfA()vàenableTaggedPdf(), bộ phân biệt tuân thủ đơn giá trị sẽ tuân theo quy tắc giá trị cuối thắng, đồng thời vẫn cộng dồn các tác động phụ về cấu trúc. Cảnh báoCONFORMANCE_MODE_CLOBBEREDgiúp bạn quan sát được điều này. - ISO 14289-2 §7.2.2 cho phép một tài liệu tuân thủ được tuyên bố thêm là phù hợp với các quy định về khả năng tiếp cận rộng hơn. NextPDF chỉ phát ra lược đồ nhận dạng PDF/UA-2 và không phát ra siêu dữ liệu tuyên bố quy định nào khác.
Ánh xạ điều khoản và phần không bao phủ rõ ràng
Phần tiêu đề “Ánh xạ điều khoản và phần không bao phủ rõ ràng”| Lĩnh vực điều khoản (ISO 14289-2 / ISO 32000-2) | Mức hỗ trợ của NextPDF | Ghi chú |
|---|---|---|
| Lược đồ nhận dạng PDF/UA-2 (ISO 14289-2 §5) | Hỗ trợ | Chỉ được phát ra khi cây cấu trúc có phần tử con. |
Một phần tử Document duy nhất dưới gốc cây cấu trúc (ISO 14289-2 §8.2.5.2; ISO 32000-2 §14.7.2) | Hỗ trợ | createRoot() bắt buộc chỉ có một Document gốc. |
| Các kiểu cấu trúc chuẩn và bản đồ vai trò (ISO 32000-2 §14.7; Well-Tagged PDF §8.2.5.1) | Hỗ trợ | RoleMap::standard() cùng với namespace PDF 2.0. |
| Các chuỗi nội dung được đánh dấu và cây cha (ISO 32000-2 §14.7.2) | Hỗ trợ | Định danh theo từng trang, tiếp nối xuyên trang. |
| Ngôn ngữ tự nhiên ở catalog và theo từng phần tử (ISO 32000-2 §14.9; ISO 14289-2 §8.4.4) | Hỗ trợ | BCP-47; chế độ nghiêm ngặt từ chối các thẻ sai định dạng. |
| Các vùng chứa văn bản thay thế và văn bản thế chỗ (ISO 32000-2 §14.9) | Hỗ trợ vùng chứa; nội dung do Composer cung cấp | Thư viện không tạo ra văn bản thay thế. |
| Thứ tự đọc logic (ISO 32000-2 §14.7) | Hỗ trợ thứ tự nguồn; không sắp xếp lại | Composer chịu trách nhiệm chỉnh đúng thứ tự đọc. |
| Liên kết tiêu đề bảng và phạm vi | Nằm ngoài phạm vi, vượt khỏi mã đánh dấu HTML | Không được suy luận; phụ thuộc vào mã đánh dấu nguồn. |
| Tính chính xác về cấp tiêu đề và dàn ý | Nằm ngoài phạm vi | Người soạn phải cung cấp một hệ thống phân cấp tiêu đề đúng. |
| Kiểm chứng PDF/UA-2 toàn trình | Nằm ngoài phạm vi | Không kèm trình kiểm tra; hãy kiểm định bên ngoài. |
| Chứng thực hoặc chứng nhận tuân thủ | Nằm ngoài phạm vi | Không do thư viện cung cấp. |
Hiệu năng
Phần tiêu đề “Hiệu năng”Các tiện ích cây cấu trúc thêm một lượt tuần tự hóa tuyến tính trên tập phần tử. Đường ống HTML chiếm phần lớn chi phí, không phải bước phát thẻ. Giới hạn performance_budget áp dụng cho một tài liệu ngữ nghĩa nhiều trang điển hình.
Ghi chú bảo mật
Phần tiêu đề “Ghi chú bảo mật”Các giá trị ngôn ngữ và thuộc tính khả năng tiếp cận được xử lý thoát qua PdfStringEscaper trước khi đi vào cú pháp đối tượng PDF. Kiểm định BCP-47 ở chế độ nghiêm ngặt thu hẹp bề mặt đầu vào của thẻ ngôn ngữ tại ranh giới API. Hãy xem văn bản thay thế và tiêu đề do Composer cung cấp là đầu ra không đáng tin cậy.
Tuân thủ
Phần tiêu đề “Tuân thủ”NextPDF phát ra cấu trúc nhất quán với mô hình cây cấu trúc PDF/UA-2 được định nghĩa trong ISO 14289-2 và ISO 32000-2 §14.7. Thư viện không khẳng định rằng một tài liệu cụ thể tuân thủ PDF/UA-2. Hãy kiểm định bằng trình kiểm tra PDF/UA, chẳng hạn veraPDF; thư viện không khẳng định tuân thủ thay cho bạn. Bài kiểm tra golden veraPDF UA-2 đi kèm sẽ bị bỏ qua khi không có tệp nhị phân veraPDF, nên trang này không tuyên bố bất kỳ lần đạt tuân thủ nào. Các điều khoản được trích dẫn đều được diễn giải lại, không bao giờ trích nguyên văn; các giá trị băm của khối được ghi lại trong docs/public/modules/core/_normative-evidence-a11y.md.
Các giới hạn đã biết
Phần tiêu đề “Các giới hạn đã biết”Một tuyên bố tuân thủ PDF/UA-2 đòi hỏi ngữ nghĩa do Composer cung cấp (văn bản thay thế, hệ thống phân cấp tiêu đề đúng, liên kết tiêu đề bảng, thứ tự đọc mong muốn, phân loại nội dung trang trí) và việc kiểm định bằng một trình kiểm tra bên ngoài. Thư viện không tạo ra hay kiểm chứng bất kỳ yếu tố nào trong số này. Thời gian chạy phát ra khuyến cáo Degraded / ComplianceRisk để hướng dẫn bạn kiểm định bên ngoài trước khi phê duyệt cho môi trường sản xuất. Tuân thủ là thuộc tính của tài liệu cuối cùng và quy trình soạn nội dung, không phải của lệnh gọi API.