function SaveAsPdfE(const FileName: string): Boolean; overload;
function SaveAsPdfE(const FileName: string; const Options: TPdfESaveOptions): Boolean; overload;
SaveAsPdfE esegue prima il normale SaveAs, poi sovrappone un aggiornamento incrementale ai byte salvati che promuove il file a un archivio PDF/E-1 (ISO 24517-1:2008, il formato per documenti di ingegneria derivato da PDF 1.6). Il post-processing inietta quattro classi di marcature nello stream salvato:
pdfe:ISO_PDFEVersion = "PDF/E-1") più la descrizione pdfaExtension:schemas corrispondente per il namespace pdfe, e le proprietà Dublin Core / xmp / pdf travasate da ISO 19005-1 §6.7 tramite §13.1 (dc:title / dc:creator / dc:description / xmp:CreateDate / xmp:ModifyDate / xmp:MetadataDate / xmp:CreatorTool / pdf:Producer / pdf:Keywords)/ISO_PDFEVersion (PDF/E-1) richiesta dalla clausola SHALL del §5. L'oggetto Info conserva il suo numero d'oggetto originale; le voci Info emesse da PDFium restano intatte. Quando il trailer della sorgente non porta /Info, viene sintetizzato un nuovo dizionario Info e una nuova referenza /Info viene scritta nel trailer/Metadata che punta al nuovo stream XMP/ID nel trailer (§6.2): riusato da FPDF_GetFileIdentifier quando il PDF sorgente ne ha già uno, altrimenti derivato in modo deterministico dai byte sorgenteL'output resta byte-identico al risultato del SaveAs base fino alla
fine del PDF originale; viene appeso solo l'aggiornamento incrementale
I reader esistenti che non capiscono PDF/E continuano a renderizzare il file
esattamente come farebbe il normale SaveAs. I due overload differiscono solo
nel modo in cui la configurazione viene passata: la forma con solo nome file usa
TPdfESaveOptions.Default con auto-popolamento da
FPDF_GetMetaText e FPDF_GetFileIdentifier,
mentre la forma con TPdfESaveOptions permette al chiamante di intervenire su
Title, Author, Subject, Keywords, Creator, Producer, CreationDate,
ModDate, DocumentId, InstanceId e sulla stringa Version
(predefinita "PDF/E-1")
Restituisce True in caso di successo. Restituisce False se
il SaveAs base è fallito o se l'aggiornamento incrementale non ha potuto
essere applicato (tipicamente un trailer non valido nei byte salvati)
http://www.aiim.org/pdfe/ns/id/ (convenzione di settore AIIM, in linea con gli URI pdfa / pdfua). Il testo di ISO 24517-1:2008 §13.3 riporta questo URI senza una delle lettere "i", il che sembra un errore tipografico. Intervieni via TPdfESaveOptions.Version se un validatore esige la grafia rigorosa della specifica
// 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;