function SaveAsObjectStream(Stream: TStream; Option: TSaveOption = saNone; PdfVersion: TPdfVersion = pvUnknown; MaxObjectsPerStream: Integer = 100; MaxDecodedBytesPerStream: Integer = 65536): Boolean;
function SaveAsObjectStream(const FileName: string; Option: TSaveOption = saNone; PdfVersion: TPdfVersion = pvUnknown; MaxObjectsPerStream: Integer = 100; MaxDecodedBytesPerStream: Integer = 65536): Boolean;
| Stream | TStream che riceve il PDF completo con flussi di oggetti |
| FileName | Percorso di output sostituito solo dopo che un file temporaneo fratello riesce |
| Option | Opzione di salvataggio normale o saRemoveSecurity; saIncremental viene rifiutato |
| PdfVersion | Versione di output da PDF 1.5 in su, o pvUnknown per preservare o aggiornare la versione corrente |
| MaxObjectsPerStream | Massimo di membri oggetto per gruppo ObjStm; il default è 100 |
| MaxDecodedBytesPerStream | Massimo di payload membro decodificato per gruppo; il default è 65536 byte |
True quando l'output con flussi di oggetti è stato completato con successoIl metodo usa prima il normale percorso di salvataggio PDFium come sorgente semantica, poi risolve la revisione classica, ibrida o xref-stream attiva
I membri esistenti dei flussi di oggetti vengono materializzati prima che i riferimenti vengano rinumerati nell'ordine locale della pagina
Gli oggetti non flusso idonei vengono raggruppati sia per conteggio di membri sia per dimensione del payload decodificato, poi compressi con Flate solo quando la compressione riduce il gruppo
Il catalogo, gli oggetti flusso, i dizionari di firma, le lunghezze indirette dei flussi e i valori sovradimensionati restano direttamente indirizzabili
Un flusso xref puro usa larghezze di campo adattive e voci di tipo 2 per ogni membro compresso
saIncremental non è supportato e le firme digitali esistenti diventano non validesaRemoveSecurity perché la rinumerazione degli oggetti cambia le chiavi di crittografia a livello di oggetto
// Bilancia l'output compatto con la decompressione random-access limitata
Pdf.SaveAsObjectStream('report-compact.pdf', saNoIncremental, pv17, 100, 65536);