function ValidatePdfX: TPdfXValidationResult;
ValidatePdfX는 열려 있는 문서를 훑으며 ISO 15930 계열이 정의한 파일 형식 마커와 선택된 콘텐츠 규칙을 찾습니다
pdfxid:GTS_PDFXVersion을 담은 XMP 메타데이터 스트림 (PDF/X-1a / PDF/X-3의 경우 선택적으로 pdfxid:GTS_PDFXConformance)pdfaExtension:schemas 설명 (XMP 확장 스키마 관례)/GTS_PDFXVersion/DestOutputProfile을 통해 임베디드 ICC 프로파일을 가진 OutputIntent 딕셔너리를 참조하는 카탈로그 /OutputIntents 배열prtr / CMYK 구조 검사를 통과해야 하고, 여기에는 Lab 또는 XYZ PCS와 필요한 양방향 LUT가 포함되며, 그 스트림은 /N 4를 선언해야 합니다/Title 항목 (PDF/X가 강력하게 권장)/ID 배열과 /Encrypt 부재 (모든 PDF/X 버전이 암호화를 금지합니다)xmp:CreateDate와 xmp:ModifyDate 항목pvxiInvalidOutputProfile은 요구 사항과 맞지 않는, 지원되지 않거나 잘못된 형식의 PDF/X-1a output 프로파일을 보고합니다. 여기에는 /N 4로 위장한 RGB 프로파일이나 틀린 컴포넌트 수도 포함됩니다
스파스 검증기와 호환성 검증기 모두 이 검사를 수행하며, /DestOutputProfile 참조만으로는 더 이상 acceptable한 PDF/X-1a 프로파일로 인정되지 않습니다
결과는 TPdfXValidationResult 레코드입니다:
pxc1a, pxc3, pxc4 또는 pxc6이고, pxcNone과 pxcUnknown은 인식된 PDF/X 수준으로 인정되지 않습니다TPdfXValidationIssues 집합Conformance가 실제 PDF/X 수준이고 Issues가 비어 있으면 True를 반환합니다ValidatePdfX는 읽기 전용 검사입니다. PDF/X 페이로드를 인쇄 워크플로에
넣기 전에 호출해 비적합 사항을 운영자에게 드러내세요. 이슈 목록이 필요 없는
흔한 "이 문서가 어떤 PDF/X 수준인가?" 확인이라면 더 가벼운
PdfXConformance 속성을 사용하는 편이 좋습니다
pvxiInfoVersionMismatch를 보고합니다Conformance = pxcUnknown이고 Issues 집합이 빈 레코드를 반환합니다PDF/X-1, PDF/X-3, PDF/X-4 또는 PDF/X-6을 담은 XMP 버전 문자열에서 이뤄집니다. 마커 인식만으로 conformance 판정이 되는 것은 아닙니다
uses System.TypInfo;
var
Outcome: TPdfXValidationResult;
Issue: TPdfXValidationIssue;
begin
Pdf1.FileName := 'C:\Incoming\ad.pdf';
Pdf1.Active := True;
Outcome := Pdf1.ValidatePdfX;
Memo1.Lines.Add('Level: ' + GetEnumName(TypeInfo(TPdfXConformance),
Ord(Outcome.Conformance)));
for Issue in Outcome.Issues do
Memo1.Lines.Add('- ' + GetEnumName(TypeInfo(TPdfXValidationIssue), Ord(Issue)));
end;