RenderPagesToFilesParallel
Processamento e impressão
Descrição
Compõe todas as páginas entre StartPage e EndPage do PDF de origem num ficheiro de imagem por página, utilizando um conjunto de trabalhadores TTask paralelos. Cada trabalhador cria a sua própria instância TPDFlib no mesmo ficheiro (TPDFlib não é thread-safe), executa CoInitialize no respetivo thread para garantir a segurança de apartamento do GDI+ e compõe as páginas obtidas de um contador atómico partilhado até esgotar o intervalo
Esta operação cresce de forma quase linear com os núcleos de CPU para a saída raster dependente da CPU (BMP/PNG/TIFF). MaxWorkers controla a largura do conjunto; passe 0 ou um valor negativo para seleção automática (o menor valor entre a contagem de páginas e a contagem de CPUs). Apenas Windows: CoInitialize e GDI+ são primitivas do Windows
Sintaxe
Delphi
Function TPDFlib.RenderPagesToFilesParallel(Const FileName, Password: WideString; DPI: Double; StartPage, EndPage, Options: Integer; Const OutputPattern: WideString; MaxWorkers: Integer): Integer;
Parâmetros
| FileName, Password | Caminho do PDF de origem e respetiva palavra-passe (vazia se não estiver encriptado) |
|---|---|
| DPI | Resolução de composição |
| StartPage, EndPage | Intervalo de páginas inclusivo baseado em 1 |
| Options | Formato (igual a RenderPageToFile: 0=BMP 1=JPEG 5=PNG ...) |
| OutputPattern | Caminho de saída; '%p' é substituído pelo número da página, caso contrário o número é acrescentado |
| MaxWorkers | Largura do conjunto (0 = automática, limitada pelo número de páginas e de CPUs) |
Valores devolvidos
| >= 0 | Número de páginas compostas com êxito (as falhas de páginas individuais são isoladas, não fatais) |
|---|