ข้ามไปยังเนื้อหา

การจัดเก็บถาวรและ PDF/A

Spec: ISO 19005-4:2020, PDF/A-4 Spec: ISO 19005-2, PDF/A-2 Evidence: Standard-backed

PDF/A คือรูปแบบที่เลือกใช้เมื่อเอกสารต้องยังอ่านได้และ คงความถูกต้องตรงตามต้นฉบับไปอีกหลายทศวรรษข้างหน้า แม้บนซอฟต์แวร์ที่ยังไม่มีอยู่ในขณะนี้ หน้านี้ อธิบายว่าการรับประกันนั้นครอบคลุมสิ่งใดบ้าง วิธีที่ NextPDF สร้างไฟล์ที่ สอดคล้องตามข้อกำหนด และสิ่งที่มักทำให้ทีมงานประหลาดใจคือการสร้าง PDF/A กับ การพิสูจน์ว่าไฟล์เป็น PDF/A เป็นงานคนละอย่างกัน งานอย่างหลังยังคงเป็น ของคุณ

ภาระผูกพันด้านการจัดเก็บถาวรนั้นไม่ปรานี และความล้มเหลวมักเกิดขึ้นอย่างเงียบ ๆ วันนี้ไฟล์ดูเรียบร้อยดี จึงถูกนำไปจัดเก็บ ความล้มเหลวไม่ว่าจะเป็นฟอนต์ที่ไม่ได้ฝัง สีที่ขึ้นอยู่กับอุปกรณ์ หรือ trailer ที่เข้ารหัสลับ จะปรากฏขึ้นในอีกหลายปีต่อมา เมื่อสภาพแวดล้อมเดิมหายไปแล้วและไม่มีใครสามารถสร้างรูปลักษณ์ที่เอกสารควรมีขึ้นใหม่ได้ ถึงตอนนั้น ต้นทุนไม่ใช่การเรนเดอร์ใหม่ แต่คือบันทึกที่คุณไม่อาจเชื่อถือได้อีกต่อไป

PDF/A มีไว้เพื่อขจัดความล้มเหลวประเภทนั้นโดยเฉพาะ แต่ “เราใช้ไลบรารี PDF/A” ไม่เหมือนกับ “ไฟล์นี้สอดคล้องตามข้อกำหนด” การปะปนสองสิ่งนี้เข้าด้วยกันคือ สาเหตุที่คลังเอกสารสะสมเอกสารที่เพียงแค่ดูเหมือนได้รับการเก็บรักษาไว้เท่านั้น

  • จุดประสงค์ของ PDF/A คือการทำซ้ำเอกสารให้ถูกต้องตรงตามต้นฉบับ มีในตัวเองครบถ้วน และไม่ขึ้นอยู่กับอุปกรณ์ตลอดช่วงเวลา โดยรักษาลักษณะปรากฏทางสายตาแบบนิ่งของเอกสารไว้โดยไม่ขึ้นอยู่กับเครื่องมือที่สร้างเอกสารนั้น (ISO 19005-2 บทนำ)
  • สิ่งนี้ต้องอาศัยข้อจำกัดที่เป็นรูปธรรม ได้แก่ ฝังฟอนต์ทั้งหมด สีที่ไม่ขึ้นอยู่กับอุปกรณ์ (โดยตรงหรือผ่าน output intent; ISO 19005-4 §6.2.4.1) และ ไม่มีการเข้ารหัสลับ ใน trailer
  • NextPDF สร้าง PDF/A ผ่านโหมดที่ต้องเลือกเปิดใช้งานอย่างชัดเจน ซึ่ง ปฏิเสธการดำเนินการที่เข้ากันไม่ได้ แทนที่จะสร้างไฟล์ที่ไม่สอดคล้องตามข้อกำหนดอย่างเงียบ ๆ
  • ความสอดคล้องตามข้อกำหนดถูกตัดสินโดยเครื่องมือตรวจสอบ ไม่ใช่ยืนยันโดยผู้สร้างไฟล์ แม้มาตรฐานเองก็ระบุว่าความสำเร็จของการจัดเก็บถาวรขึ้นอยู่กับสภาพแวดล้อมและกระบวนการจัดเก็บถาวรโดยรอบ (ISO 19005-4 บทนำ) การตรวจสอบผลลัพธ์เป็นขั้นตอนที่คุณยังต้องทำอยู่

NextPDF ปฏิบัติต่อ PDF/A ในฐานะ โหมดของเอกสาร ไม่ใช่ฟิลเตอร์สำหรับประมวลผลภายหลัง ต้องเปิดใช้งานโหมดนี้อย่างชัดเจน เมื่อเปิดใช้งานแล้ว โหมดนี้จะคุ้มกันเอกสารอย่างเข้มงวดจากการดำเนินการที่จะทำลายความสอดคล้องตามข้อกำหนด หลักการออกแบบคือ fail-fast การปฏิเสธคำขอสร้าง PDF/A ที่มีการเข้ารหัสลับอย่างชัดเจน ย่อมดีกว่าการส่งคืนไฟล์ที่ดูเหมือนใช้เก็บถาวรได้แต่ไม่เป็นเช่นนั้น

