PDFium Delphi Component Docs

Zwischengespeicherte Layout-Knoten

Komponente: TPdf  ·  Unit: FPdfLayout

Syntax

procedure TPdfLayoutDocument.AddCachedNode(Node: TPdfLayoutCachedNode; Height: Single = 0; Width: Single = 0);

Mess-Cache

BuildPlan speichert den vollständigen gemessenen Plan nach Seitenbeschränkungen, Elementinhalt, Schrift, Stil, Quellidentität, reservierten Seitenziffern und TPdfLayoutMeasurer.CacheIdentity zwischen

Ein übereinstimmender Aufruf kehrt zurück, ohne Text erneut zu messen, und meldet das Ergebnis über CacheHitCount; geänderter Inhalt erzeugt CacheMissCount und ersetzt den Schnappschuss

Rufen Sie InvalidateCache auf, um den gespeicherten Schnappschuss freizugeben oder wenn ein benutzerdefinierter Messer eine Identität behält, während er das Verhalten ändert

Lazy Knoten

Leiten Sie von TPdfLayoutCachedNode ab und überschreiben Sie BuildContent, um das Knoten-Layout erst bei dessen erster Platzierung zu erstellen

Ein Basisknoten kann auch direkt über Content befüllt werden

Der Aufrufer besitzt jeden Knoten und muss ihn am Leben halten, bis GenerateLayout zurückkehrt

Native Wiederverwendung

Die erste Platzierung rendert ein privates einseitiges Layout und erstellt ein zielgebundenes XObject mit FPDF_NewXObjectFromPage

Jede wiederholte Platzierung erstellt ein leichtgewichtiges Form-Objekt aus demselben XObject, während ReusedXObjectCount die vermiedenen Vorlagen-Builds meldet

Sicherheit

Knoteninhalt muss auf eine Seite passen, deren Abmessungen dem Knoten-Konstruktor entsprechen

Rekursive Knotenreferenzen werden abgelehnt, und die äußere Anhänge-Transaktion rollt alle vom Aufruf erstellten Seiten zurück

Rufen Sie Invalidate auf, um einen überschriebenen lazy Knoten neu aufzubauen, nachdem sich dessen externe Eingaben geändert haben

See Also

GenerateLayout, CreateXObjectFromPage