Che cos'è uno stream di oggetti?
Una Stream di oggetti , introdotto in PDF 1.5, è un metodo compatto per archiviare più oggetti indiretti all'interno di un singolo oggetto stream PDF, spesso usando filtri di compressione (ISO 32000-2).
A differenza degli oggetti standard, omette le parole chiave obj ed endobj. Spesso abbinati agli stream di cross-reference, gli stream di oggetti riducono le dimensioni del file e migliorano l'efficienza dei documenti PDF, supportando funzionalità come la struttura logica o metadati l'archiviazione dei metadata.
Cosa consente di risparmiare un object stream
La maggior parte degli oggetti in un PDF è piccola: un dizionario che descrive una pagina, un riferimento a un font, un'annotazione. Se scritti singolarmente generano un overhead per ogni oggetto e non possono essere compressi come gruppo. Un object stream raccoglie molti di questi piccoli COS oggetti in un unico stream e li comprime insieme. Poiché strutture simili si comprimono meglio quando si trovano una accanto all'altra, il risparmio in un documento con molte pagine o annotazioni è notevole.
Lo stream di cross-reference che lo accompagna
Gli oggetti archiviati in questo modo non possono essere trovati dalla classica tabella di cross-reference, che registra gli offset in byte nel file stesso. I file che usano object stream utilizzano quindi anche uno stream di cross-reference, che è a sua volta compresso e registra dove è archiviato ciascun oggetto, inclusa l'indicazione di quale object stream lo contiene.
Entrambi sono stati introdotti insieme in PDF 1.5. In pratica, questo significa che un file di questo tipo non è più leggibile con un editor di testo semplice e che un visualizzatore più vecchio, sviluppato per PDF 1.4, non può aprirlo affatto.