กระบวนการนี้มีสี่ขั้นตอน ขั้นตอนที่สามคือขั้นตอนที่ทีมงานมักข้ามไป

  1. Compose for permanence Embed every font, use device-independent colour or an output intent, and avoid features the chosen PDF/A part forbids.
  2. Enable the PDF/A mode Opt in explicitly to the target conformance level. The mode now guards the document against incompatible operations.
  3. Validate independently Run a conformance checker. A passing report — not the producing library — is the evidence the archive needs.
  4. Preserve with procedure Store under records-management policy. The standard itself notes archival success depends on the environment, not the file alone.
สถานการณ์การจัดเก็บถาวรตั้งแต่ต้นจนจบ เอนจินสร้างไฟล์ที่อาจสอดคล้องตามข้อกำหนดและปฏิเสธการดำเนินการที่ทำลายความสอดคล้องตามข้อกำหนด ส่วนเครื่องมือตรวจสอบอิสระเป็นผู้ให้คำตัดสินที่สำคัญจริงสำหรับคลังเอกสาร

การเปิดใช้งานอย่างชัดเจนเป็นการป้องกันจริง ไม่ใช่แค่แฟล็ก เมื่อเปิดใช้งานโหมด PDF/A แล้วมีการพยายามดำเนินการที่เข้ากันไม่ได้ ไม่ว่าจะเป็นการเปิด AES-GCM หรือตัวจัดการการเข้ารหัสลับมาตรฐาน เอนจินจะยกข้อผิดพลาดความไม่เข้ากันที่มีชนิดกำกับ การป้องกันนี้ทำงานได้ทั้งสองลำดับคือเปิดใช้งาน PDF/A แล้วจึงขอใช้การเข้ารหัสลับ หรือขอใช้การเข้ารหัสลับแล้วจึงเปิดใช้งาน PDF/A ไม่ว่าลำดับใด ผลลัพธ์คือการปฏิเสธที่ชัดเจน ISO 19005 ห้ามใช้คีย์ Encrypt ใน trailer ของไฟล์ที่สอดคล้องตาม ข้อกำหนด และเอนจินถือว่าข้อห้ามนั้นมีผลผูกพัน ไม่ใช่เพียงคำแนะนำ

โหมดนี้ยังรักษาสถานะของตัวเองให้สอดคล้องกันด้วย การเปิดใช้งาน PDF/A สำหรับ part ที่ระบุ (ตัวอย่างเช่นระดับที่ตรงตามไบต์ของ PDF/A-3 เทียบกับ PDF/A-4) จะตั้งค่าตัวจำแนกความสอดคล้องตามข้อกำหนดของเอกสารให้ตรงกัน เกตฝั่งตัวเขียนที่ขึ้นอยู่กับ part จะเห็นค่าที่ถูกต้อง แทนที่จะเห็นค่าเริ่มต้นที่ล้าสมัย นี่คือความสอดคล้องภายในประเภทที่มีผลต่อการที่เครื่องมือตรวจสอบจะให้ไฟล์ผ่านหรือไม่

หน้านี้ อ้างอิงมาตรฐาน ตลอดทั้งหน้า Evidence: Standard-backed

ตัวจุดประสงค์ถูกกำหนดไว้อย่างชัดเจนในมาตรฐาน Spec: ISO 19005-2 ระบุว่าจุดประสงค์หลักของ PDF/A คือ กลไกสำหรับแทนเอกสารอิเล็กทรอนิกส์ เพื่อให้ลักษณะปรากฏทางสายตาแบบนิ่ง ของเอกสารคงอยู่ตลอดช่วงเวลา โดยไม่ขึ้นอยู่กับเครื่องมือและระบบที่ใช้ ข้อจำกัดจึงตามมาจากจุดประสงค์นั้น: Spec: ISO 19005-4:2020, §6.2.4.1 กำหนดให้สีต้องถูก ระบุอย่างไม่ขึ้นอยู่กับอุปกรณ์ ไม่ว่าจะระบุโดยตรงหรือผ่าน output intent ของ PDF/A ข้อกำหนดเรื่องฟอนต์ได้รับการย้ำผ่านรูปแบบพื้นฐาน — Spec: ISO 32000-2:2020, §9 ระบุว่าการเรนเดอร์ที่คาดเดาได้และ เชื่อถือได้มากที่สุดเกิดขึ้นเมื่อฝังฟอนต์ทั้งหมด ซึ่งเป็นคุณสมบัติสำคัญ ที่คลังเอกสารขาดไม่ได้

