RenderPagesToFilesParallel
Визуализиране и печат
Описание
Рендира всяка страница от StartPage до EndPage на изходния PDF в един файл с изображение на страница, като използва пул от паралелни работници TTask. Всеки работник създава свой собствен TPDFlib екземпляр за същия файл (TPDFlib не е нишково безопасен), CoInitializes своята нишка за безопасност на GDI+ апартамент (apartment safety) и рендира страници, взети от споделен атомен брояч, докато диапазонът се изчерпи
Това се мащабира почти линейно с процесорните ядра за ограничена от процесора растерна графика (BMP/PNG/TIFF); MaxWorkers контролира ширината на пула; предайте 0 или отрицателно число за автоматично (минимум от броя на страниците и броя на процесорите); само за 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 и неговата парола (празно, ако не е шифрован) |
|---|---|
| DPI | Разделителна способност при изчертаване |
| StartPage, EndPage | 1-базиран включващ диапазон от страници |
| Options | Формат (същият като RenderPageToFile: 0=BMP 1=JPEG 5=PNG ...) |
| OutputPattern | Изходен път; '%p' се заменя с номера на страницата, в противен случай номерът се добавя в края |
| MaxWorkers | Ширина на пула (0 = автоматично, ограничена до броя страници и броя на CPU) |
Върнати стойности
| >= 0 | Брой успешно рендирани страници (неуспехите при единични страници са изолирани и не са фатални) |
|---|