RenderPagesToFilesParallel
Rendering and printing
Description
Rendert jede Seite von StartPage bis EndPage der Quell-PDF in eine Bilddatei pro Seite, unter Verwendung eines Pools paralleler TTask-Worker; jeder Worker erstellt seine eigene TPDFlib-Instanz für dieselbe Datei (TPDFlib is nicht threadsicher), CoInitialize-iert seinen Thread für GDI+-Apartment-Sicherheit und rendert Seiten, die von einem gemeinsam genutzten atomaren Zähler abgerufen werden, bis der Bereich erschöpft ist
Dies skaliert nahezu linear mit den CPU-Kernen für CPU-gebundene Rasterausgaben (BMP/PNG/TIFF). MaxWorkers steuert die Poolbreite; übergeben Sie 0 oder einen negativen Wert für Auto (Minimum aus Seitenanzahl und CPU-Anzahl). Nur Windows: CoInitialize und GDI+ sind Windows-Primitive
Syntax
Delphi
Function TPDFlib.RenderPagesToFilesParallel(Const FileName, Password: WideString; DPI: Double; StartPage, EndPage, Options: Integer; Const OutputPattern: WideString; MaxWorkers: Integer): Integer;
Parameters
| FileName, Password | Legt das Attribut /Scope (Besitzer des Tabellenattributs) für das Strukturelement fest, das derzeit auf dem Tag-Stapel geöffnet ist; der Scope gibt an, ob eine TH- (Tabellenkopf-) Zelle für eine Spalte, eine Zeile oder beides gilt — erforderlich nach PDF/UA-1 für Tabellen mit Kopfzellen; entspricht dem Aufruf von AddTagAttribute mit Owner=Table, Name=Scope und dem Scope-Namen als Wert |
|---|---|
| DPI | Render resolution |
| StartPage, EndPage | 1-basierter, inklusiver Seitenbereich |
| Options | Format (entspricht RenderPageToFile: 0=BMP 1=JPEG 5=PNG ...) |
| OutputPattern | Ausgabepfad; '%p' wird durch die Seitennummer ersetzt, andernfalls wird die Nummer angehängt |
| MaxWorkers | Poolbreite (0 = automatisch, begrenzt auf Seitenzahl und CPU-Anzahl) |
Return values
| >= 0 | Anzahl der erfolgreich gerenderten Seiten (Fehler auf einzelnen Seiten sind isoliert und nicht schwerwiegend) |
|---|