THPDFHeadlessRenderOptions
Déclaré dans HPDFHeadlessCairoDevice ; initialisez avec Default avant de changer les limites individuelles
| Champ | Signification | Défaut |
|---|---|---|
Scale: Double | Pixels par point de page effectif, UserUnit inclus | 1 |
MaxPixels: Int64 | Nombre maximal arrondi de pixels de surface de page ou d'image | 16,777,216 |
MaxWorkingBytes: Int64 | Admission conservatrice des buffers managés et surfaces actifs | 134,217,728 |
MaxDecodedBytes: Int64 | Octets cumulés de contenu décodé, d'images et de streams de polices | 33,554,432 |
MaxPNGBytes: Int64 | Taille du PNG encodé en privé | 33,554,432 |
MaxTokens: Integer | Travail de tokens borné et comptages de tableaux sélectionnés | 500,000 |
MaxOperations: Integer | Opérations de contenu dispatchées cumulées | 500,000 |
MaxDepth: Integer | Profondeur récursive, de tableaux de polices et de graphics stack | 32 |
RenderAnnotations: Boolean | Rend les streams d'apparences normales disponibles | True |
Usage: THPDFHeadlessRenderUsage | Visibilité des annotations pour une sortie raster view ou print | hruView |
ViewerState: THPDFHeadlessOptionalContentState | État de viewer d'optional-content explicite emprunté, vivant et inchangé pendant le rendering | nil |
Toutes les limites numériques doivent être positives ; Scale doit être fini et d'au plus 64, MaxDepth ne doit pas dépasser 256, et MaxPNGBytes doit tenir dans une valeur signée 32 bits positive
Usage doit valoir hruView ou hruPrint, même quand RenderAnnotations est false ; une valeur d'enum invalide échoue avant le callback de permission d'extraction ou la publication de sortie
Usage change uniquement la visibilité et les transforms des annotations ; le renderer conserve son contrat de permission d'extraction et n'autorise pas l'impression
Les lectures décodées individuelles sont aussi plafonnées par la limite de l'accès emprunté, l'allocation de mémoire restante et la taille de callback signée 32 bits, même quand l'allocation cumulée MaxDecodedBytes est plus grande
Le décodage de polices réserve une capacité transitoire prudente avant le parsing, incluant une allocation de base de 32 Mio, 64 fois la taille du stream de police décodé, des allocations de tableaux vérifiées récursivement et le double des estimations du décodeur retenues
Même une petite police peut être rejetée sous un petit budget mémoire ; les caches des bibliothèques natives et le RSS du système d'exploitation sont hors de la comptabilité managée
Les limites d'octets décodés et de profondeur de l'accès emprunté peuvent imposer des bornes supplémentaires ; l'annulation vient de son token détenu par l'appelant
Voir le renderer Cairo Linux natif pour le profil pris en charge et les contrats de sortie