PDF/UA-2(ISO 14289-2) 사양 매핑
한눈에 보기
섹션 제목: “한눈에 보기”이 페이지는 NextPDF Core 기능을 ISO 14289-2(PDF/UA-2) 조항과 매핑합니다. 이 라이브러리가 저작자의 충족을 지원하는 조항과 명시적으로 범위에서 제외되는 조항을 설명합니다. 이는 적합성 선언이 아닙니다. 파일의 적합성은 저작자의 콘텐츠, 원본 마크업, 외부 PDF/UA 검사기를 통한 검증에 따라 달라집니다.
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의 보조 기술 모델이 이러한 프리미티브의 설계 대상입니다. 특정 문서가 모든 조항을 충족하는지 여부는 저작자의 입력과 외부 검증으로 결정됩니다.
API 표면
섹션 제목: “API 표면”| 조항 영역 | 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 호출 자체의 속성이 아닙니다.