Lưu trữ và PDF/A
Spec: ISO 19005-4:2020, PDF/A-4 ISO 19005-4:2020 PDF/A-4 Spec: ISO 19005-2, PDF/A-2 ISO 19005-2 PDF/A-2 Evidence: Standard-backed
Tổng quan nhanh
Phần tiêu đề “Tổng quan nhanh”PDF/A là định dạng bạn dùng khi một tài liệu phải vẫn đọc được và giữ nguyên độ trung thực sau nhiều thập kỷ nữa, trên cả những phần mềm chưa tồn tại. Trang này giải thích bảo đảm đó thực sự bao gồm những gì, cách NextPDF tạo ra một tệp tuân thủ, và điều thường khiến các nhóm bất ngờ: tạo ra PDF/A và chứng minh một tệp là PDF/A là hai việc khác nhau. Việc thứ hai vẫn là trách nhiệm của bạn.
Vì sao điều này quan trọng
Phần tiêu đề “Vì sao điều này quan trọng”Các nghĩa vụ lưu trữ thường âm thầm nhưng không hề khoan nhượng. Hôm nay tệp trông vẫn ổn, nên nó được đưa vào hồ sơ. Rồi lỗi — một phông chữ không được nhúng, một màu phụ thuộc thiết bị, một trailer đã được mã hóa — chỉ lộ ra sau nhiều năm, khi môi trường ban đầu không còn nữa và không ai có thể tái dựng tài liệu lẽ ra phải trông như thế nào. Đến lúc đó, cái giá phải trả không còn là kết xuất lại; đó là một hồ sơ mà bạn không thể tin cậy nữa.
PDF/A ra đời chính là để loại bỏ loại lỗi đó. Nhưng “chúng tôi đã dùng một thư viện PDF/A ” không đồng nghĩa với “tệp này tuân thủ”. Đánh đồng hai điều này chính là cách các kho lưu trữ tích tụ những tài liệu chỉ trông như đã được bảo tồn.
Tóm tắt nhanh
Phần tiêu đề “Tóm tắt nhanh”- Mục đích của PDF/A là tái tạo trung thực, khép kín và độc lập với thiết bị theo thời gian — nó bảo tồn diện mạo trực quan tĩnh của tài liệu, độc lập với các công cụ đã tạo ra tài liệu đó (ISO 19005-2 phần Introduction).
- Điều đó kéo theo các ràng buộc cụ thể: nhúng tất cả phông chữ, màu độc lập với thiết bị (trực tiếp hoặc thông qua một output intent; ISO 19005-4 §6.2.4.1), và không mã hóa trong trailer.
- NextPDF tạo ra PDF/A thông qua một chế độ rõ ràng cần được bật chủ động; chế độ này từ chối các thao tác không tương thích thay vì âm thầm xuất ra một tệp không tuân thủ.
- Sự tuân thủ do công cụ kiểm tra xác định, không phải do bên tạo tệp khẳng định. Ngay cả khả năng thành công của chính tiêu chuẩn cũng phụ thuộc vào môi trường và quy trình lưu trữ xung quanh (ISO 19005-4 phần Introduction). Xác thực kết quả đầu ra là bước bạn vẫn phải thực hiện.
NextPDF tiếp cận điều này như thế nào
Phần tiêu đề “NextPDF tiếp cận điều này như thế nào”NextPDF xem PDF/A như một chế độ mà tài liệu đang ở trong đó, không phải một bộ lọc hậu xử lý. Chế độ này cần được bật chủ động. Sau khi bật, nó chủ động bảo vệ tài liệu khỏi các thao tác có thể phá vỡ sự tuân thủ. Nguyên tắc thiết kế là báo lỗi sớm. Thà từ chối thẳng một yêu cầu PDF/A đã mã hóa còn hơn trả lại một tệp trông như đạt chuẩn lưu trữ nhưng thực ra thì không.
Tình huống này có bốn giai đoạn. Giai đoạn thứ ba là giai đoạn các nhóm thường bỏ qua.
- Compose for permanence Embed every font, use device-independent colour or an output intent, and avoid features the chosen PDF/A part forbids.
- Enable the PDF/A mode Opt in explicitly to the target conformance level. The mode now guards the document against incompatible operations.
- Validate independently Run a conformance checker. A passing report — not the producing library — is the evidence the archive needs.
- Preserve with procedure Store under records-management policy. The standard itself notes archival success depends on the environment, not the file alone.
Việc bật chủ động là một cơ chế bảo vệ thực sự, không chỉ là một cờ. Khi chế độ PDF/A đã được bật và có thao tác không tương thích được thử — bật AES-GCM hoặc bộ xử lý mã hóa tiêu chuẩn — engine sẽ phát sinh một lỗi không tương thích có kiểu. Cơ chế bảo vệ hoạt động theo cả hai thứ tự: bật PDF/A rồi yêu cầu mã hóa, hoặc yêu cầu mã hóa rồi bật PDF/A. Theo cách nào đi nữa, kết quả vẫn là một sự từ chối rõ ràng.
ISO 19005 cấm khóa Encrypt trong trailer của một tệp
tuân thủ, và engine coi đó là ràng buộc bắt buộc, không phải khuyến nghị.
Chế độ này cũng giữ cho trạng thái của chính nó luôn trung thực. Việc bật PDF/A cho một part cụ thể (ví dụ một mức trung thực theo byte của PDF/A-3 so với PDF/A-4) sẽ đặt discriminant tuân thủ của tài liệu cho khớp. Các cổng kiểm soát phía writer phụ thuộc vào part đó khi ấy sẽ thấy đúng giá trị thay vì một giá trị mặc định đã cũ. Đây chính là kiểu nhất quán nội bộ quyết định liệu một công cụ xác thực có cho tệp đạt hay không.
Bằng chứng cho thấy điều gì
Phần tiêu đề “Bằng chứng cho thấy điều gì”Trang này được chuẩn hỗ trợ xuyên suốt. Evidence: Standard-backed
Chính mục đích đã được tiêu chuẩn ấn định. Spec: ISO 19005-2 ISO 19005-2 nêu rằng mục đích chính của PDF/A là một cơ chế biểu diễn tài liệu điện tử sao cho diện mạo trực quan tĩnh của chúng được bảo tồn theo thời gian, độc lập với các công cụ và hệ thống được sử dụng. Từ đó kéo theo các ràng buộc: Spec: ISO 19005-4:2020, §6.2.4.1 ISO 19005-4:2020 §6.2.4.1 yêu cầu màu phải được chỉ định độc lập với thiết bị, trực tiếp hoặc thông qua output intent của PDF/A. Yêu cầu về phông chữ được củng cố bởi định dạng nền tảng — Spec: ISO 32000-2:2020, §9 ISO 32000-2:2020 §9 lưu ý rằng việc kết xuất dễ đoán nhất, đáng tin cậy nhất xảy ra khi tất cả phông chữ được nhúng; đây chính là đặc tính mà một kho lưu trữ không thể thiếu.
Chính ranh giới này cũng nằm trong tiêu chuẩn, không chỉ là một lời cảnh báo biên tập. Spec: ISO 19005-4:2020 ISO 19005-4:2020 nêu trong phần Introduction rằng việc triển khai thành công cho mục đích lưu trữ phụ thuộc vào môi trường lưu trữ của tổ chức, các chính sách quản lý hồ sơ, và các điều kiện bền vững bổ sung. Sự tuân thủ được đánh giá dựa trên các yêu cầu quy phạm của tiêu chuẩn bởi một công cụ kiểm tra — không phải dựa trên tuyên bố của bên tạo tệp.
Hành vi của engine được mã nguồn hỗ trợ: Evidence: Code-backed
Document::enablePdfA() là một cách bật chủ động rõ ràng, phát sinh một lỗi
không tương thích có kiểu khi mã hóa và PDF/A được kết hợp theo bất kỳ thứ tự nào,
và giữ discriminant tuân thủ của tài liệu luôn đồng bộ với
part đã chọn.
Ví dụ thực tế
Phần tiêu đề “Ví dụ thực tế”Đoạn mã bên dưới cho thấy hành vi bảo vệ tại điểm ghép. Bản thân chế độ PDF/A là một khả năng thuộc gói Premium. Kiểm tra tuân thủ là một bước độc lập, riêng biệt.
<?php
declare(strict_types=1);
use NextPDF\Contracts\PdfDocumentInterface;use NextPDF\Security\Exception\IncompatiblePdfAModeException;
/** * Produce an archival candidate, then prove it independently. * * The engine refuses conformance-breaking combinations; it does NOT * certify the result. A validator does that. * * @param PdfDocumentInterface $doc A document with all fonts embedded * @param object $pdfaLevel The target PDF/A version (Premium enum) * * @return string The archival candidate's bytes — not yet a verified PDF/A */function buildArchivalCandidate( PdfDocumentInterface $doc, object $pdfaLevel,): string { try { // Opt in explicitly. From here the mode guards the document. $doc->enablePdfA($pdfaLevel); } catch (IncompatiblePdfAModeException $e) { // e.g. encryption was already requested — refused, not silently // downgraded into a non-conforming "archival" file. throw new \RuntimeException( 'PDF/A and encryption are mutually exclusive for a conforming ' . 'file; resolve before archiving.', previous: $e, ); }
$bytes = $doc->getPdfData();
// The step teams skip: this is a CANDIDATE. Run an independent // conformance validator before treating it as a preserved record. return $bytes;}Lời chú thích trên câu lệnh return chính là bài học. Tên hàm cố ý ghi là candidate. Engine đã tạo ra một kết quả lẽ ra phải tuân thủ. Chỉ công cụ kiểm tra mới biến “lẽ ra” thành bằng chứng.
Hiểu lầm thường gặp
Phần tiêu đề “Hiểu lầm thường gặp”Một hiểu lầm khiến các kho lưu trữ đầy những tài liệu chưa được bảo tồn: “thư viện báo là PDF/A, vậy nên tệp là PDF/A.” Đó không phải là phán quyết mà thư viện có quyền đưa ra. Bên tạo tệp có thể xuất ra một tệp với ý định tuân thủ nhưng vẫn bỏ sót một yêu cầu quy phạm. Sự tuân thủ được công cụ xác thực xác định dựa trên tiêu chuẩn. Sự xác định đó chính là điều mà kiểm toán viên hoặc người đọc trong tương lai dựa vào. Coi ý định của thư viện tạo tệp là bằng chứng chính là sai lầm cốt lõi.
Cái bẫy thứ hai tinh vi hơn: cho rằng chỉ riêng PDF/A là đủ để bảo tồn tài liệu. Bản thân tiêu chuẩn gắn thành công lưu trữ với môi trường và quy trình xung quanh. Một tệp tuân thủ nằm trong một kho lưu trữ thiếu kỷ luật vẫn gặp rủi ro. Định dạng là cần thiết, nhưng chưa đủ.
Giới hạn và ranh giới
Phần tiêu đề “Giới hạn và ranh giới”- NextPDF tạo ra một ứng viên tuân thủ; nó không chứng nhận sự tuân thủ. Hãy chạy một công cụ xác thực độc lập. Báo cáo đạt mới là bằng chứng, không phải thư viện tạo tệp.
- Các chế độ tuân thủ PDF/A là một khả năng thuộc gói Premium. Core xuất ra PDF 2.0 thuần và đưa ra một lộ trình nâng cấp khả thi. Nó không cung cấp các bảo đảm PDF/A. Xem ranh giới bên dưới.
- PDF/A và mã hóa loại trừ lẫn nhau đối với một tệp tuân thủ. Engine từ chối tổ hợp này theo bất kỳ thứ tự nào, thay vì âm thầm hạ cấp.
- Engine không thể nhúng những phông chữ mà nó không được cung cấp, cũng không thể sửa màu phụ thuộc thiết bị mà bạn đưa vào. Soạn nội dung để lưu giữ lâu dài — phông chữ được nhúng, màu độc lập với thiết bị — là trách nhiệm ở đầu vào.
- Độ bền lưu trữ phụ thuộc vào quy trình, không chỉ riêng tệp. ISO 19005 đưa việc lưu giữ ở cấp tổ chức và các quy trình quản lý hồ sơ trở thành một phần của việc bảo tồn thành công.
- Trang này được chuẩn hỗ trợ và mô tả hành vi ở bề mặt Premium. Nó không khẳng định bất kỳ chứng nhận nào và cũng không cấp chứng nhận nào.
| Edition | Availability |
|---|---|
| Core | Core chỉ tạo PDF 2.0 thuần. |
| Pro | Các chế độ tuân thủ PDF/A (bao gồm các mức trung thực theo byte của PDF/A-3 và PDF/A-4) đều có sẵn, cùng với cơ chế bảo vệ chống mã hóa không tương thích. |
| Enterprise | Bổ sung chính sách và báo cáo tuân thủ PDF/A ở cấp cấu trúc (vẫn là một kiểm tra cấu trúc, không phải chứng nhận — sự xác định cuối cùng thuộc về một công cụ xác thực và đội tuân thủ của bạn). |
Tài liệu liên quan
Phần tiêu đề “Tài liệu liên quan”- Phông chữ: phần khó nhằn — vì sao một phông chữ trông có vẻ đúng vẫn có thể khiến tệp không tuân thủ hoặc không tìm kiếm được.
- Kiểm thử golden-file — cách kết quả tham chiếu được ghim lại phát hiện sự trôi dạt byte âm thầm phá vỡ các bảo đảm lưu trữ.
- Hóa đơn và hóa đơn điện tử — phần gần nhất: một vật mang hóa đơn lai tự nó là một tệp PDF/A.
Thuật ngữ
Phần tiêu đề “Thuật ngữ”- PDF/A — họ ISO 19005: một hồ sơ PDF có ràng buộc dành cho bảo tồn dài hạn, được thiết kế để tái tạo diện mạo tĩnh của tài liệu theo thời gian, độc lập với các công cụ tạo ra nó.
- Mức tuân thủ / part — biến thể PDF/A cụ thể (ví dụ PDF/A-2, PDF/A-3, PDF/A-4 cùng các mức con của nó); mỗi mức ràng buộc những tính năng PDF được phép sử dụng.
- Output intent — hồ sơ đặc trưng hóa màu được nhúng, cho phép màu phụ thuộc thiết bị được diễn giải độc lập với thiết bị.
- Màu độc lập với thiết bị — màu được chỉ định sao cho tái tạo nhất quán bất kể thiết bị kết xuất, một yêu cầu của PDF/A.
- Công cụ kiểm tra tuân thủ / công cụ xác thực — phần mềm độc lập đánh giá một tệp dựa trên các yêu cầu quy phạm của tiêu chuẩn; nguồn đưa ra phán quyết tuân thủ.
- Ứng viên lưu trữ — tệp được tạo ra với ý định tuân thủ, trước khi một công cụ xác thực độc lập xác nhận rằng nó thực sự tuân thủ.