Sự tuân thủ bạn có thể trao cho kiểm toán viên
Spec: ISO 19005-4 (PDF/A-4)ISO 19005-4 (PDF/A-4)Spec: ISO 32000-2ISO 32000-2Spec: ETSI EN 319 142-1ETSI EN 319 142-1Spec: EN 16931-1EN 16931-1
Tổng quan nhanh
Phần tiêu đề “Tổng quan nhanh”Kiểm toán viên không muốn nghe rằng một tài liệu là tuân thủ. Họ muốn được trao hai thứ: tài liệu, và kết quả của một bước kiểm tra xác nhận điều đó. Trang này nói về việc tạo ra cả hai bằng NextPDF — kết quả đầu ra tuân thủ, và một kết quả xác thực mà bạn có thể đặt trước mặt người đang hỏi.
Phần lõi mã nguồn mở tạo ra kết quả đầu ra PDF/A lưu trữ và chữ ký cơ sở PAdES, và nó xác thực sự tuân thủ — PDF/A, PDF/UA, và chữ ký. Các phiên bản nâng cao mở rộng phạm vi sang xác thực dài hạn và hóa đơn điện tử. Xuyên suốt, một nguyên tắc luôn đúng: sự tuân thủ là phán quyết của công cụ kiểm tra, không phải lời hứa mà bên tạo tệp được phép đưa ra.
Vì sao điều này quan trọng
Phần tiêu đề “Vì sao điều này quan trọng”Công việc tuân thủ có một dấu hiệu nhận biết. Ai đó nói “vâng, nó tuân thủ,” rồi cả phòng im lặng, vì không ai có thể đưa ra thứ chứng minh điều đó. Tài liệu trông có vẻ đúng. Thư viện thì có uy tín. Nhưng không điều nào trong số đó là bằng chứng.
Cái giá của khoảng cách ấy là không cân xứng. Một tệp chỉ trông như tuân thủ qua được vòng kiểm tra hôm nay rồi thất bại trước một bước kiểm tra bên ngoài nhiều tháng sau — tại một cơ quan thuế, trong một kho lưu trữ dài hạn, hoặc tại tòa — khi bối cảnh ban đầu không còn nữa và việc giải thích thất bại trở nên tốn kém. Các tiêu chuẩn đã lường trước chính xác điều này. Một tệp PDF/A ghi lại profile mục tiêu của nó trong metadata, nhưng phần định danh đó nêu ý định của bên tạo tệp; việc xác định sự tuân thủ được thực hiện bởi một quy trình xác thực nằm bên ngoài phần mềm tạo tệp (Spec: ISO 19005-4 (PDF/A-4), §6.7.3ISO 19005-4 (PDF/A-4) §6.7.3). Bản thân định dạng cho bạn biết rằng bên tạo tệp không có tiếng nói cuối cùng.
Tóm tắt nhanh
Phần tiêu đề “Tóm tắt nhanh”- Bạn có thể tạo ra kết quả đầu ra tuân thủ VÀ một kết quả nói rằng nó tuân thủ. Không phải một lời khẳng định — mà là một sản phẩm cộng với một bước kiểm tra.
- Phần lõi bao trùm các trường hợp phổ biến. Nó tạo ra kết quả đầu ra PDF/A lưu trữ và chữ ký PAdES B-B / B-T, và nó xác thực sự tuân thủ cho PDF/A, PDF/UA, và chữ ký.
- Sự tuân thủ là phán quyết của công cụ xác thực, giới hạn theo một tiêu chuẩn, điều khoản, và mức. NextPDF nêu rõ profile và mức mà nó nhắm tới, chứ không bao giờ nói “tuân thủ” một cách chung chung (Spec: ETSI EN 319 142-1, §6.1ETSI EN 319 142-1 §6.1).
- Các phiên bản nâng cao mở rộng phạm vi. Xác thực dài hạn (PAdES B-LT / B-LTA) và hóa đơn điện tử (ZUGFeRD / Factur-X theo EN 16931) là các khả năng thuộc phân hạng thương mại.
- Engine từ chối làm giả một phán quyết. Nó tạo ra một ứng viên và chạy bước kiểm tra; nó không bao giờ tự đóng dấu một tệp là tuân thủ bằng thẩm quyền của riêng mình.
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”Cách tiếp cận là một sự tách bạch rõ ràng, áp dụng ở khắp mọi nơi: tạo ra sản phẩm mà một tiêu chuẩn định nghĩa là một khả năng; quyết định rằng sản phẩm đó tuân thủ là một phán quyết. NextPDF trao cho bạn cái thứ nhất và để bạn thu được cái thứ hai từ một công cụ kiểm tra. Nó không bao giờ trộn lẫn hai điều này.
Sự tách bạch đó chính là điều khiến kết quả đầu ra có thể trao đi được. Chữ ký là trường hợp rõ ràng nhất. Giá trị của nó được tính trên một dải byte được khai báo, cố ý loại trừ chính chữ ký (Spec: ISO 32000-2, §12.8ISO 32000-2 §12.8), và đó chính là lý do tính hợp lệ là thứ mà một bên thứ ba có thể tính lại từ tệp thay vì phải tin lời. Việc của bên tạo tệp là ghi cấu trúc đó cho đúng. Việc của công cụ xác thực là xác nhận nó. Hai việc, hai bên, và việc thứ hai mới là việc mà kiểm toán viên tin tưởng.
Vậy nên quy trình mà bạn trao đi có bốn bước, và bước thứ ba là bước biến “lẽ ra phải tuân thủ” thành “thực sự tuân thủ.”
- Produce a candidateGenerate PDF/A archival output or a PAdES signature with the conformance-relevant structure in place — embedded fonts, declared profile, a signature over a correct byte range.
- Refuse the impossibleThe engine rejects conformance-breaking combinations (an encrypted PDF/A, a signature level it cannot honor) rather than emitting a file that silently does not conform.
- Validate independentlyRun a conformance checker — PDF/A, PDF/UA, signature. A passing report is the evidence; the producing library is not.
- Hand over bothGive the auditor the document and the validation result together. The verdict travels with the artifact.
Bước ở giữa không phải để trang trí. Khi chế độ lưu trữ được bật và một thao tác không tương thích được thử — bật mã hóa chẳng hạn — engine sẽ phát sinh một lỗi có kiểu thay vì hạ cấp tệp thành một tài liệu “lưu trữ” không tuân thủ. Từ chối một cách rõ ràng chính là điều giữ cho ứng viên đủ trung thực để qua được bước kiểm tra tiếp theo.
Và bước kiểm tra là phân cấp, không bao giờ chỉ là một bit. PAdES được phân mức theo thiết kế: B-B, B-T, B-LT, và B-LTA, mỗi mức bổ sung thêm vào mức trước (Spec: ETSI EN 319 142-1, §6.1ETSI EN 319 142-1 §6.1). Một chữ ký B-T mang theo một dấu thời gian tin cậy mà B-B không có. Một tuyên bố nêu rõ mức là một tuyên bố trung thực; còn một câu trống “đã ký” thì không. NextPDF buộc bạn nêu rõ mức, để kết quả bạn trao đi nói chính xác điều gì đã đạt được.
Ví dụ thực tế
Phần tiêu đề “Ví dụ thực tế”Một hình hài ngắn gọn, đầy đủ. Nó tạo ra một ứng viên, xác thực ứng viên đó, và coi câu trả lời của công cụ xác thực là bằng chứng — không bao giờ là lời gọi tạo tệp.
<?php
declare(strict_types=1);
use NextPDF\Contracts\PdfDocumentInterface;use NextPDF\Conformance\ConformanceValidator;use NextPDF\Conformance\ConformanceTarget;use NextPDF\Conformance\ValidationReport;
/** * Produce a candidate, then prove it with an independent check. * * The producing call returns bytes that SHOULD conform. Only the * validator's report turns "should" into something an auditor accepts. * * @param PdfDocumentInterface $candidate A document composed for archival * (fonts embedded, profile declared) */function archivalEvidence( PdfDocumentInterface $candidate, ConformanceValidator $validator,): ValidationReport { // 1. The producing call states intent; it does not certify. $bytes = $candidate->getPdfData();
// 2. The check is the verdict. Conformance is decided here, by the // validator, against the named target — not by the line above. $report = $validator->validate($bytes, ConformanceTarget::PdfA);
// 3. Hand BOTH over: the bytes plus the report. The report names the // target, the level, and every requirement that was checked. return $report;}Biến được đặt tên $candidate là có chủ đích, và báo cáo là giá trị trả về cũng
là có chủ đích. Tài liệu là thứ bạn đã tạo ra; báo cáo là thứ chứng minh nó.
Kiểm toán viên đã yêu cầu bạn chứng minh sự tuân thủ — nên bạn trao cho họ phần
chứng minh, chứ không phải lời nói của bên tạo tệp.
Hiểu lầm thường gặp
Phần tiêu đề “Hiểu lầm thường gặp”Hiểu lầm khiến các kho lưu trữ đầy những tệp chưa được bảo tồn và các hộp thư đầy những hóa đơn bị từ chối thì rất đơn giả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ủ mà vẫn bỏ sót một yêu cầu quy phạm; chỉ một quy trình xác thực mới biến ý định thành một sự xác định. Coi lời gọi tạo tệp là bằng chứng chính là sai lầm cốt lõi, và đó đúng là sai lầm mà kiểm toán viên được huấn luyện để phát hiện.
Một cái bẫy thứ hai, tinh vi hơn, là hiểu “NextPDF tuân thủ tiêu chuẩn” thành một sự bảo đảm toàn diện. Không có thứ như vậy, và không một engine trung thực nào đưa ra nó. Sự tuân thủ là theo từng tiêu chuẩn, từng điều khoản, và từng mức. Tuyên bố đúng đắn nêu rõ profile nào, mức nào, và đưa ra bước kiểm tra. Một tuyên bố thiếu những điều đó là tiếp thị, và Insider_ không in nó.
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ủ và xác thực nó; nó không chứng nhận sự tuân thủ. Báo cáo của công cụ xác thực mới là bằng chứng. Thư viện tạo tệp không bao giờ tự cấp chứng nhận của riêng mình.
- Xác thực là một kết quả của công cụ kiểm tra, không phải một bảo đảm tuyệt đối. Một lần chạy sạch nghĩa là tệp đã đáp ứng các yêu cầu mà công cụ xác thực đã kiểm tra, đối chiếu với phiên bản tiêu chuẩn mà nó triển khai. Đó là bằng chứng mạnh nhất hiện có, không phải một sự chứng minh siêu hình.
- Phạm vi của phần lõi là kết quả đầu ra PDF/A lưu trữ và chữ ký PAdES B-B / B-T, cộng với xác thực tuân thủ cho PDF/A, PDF/UA, và chữ ký. Nó không âm thầm cung cấp các khả năng thuộc phiên bản nâng cao.
- Xác thực dài hạn (B-LT / B-LTA) và hóa đơn điện tử (ZUGFeRD / Factur-X theo EN 16931) là các khả năng thuộc phiên bản nâng cao. EN 16931-1 định nghĩa mô hình hóa đơn ngữ nghĩa mà payload được xác thực theo đó (Spec: EN 16931-1, ScopeEN 16931-1 Scope); việc tôn trọng nó thuộc phân hạng thương mại, không phải phần lõi.
- Hiệu lực pháp lý là một câu hỏi tách biệt khỏi sự tuân thủ kỹ thuật. Việc một chữ ký có đủ hiệu lực pháp lý trong một thẩm quyền tài phán hay không là do pháp luật và cơ quan tiếp nhận quyết định, không phải bởi một công cụ xác thực. NextPDF nói đến kết quả kỹ thuật; đội tuân thủ của bạn nói đến trọng lượng pháp lý của nó.
| Edition | Availability |
|---|---|
| Core | Tạo ra kết quả đầu ra PDF/A lưu trữ và chữ ký PAdES B-B / B-T, và xác thực sự tuân thủ cho PDF/A, PDF/UA, và chữ ký. Cả kết quả đầu ra lẫn kết quả xác thực đều có sẵn để trao đi. |
| Pro | Bổ sung xác thực dài hạn — PAdES B-LT / B-LTA — nhúng bằng chứng thu hồi và các dấu thời gian tài liệu giúp một chữ ký vẫn xác minh được sau khi chứng chỉ hết hạn. |
| Enterprise | Bổ sung hóa đơn điện tử (ZUGFeRD / Factur-X theo EN 16931) và một chính sách cùng báo cáo tuân thủ ở cấp cấu trúc — vẫn là một kiểm tra cấu trúc, với 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. |
Bộ công cụ tuân thủ sâu hơn, cùng ranh giới tuân thủ được trích dẫn cho từng khả năng thuộc phiên bản nâng cao, nằm trên trang tuân thủ và phù hợp tiêu chuẩn. Khi bạn cần chạy bước kiểm tra, hướng dẫn khắc phục sự cố xác thực PDF/A và PDF/UA sẽ dẫn bạn qua cách đọc và sửa một báo cáo thất bại.
Tài liệu liên quan
Phần tiêu đề “Tài liệu liên quan”- Lưu trữ và PDF/A — PDF/A bảo đảm điều gì, và vì sao việc chứng minh sự tuân thủ là một công việc tách biệt khỏi việc tạo ra nó.
- Xác thực chữ ký đúng cách — toàn bộ tập hợp các bước kiểm tra đằng sau câu “chữ ký hợp lệ.”
- Bức tranh tiêu chuẩn — bản đồ các tổ chức tiêu chuẩn và cách một điều khoản trở thành hành vi được kiểm thử.
- Các profile cơ sở PAdES — B-B, B-T, B-LT, và B-LTA như một tiến trình, và cách chọn mức mà nghĩa vụ của bạn cần.
- Hóa đơn và hóa đơn điện tử — vật mang hóa đơn lai PDF / dữ liệu có cấu trúc theo EN 16931, từ đầu đến cuối.
Thuật ngữ
Phần tiêu đề “Thuật ngữ”- Sự tuân thủ — sự phù hợp của một tệp với các yêu cầu quy phạm của một tiêu chuẩn, do một quy trình xác thực quyết định, giới hạn theo một tiêu chuẩn, điều khoản, và mức cụ thể.
- Ứng viên — một 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ủ.
- Công cụ xác thực / công cụ kiểm tra tuân thủ — phần mềm độc lập đánh giá một tệp dựa trên các yêu cầu của một tiêu chuẩn và tạo ra kết quả mà kiểm toán viên dựa vào.
- PDF/A — họ ISO 19005: một profile 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.
- PDF/UA — họ ISO 14289: profile trợ năng định nghĩa cách một tệp PDF được gắn thẻ truyền tải cấu trúc tới công nghệ hỗ trợ.
- PAdES — PDF Advanced Electronic Signatures, họ profile chữ ký ETSI EN 319 142 (B-B, B-T, B-LT, B-LTA) mà ISO 32000-2 tham chiếu cho việc ký PDF.
- EN 16931 — tiêu chuẩn châu Âu định nghĩa mô hình dữ liệu ngữ nghĩa của một hóa đơn điện tử cốt lõi, nghĩa vụ mà một payload hóa đơn điện tử lai được kiểm tra theo đó.