Bỏ qua để đến nội dung

Ánh xạ đặc tả PDF/UA-2 (ISO 14289-2)

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.

Terminal window
composer require nextpdf/core

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.

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ữ catalogDocument::enableTaggedPdf(string $lang, ?ConformancePolicy)
Ngôn ngữ tự nhiên ở cấp tài liệuDocument::setLanguage(string $lang)
Cây cấu trúc và gốc Document duy nhấtStructureTree::createRoot(), StructureTree::addElement()
Bộ từ vựng kiểu cấu trúc chuẩnRoleMap::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-47Bcp47Validator, ConformancePolicy::strictUa2()
Khắc phục theo phỏng đoán (tùy chọn bật)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

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.

  • 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()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áo CONFORMANCE_MODE_CLOBBERED giú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 NextPDFGhi 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ấpThư 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ạiComposer chịu trách nhiệm chỉnh đúng thứ tự đọc.
Liên kết tiêu đề bảng và phạm viNằm ngoài phạm vi, vượt khỏi mã đánh dấu HTMLKhô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 viNgườ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ìnhNằm ngoài phạm viKhô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 viKhông do thư viện cung cấp.

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.

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.

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.

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.