Đường cơ sở PDF 2.0: các điều khoản ISO 32000-2 mà NextPDF triển khai
Tổng quan nhanh
Phần tiêu đề “Tổng quan nhanh”Tuyên bố ranh giới. NextPDF triển khai các điều khoản được trích dẫn; NextPDF không khẳng định việc tuân thủ đầy đủ ISO 32000-2 như một tuyên bố chung chung.
ISO 32000-2:2020 là tiêu chuẩn nền tảng của PDF 2.0. Theo mặc định, NextPDF Core phát ra PDF 2.0 không bị ràng buộc (ConformanceMode::Plain): một header %PDF-2.0, một danh mục tài liệu, một cấu trúc tham chiếu chéo và một trailer tuân thủ. Trang này ghi lại các điều khoản đường cơ sở mà NextPDF triển khai cùng các ranh giới áp dụng rõ ràng. Thư viện triển khai các điều khoản được trích dẫn; thư viện không đưa ra tuyên bố chung chung rằng tài liệu “tuân thủ đầy đủ ISO 32000-2”. Một tệp tuân thủ là tệp mà một trình đọc tuân thủ có thể xử lý theo tiêu chuẩn. Đó là kết luận của trình kiểm chứng, không phải một cờ của thư viện.
Cài đặt
Phần tiêu đề “Cài đặt”composer require nextpdf/core:^3Đầu ra đường cơ sở PDF 2.0 là mặc định của Core; bạn không cần chọn profile nào. ConformanceMode::Plain là bộ phân biệt mặc định. Các profile PDF/A-4, PDF/UA-2, PDF/X và ZUGFeRD là những tập con có ràng buộc được xếp lớp trên đường cơ sở này.
Tổng quan khái niệm
Phần tiêu đề “Tổng quan khái niệm”Mọi tài liệu NextPDF đều khởi đầu dưới dạng một tệp PDF 2.0 trước khi bất kỳ profile nào được áp dụng. Trình ghi đáp ứng các nghĩa vụ cấu trúc mà ISO 32000-2 đặt ra cho một tệp tuân thủ:
- Danh mục tài liệu — §7.7.2: đối tượng gốc do
/Rootcủa trailer tham chiếu, có mặt trong mọi đầu ra. - Cấu trúc tham chiếu chéo — §7.5.8: một bảng hoặc luồng tham chiếu chéo giúp định vị mọi đối tượng.
- Trailer — §7.5.5: từ điển trailer mà một tệp tuân thủ phải mang theo, bao gồm cả định danh
/IDcủa tệp./IDlà duy nhất theo từng tệp và được loại bỏ trong quá trình chuẩn hóa khi so sánh. Đây là lý do phần lớn đầu ra có nhiều đối tượng dùngreproducibility_profile: structural, chứ không phải so khớp từng bit. - Cấu trúc logic — §14.7.2: khi bật chế độ gắn thẻ, đường cơ sở
StructTreeRoothỗ trợ profile PDF/UA-2. - Mở rộng phiên bản — §7.12: khi một extension của nhà phát triển được khai báo, dùng cơ chế từ điển Extensions / tiền tố nhà phát triển.
NextPDF triển khai các điều khoản này, nhưng không chạy quy trình đánh giá tuân thủ đầy đủ ISO 32000-2. Hãy dùng một trình kiểm chứng bên ngoài, chẳng hạn trình kiểm tra ngữ pháp Arlington hoặc veraPDF, để đưa ra kết luận đó. NextPDF\Compliance đi kèm các kiểm tra chéo luồng byte (ArlingtonValidator) nhằm phát hiện các bất nhất cấu trúc. Các kiểm tra này hỗ trợ việc kiểm chứng; chúng không phải là chứng nhận.
Bề mặt API
Phần tiêu đề “Bề mặt API”| Ký hiệu | Tác dụng |
|---|---|
ConformanceMode::Plain | Mặc định — phát ra PDF 2.0 không bị ràng buộc. |
ConformanceMode::requiresPdf17(): bool | False đối với các chế độ PDF 2.0; trình ghi phát ra một header %PDF-2.0. |
NextPDF\Compliance\Validator\ArlingtonValidator | Kiểm tra chéo ngữ pháp theo mô hình Arlington PDF (hỗ trợ việc kiểm chứng). |
Mẫu mã — bắt đầu nhanh
Phần tiêu đề “Mẫu mã — bắt đầu nhanh”<?php
declare(strict_types=1);
require_once __DIR__ . '/vendor/autoload.php';
use NextPDF\Core\Document;
$out = getenv('NEXTPDF_COOKBOOK_OUTPUT') ?: __DIR__ . '/baseline.pdf';
$doc = Document::createStandalone(); // ConformanceMode::Plain — PDF 2.0$doc->setTitle('PDF 2.0 baseline');$doc->writeHtml('<h1>Hello PDF 2.0</h1><p>Unconstrained baseline output.</p>');$doc->save($out);
echo "Wrote {$out} (%PDF-2.0). Validate structure with an external checker.\n";Mẫu mã — môi trường thực tế
Phần tiêu đề “Mẫu mã — môi trường thực tế”Trong môi trường thực tế, hãy chạy trình kiểm chứng cấu trúc bên ngoài (Arlington / veraPDF) trong tích hợp liên tục (CI) trên đầu ra đại diện, rồi đặt cổng kiểm soát dựa trên báo cáo của trình đó. Thư viện phát ra cấu trúc; trình kiểm tra xác định cấu trúc đó có tuân thủ hay không. Thư viện không đưa ra bất kỳ tuyên bố tuân thủ chung chung nào.
Các trường hợp biên & điều cần lưu ý
Phần tiêu đề “Các trường hợp biên & điều cần lưu ý”/IDlà duy nhất theo từng tệp. Đầu ra đường cơ sở chứa/IDtrong trailer,/CreationDate, hoặc các tiền tố tập con phông chữ sẽ không ổn định ở mức byte. Hãy so sánh bằng profile cấu trúc (qpdf-normalize), chứ không phải sha256 thô.- Plain ≠ lưu trữ.
ConformanceMode::Plainkhông phải là PDF/A. Nó không mang theo OutputIntent hay dấu hiệupdfaidnào. Đừng xem nó là định dạng lưu trữ. - Triển khai ≠ tuân thủ đầy đủ. Trang này liệt kê các điều khoản mà NextPDF triển khai. Nó không khẳng định rằng mọi điều khoản ISO 32000-2 đều được đáp ứng cho mọi tài liệu. Đó là phán quyết của trình kiểm chứng cho từng tài liệu.
- Các extension có không gian tên. Một extension của nhà phát triển dùng từ điển Extensions §7.12 với một tiền tố đã đăng ký. Khóa riêng không có tiền tố là một sai lệch so với đường cơ sở.
Hiệu năng
Phần tiêu đề “Hiệu năng”Phát ra đường cơ sở là đường dẫn lõi của engine. Ngân sách là thời gian thực ≤ 1500 ms và mức sử dụng đỉnh ≤ 64 MB cho một tài liệu điển hình. Trình ghi đường cơ sở hỗ trợ ma trận backport (PHP 8.1–8.4).
Lưu ý về bảo mật
Phần tiêu đề “Lưu ý về bảo mật”Đầu ra đường cơ sở PDF 2.0 không mang theo mã hóa hay chữ ký trừ khi bạn thêm chúng một cách tường minh. Mã hóa cung cấp tính bảo mật và được trình bày trong một công thức riêng. Các bit quyền ISO dựa vào sự hợp tác của trình đọc, không phải cơ chế kiểm soát truy cập. Đường cơ sở không đưa ra bất kỳ bảo đảm bảo mật nào.
Sự tuân thủ
Phần tiêu đề “Sự tuân thủ”| Tuyên bố | Đặc tả | Điều khoản | reference_id |
|---|---|---|---|
| Tệp PDF 2.0 tuân thủ phải mang theo một trailer / cấu trúc tệp tuân thủ. | ISO 32000-2 | §7.5.5 | |
| Mọi đối tượng đều có thể định vị được qua một bảng hoặc luồng tham chiếu chéo. | ISO 32000-2 | §7.5.8 | |
| Tệp có danh mục tài liệu làm đối tượng gốc. | ISO 32000-2 | §7.7.2 | |
| Việc tuân thủ được đặt trong khuôn khổ trình ghi và trình đọc tuân thủ. | ISO 32000-2 | §7.2 | |
| Các mở rộng phiên bản dùng từ điển Extensions / tiền tố nhà phát triển. | ISO 32000-2 | §7.12 | |
| Đầu ra gắn thẻ được xây dựng dựa trên đường cơ sở cấu trúc logic của ISO 32000-2. | ISO 32000-2 | §14.7.2 |
Các trích dẫn là con trỏ gồm clause-id + reference_id đến kho ngữ liệu kiểm chứng. Không có văn bản tiêu chuẩn nào được tái hiện; NextPDF tóm tắt các điều khoản bằng ngôn từ của riêng mình.