PDFium Delphi Component Docs

GeneratePagedLayout Methode

Komponente: TPdf  ·  Units: PDFium, FPdfLayout

Syntax

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

Beschreibung

Misst und paginiert das Layout und serialisiert dabei jeden Befehl in den seekbaren Speicher, der PagedPlan gehört oder von ihm referenziert wird

Nach der Messung materialisiert es jeweils ein Seitenbefehls-Array, gibt diese Seite über dieselben nativen PDFium-Seitenobjekt-APIs wie GenerateLayout aus, leert es, gibt das lokale Array frei und fährt mit der nächsten Seite fort

Speicher und Cache

Verwenden Sie einen dedizierten TFileStream, TMemoryStream oder TPdfRandomAccessStore; der Stream muss Seek, Lesen, Schreiben, Größenänderung und exklusive Nutzung für die Lebensdauer des seitenweisen Plans unterstützen

MaxCommandCount, MaxStorageBytes, MaxPageCommands und MaxSourceCount weisen übermäßige Pläne zurück, während MaxCachedPages den internen LRU-Cache begrenzt und null sein darf

CommandCount, StorageByteCount, Cache-Zähler und Spitzenbelegung machen das Verhalten messbar

Ergebnis

Plan.Commands ist absichtlich leer; Seiteneinstellungen, Seitenanzahl, semantische Elemente, Inhaltsanzahlen, Messwerte und stabile Summen der Seitenreferenzen bleiben verfügbar

PagedPlan.MaterializePage kann eine vollständige Seite später wiederherstellen, einschließlich Hauptteil plus separat geschriebener Kopf- und Fußzeilen-Segmenten

Einschränkungen und Sicherheit

Diese Methode erzeugt ein ungetaggtes Layout; verwenden Sie GenerateTaggedLayout, wenn ein vollständiger Befehlsplan im Speicher und eine Nachbearbeitung des Strukturbaums erforderlich sind

PDFium behält das geöffnete Dokument und seine nativen Seiten bis zum Speichern oder Schließen, daher begrenzt diese API die Materialisierung von High-Level-Befehlen und nicht den PDFium-Dokumentspeicher

Jedes referenzierte Quell-PDF oder TPdfLayoutCachedNode muss die Generierung und die spätere Materialisierung überdauern, und signierte Ziele erfordern eine ausdrückliche Autorisierung

Ein Mess- oder Ausgabefehler setzt den unvollständigen Befehlsspeicher zurück und rollt jede vom Aufruf angehängte Seite zurück

Siehe auch

GenerateLayout, GenerateTaggedLayout, FPdfLayout, Arbeitsspeicher mit wahlfreiem Zugriff