RenderPagesToFilesParallel
Rendering, stampa
Descrizione
Esegue il rendering di ogni pagina da StartPage a EndPage del PDF sorgente in un file immagine per pagina, usando un pool di worker TTask paralleli. Ogni worker crea la propria istanza TPDFlib sullo stesso file (TPDFlib non è thread-safe), chiama CoInitialize per il proprio thread ai fini della sicurezza apartment di GDI+ ed esegue il rendering delle pagine assegnate da un contatore atomico condiviso finché l'intervallo non è esaurito.
Questo si ridimensiona in modo quasi lineare con i core della CPU per l'output raster vincolato alla CPU (BMP/PNG/TIFF); MaxWorkers controlla la larghezza del pool; passare 0 o un valore negativo per la gestione automatica (minimo tra il conteggio delle pagine e il conteggio delle CPU); solo per Windows: CoInitialize e GDI+ sono primitive di Windows
Sintassi
Delphi
Function TPDFlib.RenderPagesToFilesParallel(Const FileName, Password: WideString; DPI: Double; StartPage, EndPage, Options: Integer; Const OutputPattern: WideString; MaxWorkers: Integer): Integer;
Parametri
| FileName, Password | Percorso del PDF sorgente e relativa password (vuota se non crittografata) |
|---|---|
| DPI | Risoluzione di rendering |
| StartPage, EndPage | Intervallo di pagine inclusivo basato su 1 |
| Options | Formato (uguale a RenderPageToFile: 0=BMP 1=JPEG 5=PNG ...) |
| OutputPattern | Percorso di output; '%p' viene sostituito dal numero di pagina, altrimenti il numero viene aggiunto alla fine |
| MaxWorkers | Larghezza del pool (0 = auto, limitata al numero di pagine e al numero di CPU) |
Valori restituiti
| >= 0 | Numero di pagine renderizzate con successo (i fallimenti di singole pagine sono isolati, non fatali) |
|---|