function SaveAsPdfE(const FileName: string): Boolean; overload;
function SaveAsPdfE(const FileName: string; const Options: TPdfESaveOptions): Boolean; overload;
SaveAsPdfE exécute d'abord SaveAs, puis superpose une mise à jour incrémentielle sur les octets enregistrés afin de promouvoir le fichier en archive PDF/E-1 (ISO 24517-1:2008, le format de document d'ingénierie dérivé de PDF 1.6). Le post-traitement injecte quatre classes de marqueurs dans le flux enregistré :
pdfe:ISO_PDFEVersion = "PDF/E-1") ainsi que la description pdfaExtension:schemas correspondante pour l'espace de noms pdfe, et les propriétés Dublin Core / xmp / pdf relayées héritées de ISO 19005-1 §6.7 via §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) exigée par la clause SHALL de §5. L'objet Info conserve son numéro d'objet d'origine ; les entrées Info émises par PDFium sont préservées telles quelles. Lorsque le trailer source ne contient pas de /Info, un nouveau dictionnaire Info est synthétisé et une nouvelle référence /Info est écrite dans le trailer/Metadata pointant vers le nouveau flux XMP/ID de trailer (§6.2) : réutilisé à partir de FPDF_GetFileIdentifier lorsque le PDF source en porte déjà un, sinon dérivé de manière déterministe à partir des octets sourceLa sortie reste octet pour octet identique au résultat de base de SaveAs jusqu'à la fin du PDF original ; seule la mise à jour incrémentielle est ajoutée. Les lecteurs existants qui ne comprennent pas PDF/E affichent tout de même le fichier exactement comme SaveAs le ferait. Les deux surcharges ne diffèrent que par la façon dont la configuration est transmise : la forme réservée au nom de fichier utilise TPdfESaveOptions.Default avec remplissage automatique à partir de FPDF_GetMetaText et FPDF_GetFileIdentifier, tandis que la forme TPdfESaveOptions permet à l'appelant de remplacer Title, Author, Subject, Keywords, Creator, Producer, CreationDate, ModDate, DocumentId, InstanceId et la chaîne Version (par défaut "PDF/E-1")
Renvoie True en cas de succès. Renvoie False si SaveAs de base a échoué ou si la mise à jour incrémentielle n'a pas pu être attachée (généralement un trailer invalide dans les octets enregistrés)
http://www.aiim.org/pdfe/ns/id/ (convention de l'industrie AIIM, correspondant aux URI pdfa / pdfua). Le texte de ISO 24517-1:2008 §13.3 imprime cette URI sans l'une des lettres "i", ce qui semble être une faute de frappe. Remplacez-le via TPdfESaveOptions.Version si un validateur exige l'orthographe stricte de la spécification
// Sortie PDF/E-1 simple, options renseignées automatiquement à partir du document
if Pdf1.SaveAsPdfE('C:\Drawing.pdfe.pdf') then
ShowMessage('Saved PDF/E-1');
// Avec des options explicites (Title remplacé, Producer personnalisé)
var
Opts: TPdfESaveOptions;
begin
Opts := TPdfESaveOptions.Default;
Opts.Title := 'Bridge Assembly Drawing - Sheet 12';
Opts.Producer := 'PDFiumPas';
Pdf1.SaveAsPdfE('C:\Bridge.pdfe.pdf', Opts);
end;