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

Trang tổng quan về tuân thủ: NextPDF tạo ra gì và ai quyết định một tệp có tuân thủ hay không

Tuyên bố về ranh giới. Hỗ trợ một hồ sơ không đồng nghĩa với tuân thủ; chỉ trình kiểm định độc lập mới đưa ra phán quyết về tính tuân thủ.

Trang này liệt kê các hồ sơ tiêu chuẩn mà NextPDF Core nhắm tới. Mọi trang trong mục này đều tuân theo một nguyên tắc rút ra từ các tiêu chuẩn: thư viện tạo đầu ra với chủ đích tuân thủ một hồ sơ, còn chỉ trình kiểm định độc lập mới quyết định liệu một tệp Portable Document Format (PDF) cụ thể có thực sự tuân thủ hay không. Trình kiểm định đó có thể là veraPDF, một công cụ kiểm tra PDF/UA, một trình kiểm định hóa đơn điện tử Schematron hoặc cơ quan tiếp nhận. Đối với PDF/A, ISO 19005-4 §6.7.3 nêu rõ ranh giới này: các dấu đánh dấu pdfaid:part/pdfaid:rev cho biết chủ đích của bên tạo tệp; chúng không quyết định tính tuân thủ. Phán quyết được đưa ra theo điều khoản tuân thủ của tiêu chuẩn, bởi một quy trình nằm ngoài thư viện tạo tệp.

NextPDF không khẳng định tính tuân thủ. Nó tạo ra các thành phần cấu trúc mà một hồ sơ yêu cầu. Khi một hồ sơ bị giới hạn quyền truy cập, NextPDF báo lỗi ngay tại ranh giới API, nên phần năng lực còn thiếu sẽ hiện ra dưới dạng lỗi rõ ràng, chứ không phải một tệp âm thầm không tuân thủ.

Terminal window
composer require nextpdf/core:^3

Một số hồ sơ bên dưới cần gói Premium nextpdf/pro; mỗi trang liên quan đều ghi chú yêu cầu đó. Core đi kèm bộ phân loại tuân thủ (NextPDF\Conformance\ConformanceMode) và các trình kiểm định luồng byte trong NextPDF\Compliance. Đường dẫn tạo OutputIntent / International Color Consortium (ICC) / Extensible Metadata Platform (XMP) cho các hồ sơ lưu trữ nằm trong nextpdf/pro.

NextPDF định tuyến tài liệu tới một hợp đồng tuân thủ thông qua một bộ phân loại được định kiểu duy nhất, NextPDF\Conformance\ConformanceMode. Enum này là nguồn chuẩn cho hợp đồng ISO mà bộ ghi phải tuân theo. Nó có các trường hợp cho Plain, PdfUa1, PdfUa2, PdfA2, PdfA3/PdfA3b/PdfA3u, và PdfA4/PdfA4e/PdfA4f. Bộ ghi đọc chế độ và tạo ra cấu trúc cần thiết; nó không bao giờ đặt cờ báo rằng tệp đã tuân thủ.

Ba ranh giới áp dụng cho mọi trang trong mục này:

  • Hỗ trợ ≠ tuân thủ. Tạo ra siêu dữ liệu mà một hồ sơ yêu cầu là một năng lực, không phải một phán quyết.
  • Kiểm định ≠ chứng nhận. Một báo cáo kiểm định không có lỗi là bằng chứng, không phải một chứng chỉ.
  • Một hồ sơ đã được kiểm thử ≠ chứng nhận. Các bài kiểm thử của NextPDF xác nhận rằng các byte được tạo ra khớp với những điều khoản được trích dẫn; chúng không phải là một cuộc đánh giá được công nhận.

Các điểm đầu vào tuân thủ trên NextPDF\Core\Document là:

Phương thứcTác dụngPhân hạng
enablePdfA(?object $version = null)Định tuyến tài liệu tới một trường hợp ConformanceMode của PDF/A (mặc định PdfA4); lên lịch OutputIntent + ICC + XMP tại save(). Ném InvalidConfigException nếu thiếu nextpdf/pro.API của Core, engine Premium
enableTaggedPdf(string $lang = 'en', ?ConformancePolicy $policy = null)Đặt ConformanceMode::PdfUa2, kết nối bộ phát nội dung được gắn thẻ, kiểm tra thẻ ngôn ngữ theo chính sách.Core
<?php
declare(strict_types=1);
require_once __DIR__ . '/vendor/autoload.php';
use NextPDF\Core\Document;
$doc = Document::createStandalone();
$doc->enableTaggedPdf('en'); // ConformanceMode::PdfUa2
$doc->setTitle('Conformance index sample');
$doc->writeHtml('<h1>Hello</h1><p>Tagged content.</p>');
$doc->save(getenv('NEXTPDF_COOKBOOK_OUTPUT') ?: __DIR__ . '/out.pdf');

Không áp dụng. Các trang theo từng hồ sơ cung cấp ví dụ sản xuất có thể chạy được; trang danh mục này chỉ là trang điều hướng.

  • Trang danh mục không khẳng định bất kỳ hành vi nào. Các trang theo từng hồ sơ chứa các bảng tuyên bố đã được xác minh. Trang này chỉ nêu nguyên tắc chủ đạo.
  • Tên một hồ sơ trong siêu dữ liệu là một tuyên bố, không phải bằng chứng. Một trình đọc khi gặp pdfaid:part=4 chỉ thấy chủ đích của bên tạo tệp, không phải bằng chứng rằng tệp đó tuân thủ.
  • Việc giới hạn theo năng lực là fail-fast. Một bản cài đặt chỉ có Core mà gọi một đường dẫn lưu trữ Premium sẽ nhận InvalidConfigException kèm thông báo nâng cấp, không bao giờ là một tệp âm thầm không tuân thủ.

Không áp dụng cho trang danh mục. Các trang theo từng hồ sơ tự khai báo ngân sách riêng của chúng.

Các hồ sơ tuân thủ ràng buộc cấu trúc, chứ không định hình tư thế phòng vệ trước mối đe dọa. PDF/A-4 cấm mã hóa; PDF/UA-2 yêu cầu cấu trúc có thể truy cập được. Cả hai đều không phải là biện pháp kiểm soát bảo mật. Xem trung tâm tin cậy để biết mô hình bảo mật của engine.

Tuyên bốĐặc tảĐiều khoảnreference_id
Các dấu đánh dấu pdfaid của bên tạo tệp cho biết chủ đích; điều khoản tuân thủ của tiêu chuẩn chi phối phán quyết do một trình kiểm định hoặc quy trình đưa ra, chứ không phải do thư viện.ISO 19005-4§6.7.3
Sự phù hợp với PDF/UA-2 được đánh giá theo các yêu cầu về sự phù hợp của tiêu chuẩn, không phải do phần mềm tạo tệp khẳng định.ISO 14289-2§7.2.2
Một tệp PDF 2.0 tuân thủ phải đáp ứng các yêu cầu về cấu trúc tệp và trailer đã được định nghĩa; thư viện tạo ra chúng nhưng không phán quyết kết quả.ISO 32000-2§7.5.5

Các trích dẫn là con trỏ clause-id + reference_id vào kho ngữ liệu kiểm chứng. Không có văn bản tiêu chuẩn nào được sao chép lại.