RenderPagesToFilesParallel

渲染和列印

描述

使用平行 TTask 工作者集區,將來源 PDF 的 StartPage 到 EndPage 的每一頁轉譯為每頁一個影像檔案;每個工作者在同一個檔案上建立其專屬的 TPDFlib 執行個體(TPDFlib 不是執行緒安全的)、為其執行緒進行 CoInitialize 以確保 GDI+ 負責處理的 Apartment 安全性,並轉譯從共用不可分割計數器中取得的頁面,直到該範圍耗盡為止

對於 CPU 受限的點陣輸出(BMP/PNG/TIFF),這與 CPU 核心呈近乎線性縮放;MaxWorkers 控制集區寬度;傳遞 0 或負數以進行自動配置(頁數和 CPU 數量的最小值);僅限 Windows:CoInitialize 和 GDI+ 是 Windows 基本底層

語法

Delphi

Function TPDFlib.RenderPagesToFilesParallel(Const FileName, Password: WideString; DPI: Double; StartPage, EndPage, Options: Integer; Const OutputPattern: WideString; MaxWorkers: Integer): Integer;

參數

FileName, Password來源 PDF 路徑及其密碼(如果未加密則為空)
DPIRender resolution
StartPage, EndPage以 1 開始的包含性頁面範圍
Options格式(與 RenderPageToFile 相同:0=BMP 1=JPEG 5=PNG ...)
OutputPattern輸出路徑;'%p' 會被替換為頁碼,否則會附加該號碼
MaxWorkers集區寬度(0 = 自動,限制為頁數 and CPU 核心數)

傳回值

>= 0成功轉譯的頁面數量(單一頁面失敗是孤立的,非嚴重錯誤)