RenderPagesToFilesParallel
Rendering and printing
Description
Vykreslí každú stránku od StartPage do EndPage zdrojového PDF do jedného obrazového súboru na stránku, s použitím poolu paralelných workerov TTask. Každý worker vytvorí vlastnú inštanciu TPDFlib nad tým istým súborom (TPDFlib nie je thread-safe), CoInitializuje svoje vlákno kvôli apartment bezpečnosti GDI+ a vykresľuje strany získané zo zdieľaného atomic počítadla, kým sa rozsah nevyčerpá
Pre CPU-zaťažený raster výstup (BMP/PNG/TIFF) sa toto škáluje takmer lineárne s jadrami CPU. MaxWorkers riadi šírku poolu; pre auto odovzdajte 0 alebo zápornú hodnotu (minimum z počtu stránok a počtu CPU). Len Windows: CoInitialize a GDI+ sú Windows primitívy
Syntax
Delphi
Function TPDFlib.RenderPagesToFilesParallel(Const FileName, Password: WideString; DPI: Double; StartPage, EndPage, Options: Integer; Const OutputPattern: WideString; MaxWorkers: Integer): Integer;
Parameters
| FileName, Password | Source PDF path and its password (empty if unencrypted) |
|---|---|
| DPI | Render resolution |
| StartPage, EndPage | 1-based inclusive page range |
| Options | Format (same as RenderPageToFile: 0=BMP 1=JPEG 5=PNG ...) |
| OutputPattern | Output path; '%p' is replaced by the page number, else the number is appended |
| MaxWorkers | Pool width (0 = auto, capped at page count and CPU count) |
Return values
| >= 0 | Number of pages successfully rendered (single-page failures are isolated, not fatal) |
|---|