Rendu et exportation avancés
Les chemins PDF, SVG, bitmap, métafichier, aperçu et impression partagent un même modèle de pagination et une géométrie indépendante du backend, tout en conservant des encodeurs spécifiques au format
Backends graphiques personnalisés
TXLSGraphicsTextAlign définit l'alignement du texte à gauche, au centre et à droite pour TXLSGraphicsBackend; les appels de dessin stylé prennent les autres enums partagés — styles de police (TXLSGraphicsFontStyles), embouts de ligne (TXLSGraphicsLineCap), motifs de tirets (TXLSGraphicsLineDash) et alignement vertical du texte (TXLSGraphicsTextVAlign)
| Page lifecycle | BeginPage et EndPage |
| Primitives | FillRect, StrokeRect, DrawLine, DrawStyledLine, DrawEllipse, DrawPath, DrawText, DrawStyledText, DrawCellTextet DrawImage |
| Pagination entry point | TXLSPaginationModel.RenderPageToBackend envoie une page logique à toute implémentation de backend |
Les implémentations reçoivent les coordonnées en points, les effets de texte et d'image résolus, le détourage et le placement de dessin local à la page, sans avoir à répéter la logique de mise en page du classeur. Chaque dessin d'une page logique arrive sous forme d'un enregistrement TXLSPageDrawingPlacement dont le Kind (TXLSPageDrawingKind: xpdkImage, xpdkChart, xpdkTextBox, xpdkShape, xpdkControl) indique au backend ce qu'il peint ; les tuiles d'arrière-plan de feuille de calcul arrivent sous forme de TXLSSheetBackgroundRenderData
Géométrie de rendu propre à l'opération
TXLSPaginationModel.RenderBackend sélectionne l'identité de backend capturée par le prochain appel à Build , et RenderGeometry expose la calibration immuable qui en résulte, la génération du classeur, le backend et l'état borné du cache de métriques ; la session de rendu active voyage sous forme d'un handle TXLSRenderSession et la politique de couleur est un TXLSRenderColorMode (xlsrcColor ou xlsrcMonochrome)
Les modèles PDF utilisent xlsrgbPdf, le SVG utilise xlsrgbSvg, les images de pages utilisent xlsrgbBitmap, les modèles d'impression et d'aperçu avant impression utilisent xlsrgbPrintPreview, et TXLSWorkbookViewer utilise xlsrgbViewer; PaginationModel sur les composants SVG, image, impression et visionneuse expose le modèle actif à des fins de diagnostic sans transfert de propriété
Les points d'entrée HTML classiques et XLSX capturent xlsrgbHtml; TXLSHTMLExport.RenderGeometry expose l'instantané classique le plus récent, tandis que TXLSXHtmlExportSession.RenderGeometry expose l'instantané conservé à travers toutes les feuilles d'un export incrémental
La sortie en colonnes du HTML convertit le modèle de largeur de caractères du classeur via la largeur maximale de chiffre de la police Normal et le facteur d'échelle d'écran configuré avant d'émettre une longueur CSS en pixels fixe ; la conversion points-pixels utilise le même DPI de mesure capturé
Chaque opération conserve sa calibration capturée même si le classeur change ensuite, et le rendu n'écrit jamais les hauteurs de lignes ni les largeurs de colonnes de la feuille de calcul. La pagination construit les pages à partir d'objets TXLSLogicalPage dont les dessins, l'orientation (TXLSPageOrientation: xpoPortrait ou xpoLandscape) et le placement des commentaires (TXLSPrintComments: xpcNone ou xpcAtEnd) proviennent de la mise en page résolue
Une page logique expose tout ce dont un backend ou un callback a besoin : l'identité (DocumentPageNumber, SheetPageNumber, SheetName, la ClassicWorksheet ou XlsxWorksheetpropriétaire), la géométrie (PageWidth, PageHeight, Scaleet les valeurs LeftMargin, RightMargin, TopMargin, BottomMargin, HeaderMargin, FooterMargin ), le rectangle de données (DataFirstRow, DataLastRow, DataFirstCol, DataLastCol) avec les titres d'impression (RepeatFirstRow, RepeatLastRow, RepeatFirstCol, RepeatLastCol), le placement de l'arrière-plan (BackgroundOffsetX, BackgroundOffsetY), la sortie du quadrillage (PrintGridlines, GridlineColor), les six textes de bandes d'en-tête et de pied de page (LeftHeader, CenterHeader, RightHeader, LeftFooter, CenterFooter, RightFooter), et les squelettes de lignes et de colonnes de la page (RowCount avec Rows et RowEdges, ColumnCount avec Columns et ColumnEdges) plus sa liste de dessins (DrawingCount et Drawings). ExpandHeaderFooter résout les codes de format d'en-tête et de pied de page par rapport à la page, et ExpandHeaderFooterStyled signale en plus la taille de police de tête et la couleur afin que les moteurs de dessin personnalisés puissent reproduire le rendu d'en-tête propre à Excel
Cellules fusionnées dans la pagination native
TXLSPaginationModel.RenderPageToBackend résout une plage fusionnée vers son ancre d'origine et peint un rectangle visible par fragment de page ; les cellules couvertes n'émettent pas de texte ni de quadrillage interne en double
Les fragments XLSX partagent le remplissage, l'alignement, le retour à la ligne, la police et l'évaluation de mise en forme conditionnelle de l'ancre, tandis que les segments de bordure extérieurs explicites restent visibles et que les bordures de fusion internes sont supprimées ; les fragments classiques partagent le texte et le remplissage uni de l'ancre via le peintre de texte classique existant
Une zone d'impression ou un saut de page peut rogner une plage fusionnée, et chaque fragment visible utilise l'ancre d'origine même quand cet ancre se trouve hors de la zone imprimée ; les lignes et colonnes masquées contribuent pour une étendue nulle, et les fragments de titres d'impression répétés utilisent la même politique d'ancre
La fusion ne force pas une plage sur une seule page, n'étend pas la zone d'impression et ne change pas les hauteurs de lignes ni les largeurs de colonnes stockées ; la pagination conserve la mise en page existante et rogne chaque fragment à sa page logique
Rendu de l'arrière-plan de la feuille de calcul
La visionneuse de classeur affiche les arrière-plans valides des feuilles de calcul classiques et XLSX sous forme de tuiles répétées derrière les cellules non remplies, tandis que les remplissages de cellules explicites et conditionnels restent au-dessus de l'arrière-plan
TXLSPaginationModel, TXLSSvgExport, TXLSPageImageExporter, TXLSPrintDocument, TXLSPDFExport, TXLSHTMLExport, TXLSXHtmlExportOptionset TXLSWorkbookViewer exposent ExportSheetBackgroundImages; la valeur par défaut est False pour les sorties impression, aperçu, métafichier, PDF, SVG, bitmap et HTML. Les feuilles de calcul stockent leur charge utile avec un format d'image TXLSSheetBackgroundFormat , et les octets décodés voyagent sous forme d'une TXLSSheetBackgroundResource indexée par génération, DPI et mode de couleur
La sortie paginée activée ancre la phase de tuilage aux coordonnées de la feuille de calcul à travers les frontières de pages et conserve une image décodée par feuille de calcul, génération de ressource, backend, DPI et mode de couleur pour la session de rendu ; BackgroundDecodeCount expose le total de décodages à des fins de diagnostic, tandis que les charges utiles corrompues sont ignorées avec un diagnostic de classeur. La TXLSRenderSession active gère elle-même ce cache partagé : AcquireBackground récupère (ou décode une seule fois) les TXLSSheetBackgroundRenderData en tuiles d'une feuille de calcul, DrawTiledBackground les peint sur une région de page détourée, et DecodeCount indique combien de charges utiles ont été décodées jusqu'ici
Politique d'affichage des objets du classeur
ObjectDisplayMode sélectionne xlsodmShowAll, xlsodmShowPlaceholdersou xlsodmHideAll pour les classeurs classiques et XLSX ; la visionneuse consomme les trois états et utilise des boîtes de type, de nom, de texte et de texte de remplacement à faible coût pour le mode espaces réservés
Les exportateurs PDF, SVG, bitmap, impression physique et HTML XLSX traitent le mode espaces réservés comme une sortie d'objets complète par défaut ; définissez ExportObjectPlaceholders sur l'exportateur ou les options HTML correspondants pour demander des boîtes sans décodage d'images ni construction de scène de graphique
xlsodmHideAll est un verrou global antérieur qui empêche la collecte de dessins, l'expansion de plages pilotée par les objets, le hit testing et le rendu des médias ; les arrière-plans de feuilles de calcul, les icônes de mise en forme conditionnelle, les images d'en-tête ou de pied de page, les cellules et les filtres d'objets d'impression spécifiques aux exportateurs restent indépendants
Rafraîchissement des données source des graphiques
La sérialisation des graphiques XLSX et le rendu de graphiques partagé résolvent les caches de séries locaux contre la génération courante du classeur, si bien que les éditions de cellules sources, le recalcul et les changements de visibilité rafraîchissent valeurs, catégories, tailles de bulles et noms de séries liés à des plages avant la sortie
Les plages sources ordinaires doivent être une seule ligne ou colonne de références A1 locales ; les noms de feuilles quotés sont pris en charge, et une plage non qualifiée se résout contre la feuille propriétaire du graphique ; les niveaux de catégories hiérarchiques conservent leur résolveur séparé de plages rectangulaires
Le texte des catégories utilise le texte formaté des cellules, les caches numériques conservent des emplacements vides pour les blancs et le texte non numérique, les cellules d'erreur conservent leurs littéraux d'erreur affichés, et les dates utilisent le système de numéros sériels 1900 ou 1904 du classeur ; PlotVisibleOnly détermine si les lignes et colonnes sources masquées sont omises
Les caches importés ou remplis manuellement sont conservés quand une source locale n'a jamais été matérialisée, tandis que les caches déjà gérés depuis des cellules locales effacent les points périmés après suppression ; TXLSXChartSeries.RefreshDataCaches rafraîchit explicitement les sources locales résolubles, y compris une plage source vide
Les références de classeurs externes et les expressions de références non prises en charge conservent leurs caches stockés ; le rafraîchissement de cache n'ouvre pas de fichiers externes ni n'effectue de requêtes réseau
Axes de dates de graphiques tenant compte du calendrier
TXLSXChartSeries.ResolveDataCaches résout les sources de séries locales prises en charge pour la génération courante, et RefreshDataCaches demande un rafraîchissement explicite même quand une source vide n'a pas d'historique de cellules
Les graphiques XLSX dont l'axe des catégories utilise xlsxAxisDate mappent chaque catégorie valide à travers le système de dates sérielles 1900 ou 1904 du classeur et conservent la distance réelle entre des dates dispersées au lieu d'attribuer des créneaux de points égaux
BaseTimeUnit contrôle la normalisation par jour, mois ou année, tandis que MajorUnit, MinorUnit, MajorTimeUnitet MinorTimeUnit font avancer les graduations par unités de calendrier ; les intervalles de mois et d'années restent donc alignés malgré des durées de mois inégales et les années bissextiles
La même collection bornée de graduations fournit coordonnées, étiquettes, graduations et quadrillages demandés à la sortie paginée PDF, SVG, bitmap, aperçu, impression et visionneuse, tandis que le HTML XLSX utilise l'arithmétique de calendrier partagée pour son SVG de graphique en ligne
Rédacteur PDF autonome
TXLSPDFWriter crée des documents PDF qui ne proviennent pas d'un classeur, tels que des factures, des billets, des étiquettes et des formulaires de superposition ; BeginDoc définit une boîte de page précise en points, NewPage clôt la page courante, et SaveToStream ou SaveToFile termine le document
Les méthodes de dessin utilisent les points PDF à partir du coin inférieur gauche et les couleurs de la bibliothèque sous forme $00BBGGRR ou $AABBGGRR ; les primitives disponibles couvrent FillRectangle, StrokeRectangle, ClipRectangle, MeasureText, SaveGraphicsStateet RestoreGraphicsState pour les rectangles remplis et tracés, les lignes, les ellipses, le texte stylé avec mesure exacte de la largeur, les transformations affines, le détourage rectangulaire et la sauvegarde ou restauration explicite de l'état graphique, tandis que PageWidth et PageHeight indiquent la boîte de page courante en points
Export SVG
TXLSSvgExport fournit sept surcharges SaveAsSVG pour les plages classiques et XLSX, les feuilles de calcul, les classeurs et les pages logiques préparées, ainsi que la sortie d'objets nommés lorsqu'elle est prise en charge
UseWorksheetPageSetup, Orientationet Margin utilisent les mêmes décisions de mise en page que la sortie PDF et l'aperçu
TXLSSvgExport.PrintComments (type TXLSPrintComments) sélectionne la façon dont les commentaires de cellules sont émis pour la sortie SVG paginée ; lorsqu'il vaut xpcAtEnd, la dernière page de la feuille ajoute une liste de commentaires (adresse de cellule, auteur et texte) sous la zone de données, tandis que xpcNone omet les commentaires
ExportPages envoie un document SVG complet à la fois via OnPage, indique le nombre de pages validées via ExportedPageCountet s'arrête avant de générer les pages suivantes lorsque le callback annule ; IdPrefix crée des espaces de noms de documents et de pages déterministes pour les clip paths, filtres, motifs et ressources partagées
HyperlinkMode (type TXLSSvgHyperlinkMode) avec xshmSafe ajoute des zones de survol transparentes détourées après le contenu visuel ; les schémas externes autorisés sont HTTP, HTTPS, mail, FTP et les liens relatifs, tandis que les cibles actives, locales, UNC et à caractères de contrôle sont omises ; LinksInNewWindow ajoute la protection noopener noreferrer et les ScreenTips deviennent des titres SVG
Sortie PNG, JPEG incrémentale et TIFF multipage
TXLSPageImageFormat sélectionne la sortie PNG ou JPEG et TXLSPageImageExporter maintient une session de pagination active tout en libérant rapidement chaque bitmap terminé
| Session | Six surcharges BeginExport acceptent les plages classiques ou XLSX, les feuilles de calcul et les classeurs ; ExportNext écrit une page et EndExport libère la session |
| Multipage TIFF | ExportAllAsTiff écrit les pages logiques sélectionnées dans un flux ou un fichier sous forme d'un TIFF compressé LZW tout en conservant les sémantiques de progression, d'annulation et de destination atomique |
| Page setup | UseWorksheetPageSetup, Orientation, Margin, DefaultRowHeight, PaperWidthOverrideet PaperHeightOverride |
| Raster output | Scale, ImageFormatet JpegQuality, tandis que ExportObjectAsPNG restitue un seul objet de dessin vers un PNG dont on est propriétaire |
| Compact ranges | ExportRange restitue une plage classique ou XLSX sous forme d'un raster serré sans papier, marges, en-têtes, pieds de page, titres d'impression ni sauts de page |
| Canvas events | BeforeRenderPage s'exécute après l'effacement de l'arrière-plan et AfterRenderPage s'exécute après la peinture du classeur mais avant l'encodage ; les trames PNG, JPEG et TIFF partagent le même chemin d'événements |
| State | Active, Aborted, TotalPageCount, PageCountet ExportedPageCount |
PDF balisé et PDF/A
TXLSPDFExport.TagMode active la structure automatique de document, de tableau, de ligne, de cellule d'en-tête, de cellule de données et d'image informative avec des identifiants de contenu marqué denses et locaux à la page, des mappages exacts dans l'arbre parent, des étendues de cellules fusionnées et l'isolation des artefacts ; les lignes de titres d'impression et les lignes d'en-tête de tableaux deviennent des cellules d'en-tête sémantiques, les images XLSX avec un AltText non vide deviennent des éléments Figure indépendants avec un texte alternatif Unicode, et les images sans texte alternatif restent des artefacts décoratifs
Chaque instance d'image informative visible reçoit son propre élément Figure et son propre identifiant de contenu marqué même lorsque des charges utiles d'images identiques partagent un même XObject PDF ; AltTextTitle ne remplace pas un texte alternatif manquant, les graphiques restent des artefacts, et cette prise en charge de structure ciblée ne prétend pas à une conformité PDF/UA complète
TXLSPDFExport.PDFAProfile sélectionne PDF/A-1, PDF/A-2 ou PDF/A-3 au niveau de conformité a ou b ; le chiffrement, les polices, les pièces jointes, la transparence, les signatures et les métadonnées incompatibles sont validés avant l'engagement du flux de sortie
TXLSPDFExport.ExportCommentsAsAnnotations place le texte Unicode de l'auteur et du commentaire sur les rectangles des cellules d'origine, tandis que la sortie traditionnelle des commentaires en fin de document reste configurable indépendamment
UsePDFA est le commutateur de compatibilité pour PDF/A-1b, tandis que UseXRefStream sélectionne les flux de références croisées lorsque le profil choisi les autorise
Géométrie et sélection de page
Les six surcharges CalculatePageCount acceptent les plages, feuilles de calcul ou classeurs classiques et XLSX sans créer d'objets PDF
PaperWidth et PaperHeight remplacent les dimensions du papier en points, LastPage clôt l'intervalle de sortie basé sur un, Orientation (type TXLSPDFOrientation) sélectionne la sortie portrait ou paysage, HidePrintObjects (un ensemble de TXLSPDFHidePrintObject: xlsPdfHideHeaders, xlsPdfHideFooters) supprime les bandes d'en-tête ou de pied de page sélectionnées, et PageLayout (type TXLSPDFPageLayout) définit l'agencement initial des pages dans la visionneuse
Mode de page PDF et action d'ouverture
TXLSPDFExport.PageMode (type TXLSPDFPageMode) définit la façon dont une visionneuse PDF agence les panneaux à l'ouverture du document, via xlsPdfModeDefault, xlsPdfModeUseOutlines, xlsPdfModeUseThumbs, xlsPdfModeFullScreen, xlsPdfModeUseOCet xlsPdfModeUseAttachments
OpenAction (type TXLSPDFOpenAction) sélectionne le comportement initial de la visionneuse avec xlsPdfOpenNone, xlsPdfOpenPageou xlsPdfOpenOutlines. Pour xlsPdfOpenPage, OpenActionPage est la page cible basée sur un (bornée au nombre de pages) et OpenActionZoom est le facteur de grossissement initial, où 0 conserve le zoom ou l'ajustement par défaut de la visionneuse
Géométrie vectorielle adaptative partagée
XLSBuildEllipticArcCubics convertit un arc elliptique en segments cubiques de Bézier en appliquant récursivement une borne de platitude choisie par l'appelant ; le rendu PDF, SVG et bitmap utilise cette géométrie partagée afin que les arcs larges ou très excentriques reçoivent davantage de segments sans pénaliser les arcs simples
XLSDecodeVectorScene valide les en-têtes EMF et WMF, l'alignement et les tailles des enregistrements, les totaux déclarés, le placement exact de l'EOF et les limites de ressources sans appeler la relecture de métafichiers de la plateforme ; la liste blanche native rejoue les piles d'état de contexte de périphérique avec sauvegarde et restauration, le mappage fenêtre et viewport combiné aux transformations monde, les tables d'objets stylo, brosse et stylo étendu incluant les objets stock, les rectangles, ellipses, chaînes de lignes, polygones, polylignes et courbes de Bézier avec styles de tirets, les crochets de chemin avec passes de remplissage, de tracé et combinées tracé-et-remplissage, les rectangles arrondis, les arcs, cordes, secteurs et arcs d'angle via une conversion exacte arc-vers-Bézier, les remplissages et cadres de régions à partir de rectangles RGNDATA bornés, les séquences de texte bornées avec polices, couleurs et alignement, et les images stretch-DIB restreintes réencodées en PNG via Canvas et SVG, rejette les enregistrements escape, et laisse le détourage et les enregistrements privés au repli borné existant
Signets PDF et callbacks de page
Les signets PDF vivent dans la collection Bookmarks (type TXLSPDFBookmarks) : Add et AddForSheet ajoutent des entrées, Delete en supprime une, et Count avec Items énumèrent l'arbre. Chaque entrée TXLSPDFBookmark prend en charge les entrées parentes et enfants (Children), les chaînes de frères, les titres Unicode, les couleurs (Color), une cible PageNumber , le SheetName source pour les signets de feuilles de calcul, et les indicateurs gras ou italique (ensemble de TXLSPDFBookmarkStyle: xlsPdfBookmarkBold, xlsPdfBookmarkItalic), plus les descendants développés ou réduits ; les signets automatiques de feuilles de calcul utilisent le même modèle de hiérarchie et AutoSheetBookmarks active ou désactive leur génération
BeforeNewPage peut ajuster chaque boîte de page, tandis que BeforeGeneratePage et AfterGeneratePage dessinent du contenu d'arrière-plan ou de superposition via les aides de page publiques AppendPageContent, FillPageRectangle, StrokePageRectangleet DrawPageText
Signatures et pièces jointes
TXLSPDFSignature configure des champs de signature visibles ou invisibles, tandis que CertificationPolicy crée optionnellement une signature de certification DocMDP autorisant aucun changement, le remplissage et la signature de formulaires, ou le remplissage, la signature et les annotations de formulaires ; PDF/A-1 n'autorise pas cette fonctionnalité PDF 1.5 et est rejeté avant l'engagement de la sortie
TXLSPDFCertificationPolicy fournit xlsPdfApprovalSignature, xlsPdfCertifyNoChanges, xlsPdfCertifyFormFillingAndSigninget xlsPdfCertifyFormFillingSigningAndAnnotations pour sélectionner explicitement la politique de signature
Un TXLSPDFSignDigestEvent reçoit l'empreinte et renvoie des données CMS créées par l'hôte, si bien que HotXLS n'a jamais besoin d'une clé privée
TXLSPDFExport.Signature attache la configuration de signature et les profils PDF/A-3 peuvent inclure des fichiers associés validés via AddAttachment, qui met en file une TXLSPDFAttachment; la surcharge détaillée accepte un nom d'affichage Unicode, un type MIME, une description, une date de modification, une charge utile et une valeur TXLSPDFAttachmentRelationship parmi Source, Data, Alternative, Supplement ou Unspecified, tandis que AttachmentCount indique le total en file et AttachmentDuplicatePolicy (type TXLSPDFAttachmentDuplicatePolicy) sélectionne la façon dont les noms identiques sont gérés
TXLSPDFSignature.ImageData, ImageFormatet ImageFit (type TXLSPDFSignatureImageFit: contain, cover ou stretch) placent un PNG dans l'apparence normale du Form avant le gel du byte range ; les modes contain, cover et stretch partagent le cache d'images du document, tandis que les images invalides échouent avant la signature
La surcharge IXLSPDFAttachmentSource reste paresseuse jusqu'à l'enregistrement, invoque chaque source une fois par enregistrement, et spoule au plus 256 Mio avant la création de l'objet EmbeddedFile, si bien que les échecs de fournisseur laissent la destination inchangée du point de vue transactionnel
L'assemblage final écrit les objets séquentiellement vers la destination au lieu de construire une unique chaîne document complète : les exports non signés sont diffusés en flux direct dans des flux en avant seul, chaque EmbeddedFile référence sa taille en octets via un objet /Length indirect émis après la charge utile, et les octets du fournisseur sont copiés depuis le spool par blocs fixes ; les exports signés s'assemblent dans un spool de document borné qui reçoit les correctifs du ByteRange et du contenu de signature, un SHA-256 incrémental sur les deux plages couvertes, et une unique copie en avant
La sortie PDF/A-3 écrit chaque fichier associé à la fois dans l'arbre de noms EmbeddedFiles et dans le tableau AF du catalogue, avec un nom Unicode UF , un nom PDF MIME échappé, AFRelationship, la taille en octets, une date de modification optionnelle et une description optionnelle ; PDF/A-1 et PDF/A-2 rejettent les pièces jointes en file avant l'engagement de la sortie
Métadonnées de document
DocumentTitle, DocumentAuthor, DocumentSubject, DocumentKeywordset DocumentFileName remplissent les dictionnaires d'informations et de métadonnées du PDF
Repli de polices
TXLSPDFExport.SetFontFallbackChain, AddFontFallbacket ClearFontFallbackChains configurent des niveaux de repli spécifiques à la famille source et au style ; LoadedFallbackFontCount expose le nombre de faces en cache et FontFallbackSelectionCacheCount le nombre de décisions de repli par sélection en cache, toutes deux à des fins de diagnostic
TXLSPDFExport.FontSize définit la taille de texte par défaut en points, 9 par défaut
La sélection du repli utilise la couverture des glyphes et préserve les correspondances Unicode, les scalaires supplémentaires, les groupes de graphèmes, les groupes de mise en forme et les faces TTC autonomes
OnGetFontDirectories peut renvoyer un ou plusieurs répertoires de polices séparés par des points-virgules pour une famille et un style demandés ; les répertoires acceptés sont parcourus récursivement une seule fois, indexés par les métadonnées internes famille/style, et mis en cache pour les mesures et dessins ultérieurs
Politique d'incorporation des polices
TXLSPDFExport.FontEmbedding (type TXLSPDFFontEmbedding) sélectionne l'incorporation automatique, le subsetting requis, le programme de police complet ou la sortie par mappage seul via xlsPdfFontEmbedAuto, xlsPdfFontEmbedSubset, xlsPdfFontEmbedFullet xlsPdfFontEmbedNone; le subsetting requis échoue atomiquement lorsqu'un sous-ensemble valide ne peut pas être produit, les faces TTC sont converties en polices autonomes, et PDF/A rejette la sortie par mappage seul
OnFontEmbed se déclenche une fois par face Unicode avant que ses métriques, sa table de caractères, son façonnage et ses identifiants de glyphes ne soient résolus ; définir Handled accepte le mode renvoyé par police et les octets de remplacement optionnels, tandis que le laisser à false conserve la politique du document et la face d'origine
Les polices OpenType autonomes avec contours CFF s'incorporent via FontFile3 avec un flux OpenType et un descendant CIDFontType0 ; les modes automatique et complet conservent le programme complet, tandis que le subsetting CFF requis échoue atomiquement parce qu'il ne peut pas préserver un sous-ensemble valide
Les polices incorporées portant des données OpenType GPOS ou kern héritées utilisent des avancements de glyphes positionnés pour le texte simple et complexe, si bien que la mesure, le retour à la ligne, l'alignement et les positions de glyphes émises partagent le même résultat de kerning
Progression et annulation
TXLSPDFExport.OnProgress et OnProgressEx signalent les phases de début, de page et de fin ; Cancel demande l'annulation et Aborted indique l'état final sans engager un flux partiel