PDFium Delphi Component Docs

GeneratePagedLayout metodă

Component: TPdf  ·  Units: PDFium, FPdfLayout

Syntax

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

Description

Măsoară și paginează aspectul, serializând în același timp fiecare comandă în stocarea poziționabilă deținută sau referențiată de PagedPlan

După măsurare, materializează câte un vector de comenzi de pagină pe dată, emite pagina respectivă prin aceleași API-uri native de obiecte de pagină PDFium ca GenerateLayout, o golește, eliberează vectorul local și continuă cu pagina următoare

Storage and cache

Folosiți un TFileStream, TMemoryStream sau TPdfRandomAccessStore dedicat; fluxul trebuie să suporte seek, read, write, redimensionare și utilizare exclusivă pe durata de viață a planului paginat

MaxCommandCount, MaxStorageBytes, MaxPageCommands și MaxSourceCount resping planurile excesive, în timp ce MaxCachedPages mărginește cache-ul LRU intern și poate fi zero

CommandCount, StorageByteCount, contoarele de cache și ocuparea de vârf expun un comportament măsurabil

Result

Plan.Commands este gol prin proiectare; setările de pagină, numărul de pagini, elementele semantice, numărătorile de conținut, măsurătorile și totalurile stabile de referințe de pagină rămân disponibile

PagedPlan.MaterializePage poate restaura ulterior o pagină completă, inclusiv corpul plus segmentele de antet și de subsol scrise separat

Limitations and safety

Această metodă generează un aspect netagat; folosiți GenerateTaggedLayout când sunt necesare un plan complet de comenzi în memorie și post-procesarea arborelui de structură

PDFium reține documentul autorizat și paginile sale native până la salvare sau închidere, deci acest API mărginește materializarea comenzilor de nivel înalt, nu memoria de document PDFium

Orice PDF sursă referențiat sau TPdfLayoutCachedNode trebuie să supraviețuiască generației și materializării ulterioare, iar destinațiile semnate necesită autorizare explicită

Eșecul de măsurare sau de emisie resetează stocarea incompletă de comenzi și face rollback la fiecare pagină adăugată de apel

See Also

GenerateLayout, GenerateTaggedLayout, FPdfLayout, Random access working storage