PDFium Delphi Component Docs

Cached layout nodes

컴포넌트: TPdf  ·  유닛: FPdfLayout

Syntax

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

Measurement cache

BuildPlan은 페이지 제약, 항목 콘텐츠, 폰트, 스타일, 원본 정체성, 예약된 페이지 숫자 자리, TPdfLayoutMeasurer.CacheIdentity를 기준으로 완전히 측정된 계획을 캐시합니다

일치하는 호출은 텍스트를 다시 측정하지 않고 반환하며 결과를 CacheHitCount로 보고합니다. 변경된 콘텐츠는 CacheMissCount를 발생시키고 스냅샷을 교체합니다

저장된 스냅샷을 해제하거나 사용자 정의 측정기가 하나의 정체성을 유지하며 동작을 바꿀 때는 InvalidateCache를 호출하세요

Lazy nodes

TPdfLayoutCachedNode에서 파생하고 BuildContent를 재정의하면 노드 레이아웃을 처음 배치될 때만 만들 수 있습니다

기본 노드는 Content를 통해 직접 채울 수도 있습니다

호출자가 각 노드를 소유하며 GenerateLayout이 반환될 때까지 유지해야 합니다

Native reuse

첫 배치는 전용 단일 페이지 레이아웃 하나를 렌더링하고 FPDF_NewXObjectFromPage로 대상에 묶인 XObject 하나를 만듭니다

이후 반복 배치는 같은 XObject에서 경량 Form 객체를 만들며, ReusedXObjectCount는 피한 템플릿 빌드 수를 보고합니다

Safety

노드 콘텐츠는 노드 생성자와 치수가 일치하는 한 페이지에 들어맞아야 합니다

재귀적 노드 참조는 거부되며 바깥 추가 트랜잭션은 호출로 만들어진 모든 페이지를 롤백합니다

재정의된 지연 노드의 외부 입력이 바뀐 뒤 다시 빌드하려면 Invalidate를 호출하세요

See Also

GenerateLayout, CreateXObjectFromPage