PDFium Delphi Component Docs

SaveAsPdfX Metodo

Componente: TPdf  ·  Unità: PDFium
Salva un candidato PDF/X con i metadati di identificazione e un profilo di output incorporato per la variante ISO 15930 selezionata

Syntax

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

Description

SaveAsPdfX esegue prima il normale SaveAs, poi sovrappone un aggiornamento incrementale ai byte salvati per la variante PDF/X di scambio per la stampa selezionata. Il post-processing inietta cinque classi di byte nello stream salvato:

Il trailer viene riscritto per aggiungere un array /ID. L' output resta byte-identico al risultato del SaveAs base fino alla fine del PDF originale; viene appeso solo l'aggiornamento incrementale. I due overload differiscono solo nel modo in cui la configurazione viene passata: la forma con solo nome file usa TPdfXSaveOptions.Default (PDF/X-4 + sRGB + /Trapped /False) con auto-popolamento dei campi Info / DocumentId da FPDF_GetMetaText e FPDF_GetFileIdentifier

Restituisce True dopo aver scritto i byte preparati, oppure False se il documento è inattivo o il salvataggio base fallisce Una serializzazione riuscita non stabilisce la conformità PDF/X completa

Per pxc1a, IccProfileData deve contenere un profilo di output ICC v2 strutturalmente valido con device class prtr, spazio colore dei dati CMYK, un PCS Lab o XYZ e le LUT bidirezionali richieste Dati di profilo mancanti, RGB, troncati, classificati in modo errato o non supportati sollevano EArgumentException; per PDF/X-1a non esiste alcun fallback su sRGB

Per PDF/X-1a, i valori OutputCondition, OutputConditionIdentifier e OutputIntentInfo ancora uguali al predefinito integrato sRGB IEC61966-2.1 vengono sostituiti con la descrizione del profilo verificato Se il profilo non ha descrizione, fornire un OutputConditionIdentifier non vuoto e non predefinito; è lui a fornire l'etichetta di sostituzione, altrimenti la chiamata solleva EArgumentException Le etichette esplicite del chiamante vengono preservate

La serializzazione e questi controlli del profilo terminano in uno store di salvataggio temporaneo prima che il file di destinazione venga aperto in scrittura Una destinazione esistente resta quindi invariata se la validazione del profilo solleva un'eccezione o il salvataggio base fallisce Questa non è una garanzia di sostituzione atomica del file: un fallimento di I/O dopo l'apertura della destinazione può lasciare output parziale

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