Rendering avanzato ed esportazione
I percorsi PDF, SVG, bitmap, metafile, anteprima e stampa condividono un unico modello di impaginazione e una geometria neutra rispetto al backend, mantenendo encoder specifici per formato
Backend grafici personalizzati
TXLSGraphicsTextAlign definisce l'allineamento del testo a sinistra, al centro e a destra per TXLSGraphicsBackend; le chiamate di disegno con stile usano gli altri enum condivisi — stili del font (TXLSGraphicsFontStyles), estremità delle linee (TXLSGraphicsLineCap), pattern di tratto (TXLSGraphicsLineDash) e allineamento verticale del testo (TXLSGraphicsTextVAlign)
| Page lifecycle | BeginPage e EndPage |
| Primitives | FillRect, StrokeRect, DrawLine, DrawStyledLine, DrawEllipse, DrawPath, DrawText, DrawStyledText, DrawCellTexte DrawImage |
| Pagination entry point | TXLSPaginationModel.RenderPageToBackend invia una pagina logica a qualsiasi implementazione del backend |
Le implementazioni ricevono coordinate in punti, effetti di testo e immagine risolti, ritaglio e posizionamento del disegno locale alla pagina, senza dover ripetere la logica di layout della cartella di lavoro. Ogni disegno su una pagina logica arriva come record TXLSPageDrawingPlacement il cui Kind (TXLSPageDrawingKind: xpdkImage, xpdkChart, xpdkTextBox, xpdkShape, xpdkControl) dice al backend cosa sta disegnando; le tile dello sfondo del foglio di lavoro arrivano come TXLSSheetBackgroundRenderData
Geometria di rendering di proprietà dell'operazione
TXLSPaginationModel.RenderBackend seleziona l'identità del backend catturata dalla successiva chiamata a Build , e RenderGeometry espone la calibrazione immutabile risultante, la generazione del workbook, il backend e lo stato limitato della cache delle metriche; la sessione di rendering attiva viaggia come handle TXLSRenderSession e la politica del colore è un TXLSRenderColorMode (xlsrcColor oppure xlsrcMonochrome)
I modelli PDF usano xlsrgbPdf, SVG usa xlsrgbSvg, le immagini di pagina usano xlsrgbBitmap, i modelli di stampa e anteprima di stampa usano xlsrgbPrintPreview, e TXLSWorkbookViewer usa xlsrgbViewer; PaginationModel sui componenti SVG, immagini, stampa e viewer espone il modello attivo per la diagnostica senza trasferirne la proprietà
I punti di ingresso HTML classici e XLSX catturano xlsrgbHtml; TXLSHTMLExport.RenderGeometry espone lo snapshot classico più recente, mentre TXLSXHtmlExportSession.RenderGeometry espone lo snapshot mantenuto attraverso ogni foglio in un'esportazione incrementale
L'output HTML delle colonne converte il modello di larghezza in caratteri del workbook attraverso la larghezza massima della cifra del font Normal e lo scaling dello schermo configurato, prima di emettere una lunghezza fissa in pixel CSS; la conversione punti-pixel usa la stessa DPI di misura catturata
Ogni operazione mantiene la calibrazione catturata anche se il workbook cambia in seguito, e il rendering non scrive mai altezze di riga o larghezze di colonna del foglio di lavoro. L'impaginazione costruisce le pagine da oggetti TXLSLogicalPage i cui disegni, l'orientamento (TXLSPageOrientation: xpoPortrait oppure xpoLandscape) e il posizionamento dei commenti (TXLSPrintComments: xpcNone oppure xpcAtEnd) provengono dall'impostazione pagina risolta
Una pagina logica espone tutto ciò che un backend o un callback richiede: identità (DocumentPageNumber, SheetPageNumber, SheetName, il ClassicWorksheet o XlsxWorksheetproprietario), geometria (PageWidth, PageHeight, Scalee i valori LeftMargin, RightMargin, TopMargin, BottomMargin, HeaderMargine FooterMargin ), il rettangolo dei dati (DataFirstRow, DataLastRow, DataFirstCol, DataLastCol) con titoli di stampa (RepeatFirstRow, RepeatLastRow, RepeatFirstCol, RepeatLastCol), il posizionamento dello sfondo (BackgroundOffsetX, BackgroundOffsetY), l'output delle linee griglia (PrintGridlines, GridlineColor), i sei testi delle bande di intestazione e piè di pagina (LeftHeader, CenterHeader, RightHeader, LeftFooter, CenterFooter, RightFooter) e gli scheletri di righe e colonne della pagina (RowCount con Rows e RowEdges, ColumnCount con Columns e ColumnEdges) più la lista dei disegni (DrawingCount e Drawings). ExpandHeaderFooter risolve i codici di formato di intestazioni e piè di pagina rispetto alla pagina, e ExpandHeaderFooterStyled riporta inoltre la dimensione in punti e il colore iniziali, così i painter personalizzati possono eguagliare il rendering delle intestazioni di Excel
Celle unite nell'impaginazione nativa
TXLSPaginationModel.RenderPageToBackend risolve un intervallo unito al suo ancoraggio originale e dipinge un rettangolo visibile per frammento di pagina; le celle coperte non emettono testo duplicato né linee griglia interne
I frammenti XLSX condividono riempimento, allineamento, wrapping, font e valutazione della formattazione condizionale dell'ancora, mentre i segmenti di bordo esterni espliciti restano visibili e i bordi interni dell'unione vengono soppressi; i frammenti Classic condividono il testo e il riempimento solido dell'ancora attraverso il painter di testo Classic esistente
Un'area di stampa o un'interruzione di pagina può troncare un intervallo unito, e ogni frammento visibile usa l'ancoraggio originale anche quando l'ancoraggio si trova fuori dall'area di stampa; righe e colonne nascoste contribuiscono con estensione zero, e i frammenti ripetuti dei titoli di stampa usano la stessa politica di ancoraggio
L'unione non forza un intervallo su una sola pagina, non espande l'area di stampa e non cambia le altezze di riga o le larghezze di colonna memorizzate; l'impaginazione mantiene l'impostazione pagina esistente e tronca ogni frammento alla sua pagina logica
Rendering dello sfondo del foglio di lavoro
Il visualizzatore del workbook mostra gli sfondi validi dei fogli di lavoro classici e XLSX come tile ripetute dietro le celle non riempite, mentre i riempimenti espliciti e condizionali delle celle restano sopra lo sfondo
TXLSPaginationModel, TXLSSvgExport, TXLSPageImageExporter, TXLSPrintDocument, TXLSPDFExport, TXLSHTMLExport, TXLSXHtmlExportOptionse TXLSWorkbookViewer espongono ExportSheetBackgroundImages; il valore predefinito è False per l'output di stampa, anteprima, metafile, PDF, SVG, bitmap e HTML. I fogli di lavoro memorizzano il loro payload con un formato immagine TXLSSheetBackgroundFormat , e i byte decodificati viaggiano come TXLSSheetBackgroundResource con chiave generazione, DPI e modalità colore
L'output impaginato abilitato ancora la fase dei tile alle coordinate del foglio di lavoro oltre i confini di pagina e conserva un'immagine decodificata per foglio di lavoro, generazione di risorse, backend, DPI e modalità colore per la sessione di rendering; BackgroundDecodeCount espone il totale delle decodifiche per la diagnostica, mentre i payload corrotti vengono saltati con una diagnostica del workbook. La TXLSRenderSession attiva gestisce quella cache condivisa in proprio: AcquireBackground recupera (o decodifica una sola volta) i TXLSSheetBackgroundRenderData affiancati di un foglio di lavoro, DrawTiledBackground li disegna su una regione di pagina ritagliata, e DecodeCount riporta quanti payload sono stati decodificati finora
Politica di visualizzazione degli oggetti del workbook
ObjectDisplayMode seleziona xlsodmShowAll, xlsodmShowPlaceholdersoppure xlsodmHideAll sia per i workbook XLS classici sia per quelli XLSX; il viewer consuma tutti e tre gli stati e usa riquadri a basso costo di tipo, nome, testo e testo alternativo per la modalità segnaposto
Gli esportatori PDF, SVG, bitmap, stampa fisica e HTML XLSX trattano la modalità segnaposto come output completo degli oggetti per impostazione predefinita; impostare ExportObjectPlaceholders sull'esportatore corrispondente o sulle opzioni HTML per richiedere i riquadri senza decodifica di immagini né costruzione di scene dei grafici
xlsodmHideAll è una barriera globale precedente che impedisce la raccolta dei disegni, l'espansione degli intervalli guidata dagli oggetti, l'hit testing e il rendering dei media; gli sfondi dei fogli di lavoro, le icone della formattazione condizionale, le immagini di intestazione o piè di pagina, le celle e i filtri print-object specifici dell'esportatore restano indipendenti
Aggiornamento dei dati sorgente dei grafici
La serializzazione dei grafici XLSX e il rendering condiviso dei grafici risolvono le cache locali delle serie rispetto alla generazione corrente del workbook, così le modifiche delle celle sorgente, il ricalcolo e i cambi di visibilità aggiornano valori, categorie, dimensioni delle bolle e nomi delle serie collegati ai range prima dell'output
I range sorgente ordinari devono essere una singola riga o colonna di riferimenti A1 locali; i nomi di foglio tra virgolette sono supportati, e un range non qualificato si risolve rispetto al foglio di lavoro che possiede il grafico; i livelli di categoria gerarchici conservano il loro resolver separato per range rettangolari
Il testo delle categorie usa il testo formattato delle celle, le cache numeriche conservano slot vuoti per punti per i vuoti e il testo non numerico, le celle di errore conservano i loro letterali di errore visualizzati, e le date usano il sistema seriale 1900 o 1904 del workbook; PlotVisibleOnly determina se righe e colonne sorgente nascoste vengono omesse
Le cache importate o popolate manualmente vengono conservate quando una sorgente locale non è mai stata materializzata, mentre le cache già gestite da celle locali cancellano i punti stanti dopo l'eliminazione; TXLSXChartSeries.RefreshDataCaches aggiorna esplicitamente le sorgenti locali risolvibili, incluso un range sorgente vuoto
I riferimenti a workbook esterni e le espressioni di riferimento non supportate conservano le loro cache memorizzate; il refresh della cache non apre file esterni né esegue richieste di rete
Assi data dei grafici basati sul calendario
TXLSXChartSeries.ResolveDataCaches risolve le sorgenti locali delle serie supportate per la generazione corrente, e RefreshDataCaches richiede un refresh esplicito anche quando una sorgente vuota non ha cronologia di celle
I grafici XLSX il cui asse delle categorie usa xlsxAxisDate mappano ogni categoria valida attraverso il sistema di date seriali 1900 o 1904 del workbook e mantengono la distanza reale tra date sparse invece di assegnare slot puntuali uguali
BaseTimeUnit controlla la normalizzazione per giorno, mese o anno, mentre MajorUnit, MinorUnit, MajorTimeUnite MinorTimeUnit avanzano i tick per unità di calendario; gli intervalli di mesi e anni restano quindi allineati anche con mesi di lunghezza diversa e anni bisestili
La stessa raccolta limitata di tick fornisce coordinate, etichette, tick e le linee griglia richieste all'output PDF, SVG, bitmap, anteprima, stampa e viewer basato sull'impaginazione, mentre l'HTML XLSX usa la stessa aritmetica di calendario per il SVG inline dei suoi grafici
Writer PDF autonomo
TXLSPDFWriter crea documenti PDF che non provengono da un workbook, come fatture, biglietti, etichette e moduli di sovrapposizione; BeginDoc imposta un box pagina preciso in punti, NewPage chiude la pagina corrente, e SaveToStream o SaveToFile finalizza il documento
I metodi di disegno usano punti PDF dall'angolo in basso a sinistra e colori della libreria in forma $00BBGGRR o $AABBGGRR ; le primitive disponibili coprono FillRectangle, StrokeRectangle, ClipRectangle, MeasureText, SaveGraphicsStatee RestoreGraphicsState per rettangoli pieni e con contorno, linee, ellissi, testo con stile e misura esatta della larghezza, trasformazioni affini, ritaglio rettangolare e salvataggio o ripristino esplicito dello stato grafico, mentre PageWidth e PageHeight riportano il box pagina corrente in punti
Esportazione SVG
TXLSSvgExport fornisce sette overload di SaveAsSVG per intervalli classici e XLSX, fogli di lavoro, cartelle di lavoro e pagine logiche preparate, oltre all'output di oggetti con nome dove supportato
UseWorksheetPageSetup, Orientatione Margin utilizzano le stesse decisioni di impostazione pagina di output PDF e anteprima
TXLSSvgExport.PrintComments (tipo TXLSPrintComments) seleziona come vengono emessi i commenti delle celle per l'output SVG impaginato; quando è impostato su xpcAtEnd, l'ultima pagina del foglio aggiunge un elenco di commenti (indirizzo della cella, autore e testo) sotto l'area dei dati, mentre xpcNone omette i commenti
ExportPages invia un documento SVG completo alla volta attraverso OnPage, riporta il numero di pagine confermate tramite ExportedPageCounte si ferma prima di generare le pagine successive quando il callback annulla; IdPrefix crea namespace deterministici per documento e pagina per clip path, filtri, pattern e risorse condivise
HyperlinkMode (tipo TXLSSvgHyperlinkMode) con xshmSafe aggiunge regioni di hit trasparenti e ritagliate dopo il contenuto visivo; gli schemi esterni consentiti sono HTTP, HTTPS, mail, FTP e i link relativi, mentre i target attivi, locali, UNC e con caratteri di controllo vengono omessi; LinksInNewWindow aggiunge la protezione noopener noreferrer e i suggerimenti su schermo diventano title SVG
Output incrementale PNG, JPEG e TIFF multipagina
TXLSPageImageFormat seleziona l'output PNG o JPEG e TXLSPageImageExporter mantiene viva una sessione di impaginazione mentre rilascia tempestivamente ogni bitmap completata
| Session | Sei overload di BeginExport accettano intervalli classici o XLSX, fogli di lavoro e cartelle di lavoro; ExportNext scrive una pagina e EndExport rilascia la sessione |
| Multipage TIFF | ExportAllAsTiff scrive le pagine logiche selezionate su uno stream o un file come unico TIFF compresso LZW, mantenendo la semantica di avanzamento, annullamento e destinazione atomica |
| Page setup | UseWorksheetPageSetup, Orientation, Margin, DefaultRowHeight, PaperWidthOverridee PaperHeightOverride |
| Raster output | Scale, ImageFormate JpegQuality, mentre ExportObjectAsPNG esegue il rendering di un singolo oggetto di disegno in un PNG di sua proprietà |
| Compact ranges | ExportRange esegue il rendering di un intervallo classico o XLSX come un unico raster compatto, senza carta, margini, intestazioni, piè di pagina, titoli di stampa o interruzioni di pagina |
| Canvas events | BeforeRenderPage viene eseguito dopo la pulizia dello sfondo e AfterRenderPage dopo il disegno del workbook ma prima della codifica; i frame PNG, JPEG e TIFF condividono lo stesso percorso di eventi |
| State | Active, Aborted, TotalPageCount, PageCounte ExportedPageCount |
PDF con tag e PDF/A
TXLSPDFExport.TagMode abilita la struttura automatica di documento, tabella, riga, cella di intestazione, cella di dati e immagini informative, con identificatori densi di contenuto contrassegnato locali alla pagina, mappature esatte dell'albero padre, span di celle unite e isolamento degli artifact; le righe dei titoli di stampa e le righe di intestazione delle tabelle diventano celle di intestazione semantiche, le immagini XLSX con AltText non vuoto diventano elementi Figure indipendenti con testo alternativo Unicode, e le immagini senza testo alternativo restano artifact decorativi
Ogni istanza visibile di immagine informativa riceve il proprio elemento Figure e identificatore di contenuto contrassegnato, anche quando payload di immagine uguali condividono uno stesso XObject PDF; AltTextTitle non sostituisce il testo alternativo mancante, i grafici restano artifact, e questo supporto alla struttura mirata non dichiara la completa conformità PDF/UA
TXLSPDFExport.PDFAProfile seleziona PDF/A-1, PDF/A-2 o PDF/A-3 al livello di conformità a o b; crittografia, font, allegati, trasparenza, firme e metadati incompatibili vengono convalidati prima che il flusso di output venga impegnato
TXLSPDFExport.ExportCommentsAsAnnotations colloca il testo Unicode di autore e commento sui rettangoli delle celle di origine, mentre l'output tradizionale dei commenti a fine documento rimane configurabile in modo indipendente
UsePDFA è l'interruttore di compatibilità per PDF/A-1b, mentre UseXRefStream seleziona i flussi di cross-reference dove il profilo scelto lo consente
Geometria e selezione delle pagine
I sei overload di CalculatePageCount accettano intervalli classici e XLSX, fogli di lavoro o cartelle di lavoro senza creare oggetti PDF
PaperWidth e PaperHeight sovrascrivono le dimensioni della carta in punti, LastPage chiude l'intervallo di output a base uno, Orientation (tipo TXLSPDFOrientation) seleziona l'output verticale o orizzontale, HidePrintObjects (un insieme di TXLSPDFHidePrintObject: xlsPdfHideHeaders, xlsPdfHideFooters) sopprime le bande di intestazione o piè di pagina selezionate, e PageLayout (tipo TXLSPDFPageLayout) imposta la disposizione iniziale delle pagine nel viewer
Modalità pagina e azione di apertura del PDF
TXLSPDFExport.PageMode (tipo TXLSPDFPageMode) imposta come un viewer PDF dispone i pannelli all'apertura del documento, tramite xlsPdfModeDefault, xlsPdfModeUseOutlines, xlsPdfModeUseThumbs, xlsPdfModeFullScreen, xlsPdfModeUseOCe xlsPdfModeUseAttachments
OpenAction (tipo TXLSPDFOpenAction) seleziona il comportamento iniziale del viewer con xlsPdfOpenNone, xlsPdfOpenPageoppure xlsPdfOpenOutlines. Per xlsPdfOpenPage, OpenActionPage è la pagina di destinazione a base uno (limitata al numero di pagine) e OpenActionZoom è il fattore di ingrandimento iniziale, dove 0 mantiene lo zoom predefinito del viewer o l'adattamento alla pagina
Geometria vettoriale adattiva condivisa
XLSBuildEllipticArcCubics converte un arco ellittico in segmenti cubici di Bezier imponendo ricorsivamente un limite di planarità scelto dal chiamante; il rendering PDF, SVG e bitmap usa questa geometria condivisa, così gli archi grandi o molto eccentrici ricevono più segmenti senza penalizzare gli archi semplici
XLSDecodeVectorScene valida intestazioni EMF e WMF, allineamento e dimensioni dei record, totali dichiarati, posizionamento esatto dell'EOF e limiti di risorse, senza invocare la riproduzione metafile della piattaforma; la whitelist nativa riproduce stack di stato del device context con save e restore, mappatura di finestra e viewport combinata con trasformazioni world, tabelle di oggetti penna, pennello e penna estesa inclusi gli stock objects, rettangoli, ellissi, catene di linee, poligoni, polilinee e curve di Bézier con stili di tratto, path bracket con passate di riempimento, contorno e combinata contorno-e-riempimento, rettangoli arrotondati, archi, corde, spicchi e archi per angolo tramite la conversione esatta arco-in-Bézier, riempimenti e cornici di regioni da rettangoli RGNDATA limitati, sequenze di testo limitate con font, colori e allineamento, e immagini stretch-DIB limitate ricodificate come PNG attraverso Canvas e SVG; rifiuta i record escape, e lascia ritaglio e record privati al fallback limitato esistente
Outline del PDF e callback di pagina
Gli outline del PDF vivono nella raccolta Bookmarks (tipo TXLSPDFBookmarks): Add e AddForSheet aggiungono voci, Delete ne rimuove una, e Count con Items enumera l'albero. Ogni voce TXLSPDFBookmark supporta voci padre e figlio (Children), catene di voci sorelle, titoli Unicode, colori (Color), una destinazione PageNumber , lo SheetName di origine per i bookmark dei fogli di lavoro, e flag grassetto o corsivo (insieme di TXLSPDFBookmarkStyle: xlsPdfBookmarkBold, xlsPdfBookmarkItalic), più discendenti espansi o compressi; i bookmark automatici dei fogli di lavoro usano lo stesso modello di gerarchia e AutoSheetBookmarks attiva o disattiva la loro generazione
BeforeNewPage può regolare il box di ogni pagina, mentre BeforeGeneratePage e AfterGeneratePage disegnano contenuto di sfondo o di sovrapposizione tramite gli helper pubblici di pagina AppendPageContent, FillPageRectangle, StrokePageRectanglee DrawPageText
Firme e allegati
TXLSPDFSignature configura campi firma visibili o invisibili, mentre CertificationPolicy crea opzionalmente una firma di certificazione DocMDP che consente nessuna modifica, oppure compilazione e firma di moduli, oppure compilazione, firma e annotazioni dei moduli; PDF/A-1 non consente questa funzionalità PDF 1.5 e viene rifiutato prima che l'output venga impegnato
TXLSPDFCertificationPolicy fornisce xlsPdfApprovalSignature, xlsPdfCertifyNoChanges, xlsPdfCertifyFormFillingAndSigninge xlsPdfCertifyFormFillingSigningAndAnnotations per selezionare esplicitamente la politica della firma
Un TXLSPDFSignDigestEvent riceve il digest e restituisce dati CMS creati dall'host, così HotXLS non necessita mai di una chiave privata
TXLSPDFExport.Signature collega la configurazione della firma e i profili PDF/A-3 possono includere file associati convalidati tramite AddAttachment, che mette in coda un TXLSPDFAttachment; l'overload dettagliato accetta un nome visualizzato Unicode, un tipo MIME, una descrizione, un orario di modifica, un payload e un valore TXLSPDFAttachmentRelationship tra Source, Data, Alternative, Supplement o Unspecified, mentre AttachmentCount riporta il totale in coda e AttachmentDuplicatePolicy (tipo TXLSPDFAttachmentDuplicatePolicy) seleziona come vengono gestiti i nomi uguali
TXLSPDFSignature.ImageData, ImageFormate ImageFit (tipo TXLSPDFSignatureImageFit: contain, cover oppure stretch) posizionano un PNG nell'aspetto normale del Form prima che il byte range venga congelato; le modalità contain, cover e stretch condividono la cache delle immagini del documento, mentre le immagini non valide falliscono prima della firma
L'overload IXLSPDFAttachmentSource resta lazy fino al salvataggio, invoca ogni sorgente una sola volta per salvataggio, e spoola al massimo 256 MiB prima che l'oggetto EmbeddedFile venga creato, così i fallimenti del provider lasciano invariata la transazione sulla destinazione
L'assemblaggio finale scrive gli oggetti in sequenza sulla destinazione invece di costruire un'unica stringa per l'intero documento: le esportazioni non firmate vanno dritti in stream forward-only, ogni EmbeddedFile referenzia la propria dimensione in byte tramite un oggetto indiretto /Length emesso dopo il payload, e i byte del provider vengono copiati dallo spool in blocchi fissi; le esportazioni firmate si assemblano in uno spool di documento limitato che riceve le patch dei contenuti ByteRange e della firma, uno SHA-256 incrementale sui due intervalli coperti e una singola copia forward
L'output PDF/A-3 scrive ogni file associato sia nell'albero dei nomi EmbeddedFiles sia nell'array AF del catalogo, con un nome Unicode UF , un PDF Name MIME con escape, AFRelationship, la dimensione in byte, una data di modifica opzionale e una descrizione opzionale; PDF/A-1 e PDF/A-2 rifiutano gli allegati in coda prima di impegnare l'output
Metadati del documento
DocumentTitle, DocumentAuthor, DocumentSubject, DocumentKeywordse DocumentFileName popolano i dizionari delle informazioni e dei metadati PDF
Fallback dei font
TXLSPDFExport.SetFontFallbackChain, AddFontFallbacke ClearFontFallbackChains configurano livelli di fallback specifici per famiglia di origine e stile; LoadedFallbackFontCount espone il conteggio delle facce in cache e FontFallbackSelectionCacheCount il numero di decisioni di fallback per selezione in cache, entrambi per la diagnostica
TXLSPDFExport.FontSize imposta la dimensione predefinita del testo in punti, con 9 come predefinito
La selezione del fallback usa la copertura dei glifi e preserva le mappature Unicode, gli scalari supplementari, i cluster di grafemi, i cluster di shaping e le facce TTC autonome
OnGetFontDirectories può restituire una o più directory di font separate da punto e virgola per una famiglia e uno stile richiesti; le directory accettate vengono cercate ricorsivamente una sola volta, indicizzate per metadati interni famiglia/stile, e messe in cache per le misurazioni e il disegno successivi
Politica di incorporamento dei font
TXLSPDFExport.FontEmbedding (tipo TXLSPDFFontEmbedding) seleziona l'incorporamento automatico, il subsetting obbligatorio, il programma font completo o l'output di sola mappa tramite xlsPdfFontEmbedAuto, xlsPdfFontEmbedSubset, xlsPdfFontEmbedFulle xlsPdfFontEmbedNone; il subsetting obbligatorio fallisce atomicamente quando non è possibile produrre un subset valido, le facce TTC vengono convertite in font autonomi, e PDF/A rifiuta l'output di sola mappa
OnFontEmbed scatta una volta per faccia Unicode prima che le sue metriche, la character map, lo shaping e gli identificatori dei glifi vengano risolti; impostare Handled accetta la modalità per font restituita e i byte di sostituzione opzionali, mentre lasciarlo false mantiene la politica del documento e la faccia originale
I font OpenType autonomi con outline CFF si incorporano tramite FontFile3 con uno stream OpenType e un discendente CIDFontType0 ; le modalità automatica e completa mantengono il programma completo, mentre il subsetting CFF obbligatorio fallisce atomicamente perché non può preservare un subset valido
I font incorporati che portano dati OpenType GPOS o kern legacy usano avanzamenti dei glifi posizionati per il testo semplice e complesso, così misura, a capo, allineamento e posizioni dei glifi emessi condividono lo stesso risultato di kerning
Avanzamento e annullamento
TXLSPDFExport.OnProgress e OnProgressEx segnalano le fasi di inizio, pagina e fine; Cancel richiede l'annullamento e Aborted riporta lo stato finale senza impegnare un flusso parziale