function SaveAs(Stream: TStream; Option: TSaveOption = saNone; PdfVersion: TPdfVersion = pvUnknown): Boolean;
| Stream | Valore TStream che riceve i dati PDF |
| Option | TSaveOption. Opzione di salvataggio: saNone per un salvataggio normale, saIncremental per un aggiornamento incrementale, saNoIncremental per forzare una riscrittura completa o saRemoveSecurity per rimuovere la protezione durante il salvataggio |
| PdfVersion | Destinazione TPdfVersion; usare pvUnknown per preservare la versione corrente |
function SaveAs(const FileName: string; Option: TSaveOption = saNone; PdfVersion: TPdfVersion = pvUnknown): Boolean;
| FileName | string. Percorso del file di output. Un file temporaneo adiacente viene completato per primo, poi sostituisce atomicamente la destinazione |
| Option | TSaveOption. Opzione di salvataggio: saNone, saIncremental, saNoIncremental o saRemoveSecurity |
| PdfVersion | Destinazione TPdfVersion; usare pvUnknown per preservare la versione corrente |
True se il documento è stato salvato con successo, oppure False in caso di fallimentoSalva il documento corrente su un percorso file o un TStream
Il parametro PdfVersion specifica la versione PDF di output;
passare pvUnknown per mantenere la versione esistente del documento
La proprietà Compressed controlla la compressione degli stream. Gli input a riferimenti ibridi, xref-stream e object-stream vengono preservati quando una riscrittura con xref classico non può conservarne la semantica completa di riferimenti incrociati
Ogni salvataggio completo (non incrementale) ripara i ToUnicode CMap dei font subset le cui voci di intervallo di array contraddicono le loro mappature di caratteri, così un documento ricaricato estrae gli spazi e i trattini originali invece di U+00A0 e U+00AD; le revisioni incrementali, gli aggiornamenti sparse e i documenti con cross-reference stream passano invariati
I controlli espliciti della versione PDF seguono la catena di revisioni del riferimento incrociato attivo e i membri attivi degli object-stream, quindi i corpi degli oggetti obsoleti o non referenziati non influenzano il controllo della versione richiesta
L'overload su file lascia invariata una destinazione esistente se la compressione, la post-elaborazione o la validazione della versione fallisce
L'aggiornamento V8 Windows della v3.125.2 ripara la persistenza esatta dei valori dei campi per gli array di pacchetti testati e per il sottoinsieme XDP single-stream supportato; i runtime più vecchi possono scartare le modifiche single-stream o introdurre newline extra
Riaprire l'output XFA e confrontare esattamente i valori dei campi richiesti prima di accettarlo; non fare trim degli spazi per nascondere una differenza di persistenza
pv13 normalizza le risorse di pagina ereditate, canonizza /ProcSet e rimuove solo i valori iniziali dello stato di trasparenza, inclusi /BM /Normal, /SMask /None, /CA 1, /ca 1, /AIS false e /TK truepv13 rifiuta gli stream di metadati attivi perché /Type /Metadata e i metadati dei componenti XMP richiedono PDF 1.4 o successivopv13 rifiuta gli alberi di nomi /EmbeddedFiles del documento mantenendo i riferimenti a stream di file incorporati più vecchi che non usano la voce dell'albero di nomi di PDF 1.4pv13 rifiuta la voce /Lang del catalogo del documento perché l'identificazione della lingua naturale a livello di documento richiede PDF 1.4 o successivopv14 e precedenti rifiutano i valori /PageLayout /TwoPageLeft e /TwoPageRight del catalogo del documento perché i layout a due pagine richiedono PDF 1.5 o successivopv14 e precedenti rifiutano gli XObject immagine con /BitsPerComponent 16 perché i componenti immagine a 16 bit richiedono PDF 1.5 o successivopv14 e precedenti rifiutano le voci /SMaskInData degli XObject immagine perché i canali soft-mask JPEG 2000 incorporati richiedono PDF 1.5 o successivopv13 con saIncremental genera EPdfError perché la normalizzazione non può preservare le revisioni precedenti firmateEPdfError; i chiamanti devono rimuovere la protezione prima di richiedere una destinazione a versione core/ADBE con /BaseVersion /1.7 e /ExtensionLevel 1 o successivo; una semplice dichiarazione PDF 1.7 non è sufficienteRichMediaExecute richiedono un'estensione per sviluppatori /ADBE con /BaseVersion /1.7 e /ExtensionLevel 3 o successivo/Type /Measure /Subtype /GEO e le annotazioni Projection richiedono un'estensione per sviluppatori /ADBE con /BaseVersion /1.7 e /ExtensionLevel 3 o successivo/Annots della pagina deve contenere le voci richieste /Subtype e /Rect/OCProperties del catalogo richiede l'array /OCGs, il dizionario /D, valori predefiniti validi /BaseState /ON e /Intent /View quando presenti, e le voci a valore di array /Configs, /ON, /OFF, /AS e /Order/DecodeParms dello stream o nel suo array di parametri a voce singola, compresi gli stream di riferimenti incrociati compressi con predictor nei moduli multipagina; chiavi annidate non correlate non sostituiscono i parametri di decodifica dello stream
// Save to file
Pdf.SaveAs('output.pdf');
// Save to stream
var MS: TMemoryStream;
MS := TMemoryStream.Create;
try
Pdf.SaveAs(MS);
MS.SaveToFile('output.pdf');
finally
MS.Free;
end;