function BuildPdfImpositionPlan(PageCount: Integer;
const Options: TPdfImpositionOptions): TPdfImpositionPlan;
| PageCount | Integer |
| Options | TPdfImpositionOptions |
TPdfImpositionPlanBuildPdfImpositionPlan вычисляет, куда каждая исходная страница ляжет на выходных листах, не открывая документ, поэтому раскладку можно предварительно посмотреть до того, как её выполнит TPdf.ImportImposed
В режиме pimNUp каждая сторона выхода содержит сетку слотов Columns на Rows — от 1 до 32 столбцов или строк и не более 256 слотов на сторону; Duplex удваивает число сторон на листе, а количество страниц дополняется до целых сторон
В режиме pimBooklet план представляет собой спуск 2-up для скрепления скобой: количество страниц дополняется до кратного 4, лицевая сторона каждого листа объединяет последнюю и первую логические страницы, а оборотная несёт внутреннюю пару
ReverseSheets меняет порядок логических листов на обратный, а CreepPerSheet сдвигает внешние столбцы слотов внутрь или наружу на величину creep, умноженную на индекс логического листа, что воспроизводит шинглирование при скреплении скобой
Каждый слот в Plan.Slots хранит SheetIndex, SideIndex, SlotIndex, SourcePageIndex, Creep и размещение Left, Bottom, Width и Height внутри выходной страницы; значение SourcePageIndex, равное -1, отмечает пустой слот-заполнитель
Plan также сообщает SourcePageCount, PaddedPageCount, SheetCount, SideCount, SlotsPerSide и итоговую геометрию сетки
EPdfError, когда PageCount отрицателен или больше 1000000, когда OutputWidth или OutputHeight не конечны и не положительны, когда Gutter, Bleed или CreepPerSheet отрицательны или не конечны, когда сетка N-up выходит за свои границы или когда желоб и выпуск за обрез не оставляют площади для слотаOptions := TPdfImpositionOptions.Default;
Options.Mode := pimBooklet;
Plan := BuildPdfImpositionPlan(Pdf.PageCount, Options);