PDFium Component Docs

GeneratePagedLayout Metoda

Component: TPdf  ·  Units: PDFium, FPdfLayout

Syntax

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

Description

mierzy i paginuje układ, zapisując każde polecenie do pamięci masowej obsługującej seek, należącej do PagedPlan lub przez nią referencjonowanej

Po pomiarze metoda materializuje po jednej tablicy poleceń strony, emituje ją tymi samymi natywnymi API obiektów strony PDFium co GenerateLayout, opróżnia bufor, zwalnia lokalną tablicę i przechodzi do następnej strony

Storage and cache

Użyj dedykowanego TFileStream, TMemoryStream lub TPdfRandomAccessStore; strumień musi obsługiwać seek, read, write, resize i wyłączność użycia przez cały czas życia planu stronicowanego

MaxCommandCount, MaxStorageBytes, MaxPageCommands i MaxSourceCount odrzucają nadmierne plany, a MaxCachedPages ogranicza wewnętrzną pamięć podręczną LRU i może wynosić zero

CommandCount, StorageByteCount, liczniki pamięci podręcznej i szczytowe zużycie udostępniają mierzalne zachowanie

Result

Plan.Commands jest celowo puste; ustawienia stron, liczba stron, elementy semantyczne, liczniki treści, pomiary i stabilne sumy odniesień stron pozostają dostępne

PagedPlan.MaterializePage może później odtworzyć kompletną stronę, łącznie z treścią oraz osobno zapisanymi segmentami nagłówka i stopki

Limitations and safety

Ta metoda generuje układ bez tagowania; użyj GenerateTaggedLayout, gdy wymagany jest kompletny plan poleceń w pamięci i końcowe przetwarzanie drzewa struktury

PDFium zatrzymuje autorski dokument i jego natywne strony do czasu zapisu lub zamknięcia, więc to API ogranicza materializację poleceń wysokiego poziomu, a nie pamięć dokumentu PDFium

Każdy referencjonowany źródłowy PDF i TPdfLayoutCachedNode musi przeżyć generowanie i późniejszą materializację, a podpisane cele wymagają jawnej autoryzacji

Niepowodzenie pomiaru lub emisji resetuje niekompletną pamięć poleceń i wycofuje każdą stronę dodaną przez wywołanie

See Also

GenerateLayout, GenerateTaggedLayout, FPdfLayout, Random access working storage