콘텐츠로 이동

PDF/UA-2(ISO 14289-2) 사양 매핑

이 페이지는 NextPDF Core 기능을 ISO 14289-2(PDF/UA-2) 조항과 매핑합니다. 이 라이브러리가 저작자의 충족을 지원하는 조항과 명시적으로 범위에서 제외되는 조항을 설명합니다. 이는 적합성 선언이 아닙니다. 파일의 적합성은 저작자의 콘텐츠, 원본 마크업, 외부 PDF/UA 검사기를 통한 검증에 따라 달라집니다.

Terminal window
composer require nextpdf/core

PDF/UA-2(ISO 14289-2)는 접근성 있는 PDF에 대한 요구 사항을 정의합니다. 이러한 요구 사항은 ISO 32000-2 §14.7의 논리 구조 기능과 ISO 32000-2 §14.9의 접근성 지원 항목을 기반으로 합니다. 적합한 파일은 ISO 14289-2 §5의 식별 스키마로 자신을 식별합니다. 적합한 파일은 루트 아래에 단일 Document 요소가 있는 구조 트리를 포함합니다(ISO 14289-2 §8.2.5.2). 적합한 파일은 표준 구조 유형을 사용하므로 보조 기술이 모든 태그를 알려진 역할로 해석할 수 있습니다.

NextPDF는 이 모델을 위한 저작 프리미티브를 제공합니다. 구조 트리 구성, 표준 역할 매핑, 시맨틱 HTML 기반의 마크된 콘텐츠 태깅, BCP-47 언어 속성이 이에 해당합니다. NextPDF는 원본 콘텐츠에 없는 의미를 추론하지 않습니다. NextPDF는 적합성 검사기를 실행하지 않습니다. 구조 트리를 소비하는 ISO 14289-2 §3.1의 보조 기술 모델이 이러한 프리미티브의 설계 대상입니다. 특정 문서가 모든 조항을 충족하는지 여부는 저작자의 입력과 외부 검증으로 결정됩니다.

조항 영역NextPDF 진입점
태그된 PDF 활성화, mark-info, 카탈로그 언어Document::enableTaggedPdf(string $lang, ?ConformancePolicy)
문서 수준 자연어Document::setLanguage(string $lang)
구조 트리 및 단일 Document 루트StructureTree::createRoot(), StructureTree::addElement()
표준 구조 유형 어휘RoleMap::standard()
요소별 언어, 대체 텍스트 및 교체 텍스트StructureElement 생성자 속성
BCP-47 엄격 검증Bcp47Validator, ConformancePolicy::strictUa2()
휴리스틱 교정(선택 사용)AccessibilityAutoFixerRegistry
<?php
declare(strict_types=1);
use NextPDF\Core\Document;
$doc = Document::createStandalone();
$doc->enableTaggedPdf(lang: 'en');
$doc->setTitle('PDF/UA-2 structure demonstration');
$doc->addPage();
$doc->writeHtml('<h1>Title</h1><p>Body.</p><ul><li>Item</li></ul>');
$doc->save(__DIR__ . '/output/ua2.pdf');
// Then validate with an external checker. NextPDF does not assert
// conformance on your behalf:
// verapdf --flavour ua2 output/ua2.pdf

엄격한 BCP-47 검증, 권고 로깅, 오류 처리를 갖춘 의존성 주입 기반 라이터는 접근성 모듈 프로덕션 예제를 참조하십시오. 동일한 연결 구성이 PDF/UA-2 저작 워크플로에도 적용됩니다. 유일하게 추가되는 항목은 생성 후 수행하는 외부 검증 단계입니다. 이 단계는 적합성 선언에 필수이며 호출자의 책임입니다.

  • 태그된 PDF를 활성화했지만 구조 하위 항목을 연결하지 않은 문서는 설계상 PDF/UA-2 식별 블록을 표시하지 않습니다(ISO 14289-2 §5). 비어 있는 구조 트리는 검증기에 의해 거부됩니다.
  • 메서드 enablePdfA()enableTaggedPdf()를 함께 사용하면 단일 값 적합성 판별자는 마지막 호출이 우선하는 방식으로 축소되는 반면, 구조적 부작용은 누적되어 유지됩니다. CONFORMANCE_MODE_CLOBBERED 경고를 통해 이를 확인할 수 있습니다.
  • ISO 14289-2 §7.2.2는 적합한 문서가 더 넓은 접근성 규정에 대한 적합성을 추가로 선언할 수 있도록 허용합니다. NextPDF는 PDF/UA-2 식별 스키마만 방출하며 다른 규제 선언 메타데이터는 방출하지 않습니다.
