function GeneratePagedLayout(Layout: TPdfLayoutDocument; PagedPlan: TPdfLayoutPagedPlan; out Plan: TPdfLayoutPlan; AllowSignedDocument: Boolean = False): Boolean;
Измеряет и разбивает макет на страницы, последовательно записывая каждую команду в хранилище с поддержкой позиционирования (seek), которым владеет PagedPlan или на которое он ссылается
После измерения метод материализует по одному массиву команд страницы за раз, выпускает эту страницу через те же собственные API объектов страницы PDFium, что и GenerateLayout, сбрасывает её, освобождает локальный массив и переходит к следующей странице
Используйте выделенный TFileStream, TMemoryStream или TPdfRandomAccessStore; поток должен поддерживать seek, чтение, запись, изменение размера и монопольное использование на всё время жизни постраничного плана
MaxCommandCount, MaxStorageBytes, MaxPageCommands и MaxSourceCount отклоняют чрезмерные планы, а MaxCachedPages ограничивает внутренний LRU-кэш и может быть равен нулю
CommandCount, StorageByteCount, счётчики кэша и пиковая заполненность дают измеримое поведение
Plan.Commands пуст по замыслу; настройки страниц, количество страниц, семантические элементы, счётчики содержимого, измерения и стабильные итоги ссылок на страницы остаются доступными
PagedPlan.MaterializePage может позднее восстановить полную страницу, включая тело плюс отдельно записанные сегменты колонтитулов
Этот метод формирует нетегированный макет; используйте GenerateTaggedLayout, когда требуется полный план команд в памяти с последующей обработкой дерева структуры
PDFium удерживает созданный документ и его собственные страницы до сохранения или закрытия, поэтому этот API ограничивает материализацию команд высокого уровня, а не память документа PDFium
Любой упомянутый исходный PDF или TPdfLayoutCachedNode должен пережить генерацию и последующую материализацию, а для подписанных назначений требуется явная авторизация
Сбой измерения или выпуска сбрасывает незавершённое хранилище команд и откатывает каждую страницу, добавленную этим вызовом