PDFium Delphi Component Docs

SaveAsPdfX Méthode

Composant: TPdf  ·  Unit: PDFium
Enregistre un candidat PDF/X avec les métadonnées d'identification et un profil de sortie incorporé pour la variante ISO 15930 choisie

Syntax

function SaveAsPdfX(const FileName: string): Boolean; overload;
function SaveAsPdfX(const FileName: string; const Options: TPdfXSaveOptions): Boolean; overload;

Description

SaveAsPdfX exécute d'abord le SaveAs ordinaire, puis superpose une mise à jour incrémentielle sur les octets enregistrés pour la variante d'échange d'impression PDF/X choisie. Le post-traitement injecte cinq classes d'octets dans le flux enregistré :

Le trailer est réécrit pour ajouter un tableau /ID. La 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 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 TPdfXSaveOptions.Default (PDF/X-4 + sRGB + /Trapped /False) avec remplissage automatique des champs Info / DocumentId à partir de FPDF_GetMetaText et FPDF_GetFileIdentifier

Renvoie True une fois les octets préparés écrits, ou False si le document est inactif ou si la sauvegarde de base échoue Une sérialisation réussie n'établit pas une conformité PDF/X complète

Pour pxc1a, IccProfileData doit contenir un profil de sortie ICC v2 structurellement valide, avec une classe de périphérique prtr, un espace de couleur de données CMYK, un PCS Lab ou XYZ et les LUT bidirectionnelles requises Des données de profil absentes, RGB, tronquées, mal classées ou non prises en charge lèvent EArgumentException ; il n'existe aucun repli sRGB pour PDF/X-1a

Pour PDF/X-1a, les valeurs OutputCondition, OutputConditionIdentifier et OutputIntentInfo encore égales à la valeur par défaut intégrée sRGB IEC61966-2.1 sont remplacées par la description du profil vérifié Si le profil n'a pas de description, fournissez un OutputConditionIdentifier non vide et non par défaut ; il fournit le libellé de remplacement, sinon l'appel lève EArgumentException Les libellés explicites de l'appelant sont préservés

La sérialisation et ces vérifications de profil s'achèvent dans un magasin de sauvegarde temporaire avant que le fichier cible ne soit ouvert en écriture Une cible existante reste donc inchangée si la validation du profil lève une exception ou si la sauvegarde de base échoue Ce n'est pas une garantie de remplacement de fichier atomique : un échec d'E/S après l'ouverture de la cible peut laisser une sortie partielle

Remarks

Example

// Simple PDF/X-4 with bundled sRGB OutputIntent
if Pdf1.SaveAsPdfX('C:\AdProof.pdfx.pdf') then
  ShowMessage('Saved PDF/X-4');

// PDF/X-1a with a custom CMYK ICC profile (e.g. FOGRA39)
var
  Opts: TPdfXSaveOptions;
begin
  Opts := TPdfXSaveOptions.Default;
  Opts.Conformance := pxc1a;
  Opts.IccProfileData := TFile.ReadAllBytes('C:\ICC\FOGRA39.icc');
  Opts.OutputCondition := 'Coated FOGRA39 (ISO 12647-2:2004)';
  Opts.OutputConditionIdentifier:= 'FOGRA39';
  Opts.RegistryName := 'http://www.color.org';
  Opts.Trapped := ptFalse;
  Pdf1.SaveAsPdfX('C:\AdProof.cmyk.pdfx.pdf', Opts);
end;

See Also

SaveAsPdfXToStream, ValidatePdfX, PdfXConformance, SaveAsPdfA, SaveAsPdfE