PDFiumPas 文件

ImportNPagesToOne 方法

此 API 條目保留識別符號、簽名、程式碼塊和 PDF 術語的原始形式
元件: TPdf  ·  單元: PDFium
建立一個全新的 TPdf,其頁面是來源文件頁面的 NumX×NumY 組合,適合 N-up 列印版面

語法

function ImportNPagesToOne(
  OutputWidth, OutputHeight: Single;
  NumX, NumY : Cardinal): TPdf;

說明

ImportNPagesToOne 會將本文件的頁面組合成新的輸出 PDF,每個輸出頁面會以格狀方式排入 NumX × NumY 個來源頁面。來源頁面會縮放以符合其儲存格,同時保留原始長寬比;任何超出輸出頁面邊界的儲存格都會被裁切

OutputWidthOutputHeight 以 PDF 使用者單位為準(1 單位 = 1/72 英吋)。若要輸出 A4 橫向頁面,請傳入 842 × 595。每一列先由左到右填入,再逐列由上到下,與一般印表機的 N-up 版面一致

此函式會傳回一個全新的 TPdf 實例。呼叫端擁有傳回的物件,必須將其 Free 掉(或在指定給另一個變數前先將 Active := False)。若 PDFium 拒絕這些引數(軸數為零、OOM 等),則傳回 nil。來源文件(此 TPdf)必須為 Active

傳回的文件會依 ceil(SourcePages / (NumX×NumY)) 的結果,每個組合頁面對應一頁。若來源頁數不是儲存格數的整數倍,最後一個組合頁面可能只填入一部分

備註

範例

var
  Composite: TPdf;
begin
  Pdf1.FileName := 'C:\Slides.pdf';
  Pdf1.Active := True;
  // 4-up 橫向:842 x 595 pt,2 欄 x 2 列
  Composite := Pdf1.ImportNPagesToOne(842, 595, 2, 2);
  try
    if Composite <> nil then
      Composite.SaveAs('C:\Slides_4up.pdf');
  finally
    Composite.Free;
  end;
end;

另請參閱

ImportPages, ImportPagesByIndex, MovePages