PDFium Delphi Component Docs

GeneratePagedLayout Metodo

Componente: TPdf  ·  Unità: PDFium, FPdfLayout

Sintassi

function GeneratePagedLayout(Layout: TPdfLayoutDocument; PagedPlan: TPdfLayoutPagedPlan; out Plan: TPdfLayoutPlan; AllowSignedDocument: Boolean = False): Boolean;

Descrizione

Misura e impagina il layout serializzando ogni comando nello storage seekable di proprietà o referenziato da PagedPlan

Dopo la misurazione, materializza un array di comandi di pagina alla volta, emette quella pagina attraverso le stesse API native di oggetti pagina di PDFium usate da GenerateLayout, la scarica, rilascia l'array locale e continua con la pagina successiva

Storage e cache

Usare un TFileStream, TMemoryStream o TPdfRandomAccessStore dedicato; lo stream deve supportare seek, lettura, scrittura, ridimensionamento e uso esclusivo per la durata del piano paginato

MaxCommandCount, MaxStorageBytes, MaxPageCommands e MaxSourceCount rifiutano i piani eccessivi, mentre MaxCachedPages delimita la cache LRU interna e può essere zero

CommandCount, StorageByteCount, i contatori della cache e l'occupazione di picco espongono un comportamento misurabile

Risultato

Plan.Commands è vuoto per progettazione; impostazioni di pagina, numero di pagine, elementi semantici, conteggi dei contenuti, misurazioni e totali stabili dei riferimenti di pagina restano disponibili

PagedPlan.MaterializePage può ripristinare in seguito una pagina completa, inclusi il corpo più i segmenti di intestazione e piè di pagina scritti separatamente

Limitazioni e sicurezza

Questo metodo genera un layout non taggato; usare GenerateTaggedLayout quando servono un piano di comandi completo in memoria e il post-processing dell'albero della struttura

PDFium trattiene il documento autoriale e le sue pagine native fino al salvataggio o alla chiusura, quindi questa API delimita la materializzazione dei comandi di alto livello più che la memoria del documento PDFium

Ogni PDF sorgente referenziato o TPdfLayoutCachedNode deve sopravvivere alla generazione e alla successiva materializzazione, e le destinazioni firmate richiedono un'autorizzazione esplicita

Un fallimento di misurazione o emissione azzera lo storage incompleto dei comandi e riporta indietro ogni pagina aggiunta dalla chiamata

Vedi anche

GenerateLayout, GenerateTaggedLayout, FPdfLayout, Storage di lavoro ad accesso casuale