ตัวขอบเขตก็อยู่ในมาตรฐานเช่นกัน ไม่ใช่เพียงคำเตือนเชิงบรรณาธิการ Spec: ISO 19005-4:2020 ระบุในบทนำว่า การนำไปใช้ให้สำเร็จเพื่อวัตถุประสงค์ในการจัดเก็บถาวรขึ้นอยู่กับ สภาพแวดล้อมการจัดเก็บถาวรขององค์กร นโยบายการจัดการบันทึก และเงื่อนไขเพิ่มเติมด้านการคงอยู่ ความสอดคล้องตามข้อกำหนดถูกตัดสินเทียบกับ ข้อกำหนดเชิงบรรทัดฐานของมาตรฐานโดยเครื่องมือตรวจสอบ ไม่ใช่ประกาศโดยผู้สร้างไฟล์

พฤติกรรมของเอนจิน อ้างอิงโค้ด: Evidence: Code-backed Document::enablePdfA() เป็นการเปิดใช้งานอย่างชัดเจนที่ยก ข้อผิดพลาดความไม่เข้ากันที่มีชนิดกำกับเมื่อนำการเข้ารหัสลับและ PDF/A มารวมกันไม่ว่าลำดับใด และรักษาตัวจำแนกความสอดคล้องตามข้อกำหนดของเอกสารให้สอดคล้องอย่างเคร่งครัดกับ part ที่เลือก

โค้ดด้านล่างแสดง พฤติกรรมการป้องกัน ที่จุดเชื่อมต่อ โหมด PDF/A เองเป็นความสามารถระดับ Premium การตรวจสอบความสอดคล้องตามข้อกำหนดเป็น ขั้นตอนแยกต่างหากที่เป็นอิสระ

<?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;
}

คอมเมนต์ที่กำกับการ return คือบทเรียน ชื่อฟังก์ชันใช้คำว่า candidate โดยตั้งใจ เอนจินสร้างสิ่งที่ควรจะสอดคล้องตามข้อกำหนด มีเพียงเครื่องมือตรวจสอบเท่านั้นที่เปลี่ยน “ควรจะ” ให้เป็นหลักฐาน

ความเข้าใจผิดอย่างหนึ่งที่ทำให้คลังเอกสารเต็มไปด้วยเอกสารที่ไม่ได้รับการเก็บรักษาคือ “ไลบรารีบอกว่าเป็น PDF/A ดังนั้นไฟล์จึงเป็น PDF/A คำตัดสินนี้ไม่ใช่สิ่งที่ไลบรารีมีสิทธิ์ให้ ผู้สร้างไฟล์อาจสร้างไฟล์โดยตั้งใจให้สอดคล้องตามข้อกำหนด แต่ยังพลาดข้อกำหนดเชิงบรรทัดฐานข้อใดข้อหนึ่งได้ ความสอดคล้องตามข้อกำหนดถูกตัดสินเทียบกับมาตรฐานโดยเครื่องมือตรวจสอบความถูกต้อง คำตัดสินนั้นคือสิ่งที่ผู้ตรวจสอบหรือผู้อ่านในอนาคตยึดถือ การถือว่าเจตนาของไลบรารีที่สร้างไฟล์เป็นข้อพิสูจน์คือความผิดพลาดหลัก