조항 영역(ISO 14289-2 / ISO 32000-2)NextPDF 지원참고
PDF/UA-2 식별 스키마(ISO 14289-2 §5)지원구조 트리에 하위 항목이 있을 때만 방출합니다.
구조 트리 루트 아래의 단일 Document 요소(ISO 14289-2 §8.2.5.2; ISO 32000-2 §14.7.2)지원createRoot()는 단일 루트 Document를 강제합니다.
표준 구조 유형 및 역할 맵(ISO 32000-2 §14.7; Well-Tagged PDF §8.2.5.1)지원RoleMap::standard()와 PDF 2.0 네임스페이스를 사용합니다.
마크된 콘텐츠 시퀀스 및 부모 트리(ISO 32000-2 §14.7.2)지원페이지별 식별자와 페이지 간 연속성을 지원합니다.
카탈로그 및 요소별 자연어(ISO 32000-2 §14.9; ISO 14289-2 §8.4.4)지원BCP-47; 엄격 모드는 잘못된 형식의 태그를 거부합니다.
대체 텍스트 및 교체 텍스트 캐리어(ISO 32000-2 §14.9)캐리어를 지원하며, 콘텐츠는 저작자가 제공합니다이 라이브러리는 대체 텍스트를 생성하지 않습니다.
논리적 읽기 순서(ISO 32000-2 §14.7)원본 순서를 지원하며 순서를 재배열하지 않습니다읽기 순서를 바로잡는 것은 저작자의 책임입니다.
표 헤더 연결 및 범위HTML 마크업을 넘어서는 범위는 제외추론하지 않으며, 원본 마크업에 따라 달라집니다.
제목 수준의 정확성 및 개요범위 제외저작자는 올바른 제목 계층 구조를 제공해야 합니다.
종단 간 PDF/UA-2 검증범위 제외번들된 검사기는 없으므로 외부에서 검증하십시오.
적합성 증명 또는 인증범위 제외이 라이브러리에서 제공하지 않습니다.

구조 트리 기능은 요소 집합에 단일 선형 직렬화 패스를 추가하며, 비용은 태그 방출보다 HTML 파이프라인의 영향을 더 크게 받습니다. performance_budget 상한은 일반적인 다중 페이지 시맨틱 문서에 적용됩니다.

언어 및 접근성 속성 값은 PDF 객체 구문에 들어가기 전에 PdfStringEscaper를 통해 이스케이프되며, 엄격 모드 BCP-47 검증은 API 경계에서 언어 태그 입력 표면을 좁힙니다. 저작자가 제공한 대체 텍스트와 제목은 신뢰할 수 없는 출력값으로 취급하십시오.

NextPDF는 ISO 14289-2 및 ISO 32000-2 §14.7에 정의된 PDF/UA-2 구조 트리 모델과 일치하는 구조를 방출합니다. 이것이 특정 문서가 PDF/UA-2에 적합하다는 주장은 아닙니다. PDF/UA 검사기(예: veraPDF)로 검증하십시오. 이 라이브러리는 사용자를 대신하여 적합성을 주장하지 않습니다. 번들된 veraPDF UA-2 골든 테스트는 veraPDF 바이너리가 없으면 건너뛰도록 게이트 처리되므로, 여기서는 적합성 통과를 주장하지 않습니다. 인용된 조항은 의역되며 절대 직접 인용되지 않습니다. 청크 해시는 docs/public/modules/core/_normative-evidence-a11y.md에 기록됩니다.

PDF/UA-2 적합성 선언에는 저작자가 제공한 의미(대체 텍스트, 올바른 제목 계층 구조, 표 헤더 연결, 의도된 읽기 순서, 장식용 콘텐츠 분류)와 외부 검사기를 통한 검증이 필요합니다. 이 중 어떤 것도 이 라이브러리가 생성하거나 검증하지 않습니다. 런타임은 프로덕션 승인을 위해 외부에서 검증하도록 호출자에게 안내하는 Degraded / ComplianceRisk 권고를 방출합니다. 적합성은 최종 문서와 저작 프로세스의 속성이며, API 호출 자체의 속성이 아닙니다.