Validation Policies and WTPDF

validation policy는 기존 구조 preflight 엔진에 강제 가능한 문서 요구 사항을 더하고, text, JSON, HTML, CSV report 형식은 그대로 유지합니다

내장 policy

GetBuiltInValidationPolicy는 default, compact, strict, wtpdf-reuse, wtpdf-accessibility, wtpdf-validated-reuse, wtpdf-validated-accessibility를 인식합니다

WTPDF policy는 PDF 2.0, structure tree, 비어 있지 않은 문서 언어, dc:title이 있는 XMP metadata, embedded font, 그리고 일치하는 PDF Declaration에 대한 기계 검증 가능한 핵심 요구 사항을 강제하고, accessibility policy는 여기에 DisplayDocTitle=true까지 요구합니다

이 검사들은 지원되는 규칙에 대한 결정적인 intake gate이며, 완전한 semantic WTPDF, PDF/UA-2, ISO/TS 32005 validator를 대체하지 않습니다

Declaration metadata

ReadWTPDFMetadata는 Catalog XMP에서 reuse, accessibility, validated declaration 상태와 claimBy, claimDate, claimCredentials, claimReport를 추출합니다

reader는 현재 registry URI와 초기 WTPDF 1.0 예제가 출력한 slash 형태를 모두 받아들이지만, 현재 canonical URI 형태로 보고합니다

공개 지원 타입

THPDFWTPDFConformanceLevel은 WTPDF claim 없음, reuse, accessibility 검증 중 하나를 고르고, THPDFWTPDFMetadata는 XMP에서 찾은 declaration과 claim 세부 정보를 돌려줍니다

THPDFValidationJob과 THPDFValidationJobs는 순서 있는 batch 입력을 기술하고, THPDFValidationJobStatus, THPDFValidationJobResult, THPDFValidationJobResults는 순서 있는 검증 결과를 돌려줍니다

THPDFValidationBatchOptions는 report 형식, worker와 queue 한도, fail-fast 동작, 취소를 제어합니다

THPDFMetadataFixMode는 검사, 추가 repair, 동기화 중 하나를 고르고, THPDFMetadataFixResult는 metadata 유효성과 바뀐 property 수를 보고합니다

bounded batch 실행

RunValidationBatch는 독립된 파일을 호출자가 정한 worker와 queue 한도로 동시에 검증하고, 소스 순서를 유지하며, fail-fast와 취소를 지원하고, job마다 경과 시간과 소스 인식 error 컨텍스트를 기록합니다

worker 한도가 0 이하이면 활성 프로세서 수를, queue 한도가 0 이하이면 worker당 네 개 job을 선택합니다

독립적인 metadata repair

FixPDFMetadata는 mfmInspectOnly, mfmAddMissing, mfmSynchronize를 구조 preflight repair와 독립적으로 사용합니다

add-missing 모드는 기존 property를 보존하면서 metadata가 없으면 기본 packet을 만들고, synchronize 모드는 로드된 Info dictionary에서 공용 Dublin Core, PDF, XMP property를 다시 쓰면서 관련 없는 RDF description은 보존합니다