RenderPagesToFilesParallel
Rendering and printing
Опис
Рендерить усі сторінки від StartPage до EndPage початкового PDF, по одному файлу зображення на сторінку, пулом паралельних робочих TTask. Кожен робочий потік створює власний екземпляр TPDFlib на тому самому файлі (TPDFlib не потокобезпечний), викликає CoInitialize свого потоку для безпеки GDI+ apartment і рендерить сторінки, які розбирає зі спільного атомарного лічильника, доки діапазон не вичерпається
Це масштабується майже лінійно з ядрами CPU для обмеженого процесором растрового виводу (BMP/PNG/TIFF). 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 і його пароль (порожньо, якщо не зашифровано) |
|---|---|
| DPI | Render resolution |
| StartPage, EndPage | включний діапазон сторінок починаючи з 1 |
| Options | Format (same as RenderPageToFile: 0=BMP 1=JPEG 5=PNG ...) |
| OutputPattern | Шлях виводу; '%p' замінюється номером сторінки, інакше номер додається |
| MaxWorkers | Ширина пулу (0 = авто, обмежено кількістю сторінок та CPU) |
Return values
| >= 0 | Кількість успішно відрендерених сторінок (односторінкові провали ізольовані, не фатальні) |
|---|