Docs HotXLS

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 lifecycleBeginPage et EndPage
PrimitivesFillRect, StrokeRect, DrawLine, DrawStyledLine, DrawEllipse, DrawPath, DrawText, DrawStyledText, DrawCellTextet DrawImage
Pagination entry pointTXLSPaginationModel.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é

SessionSix 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 TIFFExportAllAsTiff é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 setupUseWorksheetPageSetup, Orientation, Margin, DefaultRowHeight, PaperWidthOverrideet PaperHeightOverride
Raster outputScale, ImageFormatet JpegQuality, tandis que ExportObjectAsPNG restitue un seul objet de dessin vers un PNG dont on est propriétaire
Compact rangesExportRange 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 eventsBeforeRenderPage 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
StateActive, 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

Voir aussi