function SaveAsPdfE(const FileName: string): Boolean; overload;
function SaveAsPdfE(const FileName: string; const Options: TPdfESaveOptions): Boolean; overload;
SaveAsPdfE는 먼저 일반 SaveAs를 수행한 뒤, 저장된 바이트 위에 파일을 PDF/E-1 아카이브로 승격시키는 증분 업데이트를 얹습니다(PDF 1.6에서 파생된 엔지니어링 문서 형식인 ISO 24517-1:2008). 이 후처리는 저장된 스트림에 네 부류의 마커를 주입합니다
pdfe:ISO_PDFEVersion = "PDF/E-1") pdfe 네임스페이스에 맞는 pdfaExtension:schemas 기술을 더하며, §13.1을 통해 ISO 19005-1 §6.7에서 물려받은 브리지된 Dublin Core / xmp / pdf 속성(dc:title / dc:creator / dc:description / xmp:CreateDate / xmp:ModifyDate / xmp:MetadataDate / xmp:CreatorTool / pdf:Producer / pdf:Keywords)을 담는 XMP 메타데이터 스트림/ISO_PDFEVersion (PDF/E-1) 항목을 추가하는 재작성된 Document Information Dictionary. Info 객체는 원래 오브젝트 번호를 유지하고 PDFium이 만든 Info 항목은 그대로 보존됩니다. 소스 trailer에 /Info가 없으면 새 Info 딕셔너리를 합성해 새 /Info 참조를 trailer에 기록합니다/Metadata 참조를 갖는 갱신된 문서 catalog/ID 배열(§6.2). 소스 PDF가 이미 갖고 있으면 FPDF_GetFileIdentifier에서 재사용하고, 그렇지 않으면 소스 바이트에서 결정론적으로 유도합니다출력은 원본 PDF 끝까지 기본 SaveAs 결과와 바이트 단위로 동일합니다. 뒤에 붙는 것은 증분 업데이트뿐입니다
PDF/E를 이해하지 못하는 기존 리더도 일반 SaveAs와 똑같이 파일을
렌더링합니다. 두 오버로드의 차이는 설정을 넘기는 방식뿐입니다. 파일 이름만 받는 형태는
FPDF_GetMetaText와 FPDF_GetFileIdentifier에서 자동 채움과 함께
TPdfESaveOptions.Default를 쓰고,
TPdfESaveOptions 형태는 호출자가 Title, Author, Subject, Keywords, Creator, Producer, CreationDate,
ModDate, DocumentId, InstanceId, Version 문자열(기본값 "PDF/E-1")을
오버라이드할 수 있게 합니다
성공하면 True를 반환합니다. 기본 SaveAs가 실패했거나 증분 업데이트를
붙일 수 없으면(보통 저장된 바이트의 잘못된 trailer) False를 반환합니다
http://www.aiim.org/pdfe/ns/id/입니다(pdfa / pdfua URI에 맞춘 AIIM 업계 관례). ISO 24517-1:2008 §13.3 본문은 이 URI를 "i" 글자 하나를 빼뜨리고 인쇄하는데, 오타로 보입니다. 검증기가 스펙 그대로의 표기를 요구하면 TPdfESaveOptions.Version으로 오버라이드하세요
// Simple PDF/E-1 output, options auto-populated from the document
if Pdf1.SaveAsPdfE('C:\Drawing.pdfe.pdf') then
ShowMessage('Saved PDF/E-1');
// With explicit options (Title overridden, custom Producer)
var
Opts: TPdfESaveOptions;
begin
Opts := TPdfESaveOptions.Default;
Opts.Title := 'Bridge Assembly Drawing - Sheet 12';
Opts.Producer := 'PDFium Delphi Component';
Pdf1.SaveAsPdfE('C:\Bridge.pdfe.pdf', Opts);
end;