function GeneratePagedLayout(Layout: TPdfLayoutDocument; PagedPlan: TPdfLayoutPagedPlan; out Plan: TPdfLayoutPlan; AllowSignedDocument: Boolean = False): Boolean;
在将每个命令序列化到 PagedPlan 拥有或引用的可寻址存储中的同时,度量并分页布局
度量之后,它一次物化一个页面命令数组,通过与 GenerateLayout 相同的原生 PDFium 页面对象 API 输出该页面,刷写它,释放本地数组,然后继续处理下一页
使用专用的 TFileStream、TMemoryStream 或 TPdfRandomAccessStore;流必须支持查找、读取、写入、调整大小,并在分页计划生存期内独占使用
MaxCommandCount、MaxStorageBytes、MaxPageCommands 和 MaxSourceCount 拒绝过大的计划,而 MaxCachedPages 限制内部 LRU 缓存,可以为零
CommandCount、StorageByteCount、缓存计数器和峰值占用暴露可度量的行为
Plan.Commands 按设计为空;页面设置、页数、语义元素、内容计数、度量以及稳定的页面引用总数仍然可用
PagedPlan.MaterializePage 之后可以还原完整的页面,包括正文以及单独写入的页眉和页脚段
此方法生成无标签的布局;当需要完整的内存中命令计划和结构树后处理时,使用 GenerateTaggedLayout
PDFium 在保存或关闭之前会保留已编写的文档及其原生页面,因此该 API 限制的是高层命令的物化,而不是 PDFium 文档内存
任何被引用的源 PDF 或 TPdfLayoutCachedNode 都必须比生成和后续物化存活得更久,已签名目标需要显式授权
度量或输出失败会重置不完整的命令存储,并回滚该调用追加的每个页面