กับดักที่สองซึ่งแยบยลกว่าคือการสันนิษฐานว่า PDF/A เพียงอย่างเดียวเก็บรักษาเอกสารได้ ตัวมาตรฐานเองผูกความสำเร็จของการจัดเก็บถาวรเข้ากับสภาพแวดล้อมและกระบวนการโดยรอบ ไฟล์ที่สอดคล้องตามข้อกำหนดซึ่งอยู่ในที่จัดเก็บที่ขาดระเบียบวินัยก็ยังมีความเสี่ยงอยู่ รูปแบบไฟล์เป็นสิ่งจำเป็น แต่ยังไม่เพียงพอ

  • NextPDF สร้างไฟล์ที่อาจสอดคล้องตามข้อกำหนด แต่ไม่ได้รับรองความสอดคล้องตามข้อกำหนด โปรดเรียกใช้เครื่องมือตรวจสอบอิสระ รายงานที่ผ่านการตรวจสอบคือหลักฐาน ไม่ใช่ไลบรารีที่สร้างไฟล์
  • โหมดความสอดคล้องตามข้อกำหนดของ PDF/A เป็นความสามารถระดับ Premium Core สร้าง PDF 2.0 ธรรมดาและแสดงเส้นทางการอัปเกรดที่นำไปปฏิบัติได้ Core ไม่ได้ให้การรับประกัน PDF/A ดูขอบเขตด้านล่าง
  • PDF/A และการเข้ารหัสลับใช้ร่วมกันไม่ได้สำหรับไฟล์ที่สอดคล้องตามข้อกำหนด เอนจินปฏิเสธการใช้ร่วมกันไม่ว่าลำดับใด แทนที่จะลดทอนคุณภาพอย่างเงียบ ๆ
  • เอนจินไม่สามารถฝังฟอนต์ที่ไม่ได้รับเป็นข้อมูลนำเข้า หรือแก้ไขสีที่ขึ้นอยู่กับอุปกรณ์ที่คุณป้อนเข้ามาได้ การจัดองค์ประกอบเพื่อความถาวร ไม่ว่าจะเป็นฟอนต์ที่ฝังไว้หรือสีที่ไม่ขึ้นอยู่กับอุปกรณ์ เป็นความรับผิดชอบในส่วนของข้อมูลนำเข้า
  • ความคงทนของการจัดเก็บถาวรขึ้นอยู่กับกระบวนการ ไม่ใช่ไฟล์เพียงอย่างเดียว ISO 19005 กำหนดให้ข้อกำหนดการเก็บรักษาขององค์กรและกระบวนการจัดการบันทึกเป็นส่วนหนึ่งของการเก็บรักษาที่สำเร็จ
  • หน้านี้อ้างอิงมาตรฐานและอยู่ในระดับพฤติกรรมภายนอกของ Premium หน้านี้ไม่ได้อ้างว่ามีการรับรองใด ๆ และไม่ได้ให้การรับรองใด ๆ
ความสอดคล้องตามข้อกำหนดสำหรับการจัดเก็บถาวรของ PDF/A — edition availability
Edition Availability
Core

Core สร้าง PDF 2.0 ธรรมดาเท่านั้น enablePdfA() ยก ข้อผิดพลาดการอัปเกรดที่นำไปปฏิบัติได้ ซึ่งชี้ไปยังแพ็กเกจเชิงพาณิชย์ ไม่มี การรับประกัน PDF/A เฉพาะ Core

Pro

โหมดความสอดคล้องตามข้อกำหนดของ PDF/A (รวมถึงระดับที่ตรงตามไบต์ของ PDF/A-3 และ PDF/A-4) พร้อมใช้งาน โดยมีการป้องกันความไม่เข้ากันของการเข้ารหัสลับ

Enterprise

เพิ่มนโยบายและรายงานความสอดคล้องตามข้อกำหนดเชิงโครงสร้างของ PDF/A (ยังคงเป็น การตรวจสอบโครงสร้าง ไม่ใช่การรับรอง คำตัดสินขั้นสุดท้ายเป็นของ เครื่องมือตรวจสอบและทีมกำกับการปฏิบัติตามข้อกำหนดของคุณ)

  • PDF/A ตระกูลโปรไฟล์ PDF ตาม ISO 19005 ที่มีข้อจำกัดสำหรับการเก็บรักษาระยะยาว ออกแบบมาเพื่อทำซ้ำลักษณะปรากฏแบบนิ่งของเอกสารตลอดช่วงเวลาโดยไม่ขึ้นอยู่กับเครื่องมือที่สร้าง
  • ระดับ / part ของความสอดคล้องตามข้อกำหนด ชนิดเฉพาะของ PDF/A (ตัวอย่างเช่น PDF/A-2, PDF/A-3, PDF/A-4 และระดับย่อยของแต่ละชนิด) แต่ละชนิดจำกัดว่าคุณสมบัติใดของ PDF ที่ใช้ได้
  • Output intent โปรไฟล์ลักษณะสีที่ฝังไว้ซึ่งทำให้สีที่ขึ้นอยู่กับอุปกรณ์ถูกตีความอย่างไม่ขึ้นอยู่กับอุปกรณ์ได้
  • สีที่ไม่ขึ้นอยู่กับอุปกรณ์ สีที่ถูกระบุเพื่อให้ทำซ้ำได้อย่างสม่ำเสมอไม่ว่าจะใช้อุปกรณ์เรนเดอร์ใด ซึ่งเป็นข้อกำหนดของ PDF/A ประการหนึ่ง
  • เครื่องมือตรวจสอบความสอดคล้องตามข้อกำหนด / เครื่องมือตรวจสอบความถูกต้อง ซอฟต์แวร์อิสระที่ตัดสินไฟล์เทียบกับข้อกำหนดเชิงบรรทัดฐานของมาตรฐาน และเป็นแหล่งที่มาของคำตัดสินความสอดคล้องตามข้อกำหนด
  • ไฟล์ผู้สมัครเก็บถาวร ไฟล์ที่สร้างขึ้นโดย ตั้งใจ ให้สอดคล้องตามข้อกำหนด ก่อนที่เครื่องมือตรวจสอบอิสระจะยืนยันว่าไฟล์นั้นสอดคล้องจริง