Preflight Reports

규정 준수, 문서 검사, 자동화

PDF/UA 리더 프로필 선택

PDF/UA 검사는 XMP가 pdfuaid:part=2를 식별할 때 part 2를 선택하고 그 외에는 part 1 검사를 유지합니다. 여기 설명된 구형 PDF/UA-1 검사가 part 2에 적용된다는 뜻은 아닙니다

PDF/UA-2 프로필은 핵심 식별, 네임스페이스, 역할, 구조 검사를 구현합니다. 구조화된 보고서는 PDF/UA-2와 ISO 14289-2를 사용하며 fullCertification=false와 검증되지 않은 범위를 밝힙니다

대상 part를 강제하려면 CheckFilePDFUACompliance나 RunPDFUAValidationPipelineTask를, 기능 한도를 살펴보려면 GetPDFUAReadValidationCoverageJSON을 사용하십시오

개요

PDF Library for Delphi는 외부 PDF에 대해 기본 제공 PDF/A 및 PDF/UA-1 파일 적합성 검사를 실행하고 결과를 재사용 가능한 보고서 출력으로 변환할 수 있습니다. 애플리케이션이나 빌드 파이프라인에 CheckFileCompliance와 동일한 진단이 필요하지만 문자열 목록 핸들을 직접 관리하고 싶지 않을 때 보고서 API를 사용하십시오

보고서 파이프라인은 계층화되어 있습니다. CheckFileCompliance는 문제 목록 핸들을 반환하는 저수준 API입니다. CreatePreflightReport는 선택한 검사를 안정적인 일반 텍스트 본문으로 만들고 CreatePreflightReportEx는 같은 보고서를 텍스트, JSON, HTML 또는 CSV로 변환하여 모든 형식이 같은 통과 상태와 문제 수를 공유합니다

라이브러리 API

CheckFileCompliancePDF 파일에 대해 선택한 규정 준수 검사 하나를 실행하고 통과하면 0, 문제가 있으면 문제 줄이 포함된 StringListID를 반환합니다
CreatePreflightReportPDF/A, PDF/UA-1 또는 두 검사를 모두 실행하고 머리글 메타데이터, 검사별 섹션 하나 및 최종 요약이 있는 일반 텍스트 보고서를 반환합니다
CreatePreflightReportEx같은 보고서를 텍스트(0), JSON(1), HTML(2) 또는 CSV(3) 형식으로 반환합니다. 알 수 없는 형식 값은 텍스트로 대체됩니다
SavePreflightReport일반 텍스트 보고서를 UTF-8로 기록하고 필요할 때 상위 디렉터리를 만듭니다
SavePreflightReportEx텍스트, JSON, HTML 또는 CSV 보고서를 UTF-8로 기록하고 필요할 때 상위 디렉터리를 만듭니다
ComparePreflightReports두 일반 텍스트 보고서를 비교하고 변경되는 Generated: 타임스탬프 줄을 무시하며, 안정적인 콘텐츠가 변경된 경우에만 간결한 차이를 반환합니다

형식 계약

Text정규 보고서 본문입니다. Generated, Input, Checks, Issue mode, 선택한 각 검사별 섹션 및 Summary 블록을 포함하며 이 블록에는 Total issues와 Result가 있음
JSONtitle, generated, input, checks, issueMode, sections 및 summary가 있는 단일 개체입니다 각 절에는 이름, 상태 및 문제 문자열 배열이 있습니다
HTML독립 실행형 UTF-8 HTML 문서입니다. 텍스트 보고서는 HTML 이스케이프되어 서식 지정 블록 안에 표시되므로 보고서 콘텐츠가 마크업으로 해석되지 않고 보입니다
CSV행은 고정 열 kind,section,status,code,message을 사용합니다. meta 행에는 머리글 필드, check 행에는 PASS/FAIL 섹션 상태, issue 행에는 메시지와 분리된 숫자 문제 코드, summary 행에는 최종 합계가 포함됩니다

규정 준수 선택

보고서 API는 ComplianceTests에 비트 마스크를 사용합니다. 1은 PDF/A, 2는 PDF/UA-1, 3은 둘 다 선택합니다. 0을 전달해도 두 검사를 모두 실행합니다. Options는 현재 비트 1을 사용하여 선택한 각 검사를 첫 문제 후 중지하며 보고된 모든 문제를 수집하려면 0을 전달합니다

명령줄 데모

Delphi PreflightReport 콘솔 데모는 애플리케이션별 UI를 추가하지 않고 보고서 워크플로를 보여 줍니다. 단일 PDF 검증, 형식화된 출력 생성, 새 텍스트 보고서와 기준선 비교 또는 디렉터리 일괄 처리를 수행할 수 있습니다

PreflightReport.exe --input "C:\PDFs\invoice.pdf" --output "C:\Reports\invoice.preflight.txt"
PreflightReport.exe --input "C:\PDFs\invoice.pdf" --output "C:\Reports\invoice.preflight.json" --json
PreflightReport.exe --input "C:\PDFs\invoice.pdf" --output "C:\Reports\invoice.preflight.csv" --format csv
PreflightReport.exe --input "C:\PDFs\invoice.pdf" --output "C:\Reports\invoice.preflight.txt" --compare "C:\Baselines\invoice.preflight.txt"
PreflightReport.exe --input-dir "C:\PDFs" --output-dir "C:\Reports" --recursive --format html

단일 파일 모드는 선택한 검사에서 문제가 보고되지 않으면 종료 코드 0, 명령줄 또는 런타임 오류에는 1, 문제가 하나라도 보고되거나 기준선 비교 결과가 다르면 2를 반환합니다. 디렉터리 모드는 PDF마다 <basename>.preflight.<ext> 파일 하나를 쓰고 소스 경로, 통과/실패 상태, 문제 수 및 보고서 경로가 포함된 preflight-summary.csv 파일을 추가합니다

비교 참고 사항

ComparePreflightReports는 일반 텍스트 보고서용입니다. 같은 실행의 사용자 대상 출력이 JSON, HTML 또는 CSV이더라도 기준선 텍스트 보고서와 새로 생성한 텍스트 보고서를 제공해야 합니다. 비교기는 실행할 때마다 타임스탬프가 바뀌므로 Generated: 줄을 정규화합니다. 다른 모든 안정적인 줄은 삽입 및 삭제 차이를 읽기 쉽게 유지하기 위한 작은 미리 보기 창으로 순서대로 비교합니다

참고 항목

CheckFileCompliance, CreatePreflightReport, CreatePreflightReportEx, SavePreflightReport, SavePreflightReportEx, ComparePreflightReports, GetPDFUADiagnostics