PDFium Delphi Component Docs

GeneratePagedLayout 메서드

컴포넌트: TPdf  ·  유닛: PDFium, FPdfLayout

Syntax

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

Description

레이아웃을 측정하고 페이지로 나누면서 각 명령을 PagedPlan이 소유하거나 참조하는 탐색 가능한 저장소에 직렬화합니다

측정 후에는 페이지 명령 배열을 한 번에 하나씩 만들고, GenerateLayout과 같은 네이티브 PDFium 페이지 객체 API로 그 페이지를 출력한 뒤 플러시하고 로컬 배열을 해제하며 다음 페이지로 넘어갑니다

Storage and cache

전용 TFileStream, TMemoryStream, TPdfRandomAccessStore를 사용하세요. 스트림은 페이지 계획(paged plan) 수명 동안 seek, read, write, resize와 단독 사용을 지원해야 합니다

MaxCommandCount, MaxStorageBytes, MaxPageCommands, MaxSourceCount는 과도한 계획을 거부하고, MaxCachedPages는 내부 LRU 캐시의 크기를 제한하며 0이어도 됩니다

CommandCount, StorageByteCount, 캐시 카운터, 최대 점유율이 측정 가능한 동작을 노출합니다

Result

Plan.Commands는 의도적으로 비어 있습니다. 페이지 설정, 페이지 수, 시맨틱 요소, 콘텐츠 개수, 측정값, 안정적인 페이지 참조 합계는 그대로 제공됩니다

PagedPlan.MaterializePage는 나중에 완전한 페이지를 복원할 수 있으며, 여기에는 본문과 별도로 기록된 머리글·바닥글 세그먼트가 포함됩니다

Limitations and safety

이 메서드는 태그 없는 레이아웃을 생성합니다. 완전한 메모리 내 명령 계획과 구조 트리 후처리가 필요하면 GenerateTaggedLayout을 사용하세요

PDFium은 저장하거나 닫을 때까지 작성된 문서와 네이티브 페이지를 유지하므로, 이 API는 PDFium 문서 메모리가 아니라 상위 수준 명령 구체화(materialisation)의 크기를 제한합니다

참조된 모든 원본 PDF와 TPdfLayoutCachedNode는 생성과 이후 구체화 과정 내내 살아 있어야 하고, 서명된 대상에는 명시적인 권한 부여가 필요합니다

측정이나 출력이 실패하면 불완전한 명령 저장소를 초기화하고 이 호출이 덧붙인 모든 페이지를 롤백합니다

See Also

GenerateLayout, GenerateTaggedLayout, FPdfLayout, 랜덤 액세스 작업 저장소