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, PasswordPercorso del PDF sorgente e relativa password (vuota se non crittografata)
DPIRisoluzione di rendering
StartPage, EndPageIntervallo di pagine inclusivo basato su 1
OptionsFormato (uguale a RenderPageToFile: 0=BMP 1=JPEG 5=PNG ...)
OutputPatternPercorso di output; '%p' viene sostituito dal numero di pagina, altrimenti il numero viene aggiunto alla fine
MaxWorkersLarghezza del pool (0 = auto, limitata al numero di pagine e al numero di CPU)

Valori restituiti

>= 0Numero di pagine renderizzate con successo (i fallimenti di singole pagine sono isolati, non fatali)