Erweiterte Wiedergabe und Export
Die Pfade für PDF, SVG, Bitmap, Metadatei, Vorschau und Druck teilen sich ein gemeinsames Paginierungsmodell und eine backend-neutrale Geometrie, behalten aber formatspezifische Encoder bei
Benutzerdefinierte Grafik-Backends
TXLSGraphicsTextAlign definiert links-, mittig- und rechtsbündige Textausrichtung für TXLSGraphicsBackend; Aufrufe zum Zeichnen mit Stil übernehmen die restlichen gemeinsamen Enums — Schriftstile (TXLSGraphicsFontStyles), line caps (TXLSGraphicsLineCap), dash patterns (TXLSGraphicsLineDash), and vertical text alignment (TXLSGraphicsTextVAlign)
| Page lifecycle | BeginPage und EndPage |
| Primitives | FillRect, StrokeRect, DrawLine, DrawStyledLine, DrawEllipse, DrawPath, DrawText, DrawStyledText, DrawCellTextund DrawImage |
| Pagination entry point | TXLSPaginationModel.RenderPageToBackend sendet eine logische Seite an eine beliebige Backend-Implementierung |
Implementierungen erhalten Koordinaten in Punkten, aufgelöste Text- und Bildeffekte, Beschneidung sowie seitenlokale Zeichenplatzierung, ohne die Arbeitsmappen-Layoutlogik erneut ausführen zu müssen TXLSPageDrawingPlacement record whose Kind (TXLSPageDrawingKind: xpdkImage, xpdkChart, xpdkTextBox, xpdkShape, xpdkControl) sagt dem Backend, was es zeichnet; Kacheln des Arbeitsblatt-Hintergrunds kommen dekodiert als TXLSSheetBackgroundRenderData
Operationsgebundene Rendergeometrie
TXLSPaginationModel.RenderBackend wählt die Backend-Identität, die der nächste Build call, and RenderGeometry legt die resultierende unveränderliche Kalibrierung, die Arbeitsmappen-Generation, das Backend und den begrenzten Metrik-Cache-Zustand offen; die aktive Render-Session wird als TXLSRenderSession handle and the colour policy is a TXLSRenderColorMode wählt die Backend-Identität, die der nächstexlsrcColor -Aufruf erfasst, und xlsrcMonochromelegt die daraus entstehende unveränderliche Kalibrierung, Arbeitsmappen-Generation, das Backend und den begrenzten Metrik-Cache offen
PDF-Modelle verwenden xlsrgbPdf, SVG nutzt xlsrgbSvg, Seitenbilder xlsrgbBitmap, Druck- und Vorschau-Modelle xlsrgbPrintPreviewund TXLSWorkbookViewer nutzt xlsrgbViewer; PaginationModel der SVG-, Bild-, Druck- und Viewer-Komponenten legt das aktive Modell diagnostisch offen, ohne Besitz zu übertragen
Classic- und XLSX-HTML-Einstiegspunkte erfassen xlsrgbHtml; TXLSHTMLExport.RenderGeometry zeigt die jüngste Classic-Momentaufnahme, während TXLSXHtmlExportSession.RenderGeometry die für alle Blätter eines inkrementellen Exports behaltene Momentaufnahme zeigt
Die HTML-Spaltenausgabe wandelt das Zeichenbreitenmodell der Arbeitsmappe über die maximale Ziffernbreite der Standardschrift und die konfigurierte Bildschirmskalierung in eine feste CSS-Pixellänge um; Punkt- und Pixelumrechnung nutzen dieselbe erfasste Mess-DPI
Jede Operation behält ihre erfasste Kalibrierung, auch wenn sich die Arbeitsmappe später ändert, und das Rendering schreibt nie Zeilenhöhen oder Spaltenbreiten in das Arbeitsblatt. Die Paginierung baut Seiten aus TXLSLogicalPage -Objekten auf, deren Zeichnungen, Ausrichtung (TXLSPageOrientation: xpoPortrait oder xpoLandscape) und Kommentarplatzierung (TXLSPrintComments: xpcNone oder xpcAtEnd) aus der aufgelösten Seiteneinrichtung stammen
Eine logische Seite legt alles offen, was ein Backend oder Callback braucht: Identität (DocumentPageNumber, SheetPageNumber, SheetName, das besitzende ClassicWorksheet oder XlsxWorksheet), Geometrie (PageWidth, PageHeight, Scalesowie die Werte LeftMargin, RightMargin, TopMargin, BottomMargin, HeaderMarginund FooterMargin ), das Datenrechteck (DataFirstRow, DataLastRow, DataFirstCol, DataLastCol) mit Drucktiteln (RepeatFirstRow, RepeatLastRow, RepeatFirstCol, RepeatLastCol), Hintergrundplatzierung (BackgroundOffsetX, BackgroundOffsetY), Gitternetzlinien-Ausgabe (PrintGridlines, GridlineColor), die sechs Kopf- und Fußzeilentexte (LeftHeader, CenterHeader, RightHeader, LeftFooter, CenterFooter, RightFooter) sowie das Zeilen- und Spaltengerüst der Seite (RowCount mit Rows und RowEdges, ColumnCount mit Columns und ColumnEdges) nebst ihrer Zeichnungsliste (DrawingCount und Drawings). ExpandHeaderFooter löst die Kopf- und Fußzeilen-Formatcodes gegen die Seite auf, und ExpandHeaderFooterStyled meldet zusätzlich die führende Punktgröße und Farbe, sodass eigene Zeichner Excels eigenem Kopfzeilen-Rendering entsprechen können
Verbundene Zellen in der nativen Paginierung
TXLSPaginationModel.RenderPageToBackend löst einen verbundenen Bereich zu seinem ursprünglichen Anker auf und zeichnet pro Seitenfragment ein sichtbares Rechteck; abgedeckte Zellen geben keinen doppelten Text und keine internen Gitternetzlinien aus
XLSX-Fragmente teilen sich Füllung, Ausrichtung, Umbruch, Schrift und die Auswertung bedingter Formate des Ankers, während explizite äußere Rahmensegmente sichtbar bleiben und innere Verbundrahmen unterdrückt werden; Classic-Fragmente teilen sich Text und einfarbige Füllung des Ankers über den vorhandenen Classic-Textpainter
Ein Druckbereich oder Seitenumbruch kann einen verbundenen Bereich beschneiden, und jedes sichtbare Fragment verwendet den ursprünglichen Anker, selbst wenn dieser außerhalb des Druckbereichs liegt; ausgeblendete Zeilen und Spalten tragen null Ausdehnung bei, und wiederholte Drucktitel-Fragmente nutzen dieselbe Anker-Politik
Das Verbinden zwingt einen Bereich nicht auf eine Seite, erweitert den Druckbereich nicht und ändert gespeicherte Zeilenhöhen und Spaltenbreiten nicht; die Paginierung behält die vorhandene Seiteneinrichtung bei und schneidet jedes Fragment auf seine logische Seite zu
Hintergrundrendering von Arbeitsblättern
Der Arbeitsmappen-Viewer zeigt gültige Classic- und XLSX-Arbeitsblatthintergründe als wiederholte Kacheln hinter ungefüllten Zellen an, während explizite und bedingte Zellfüllungen über dem Hintergrund liegen
TXLSPaginationModel, TXLSSvgExport, TXLSPageImageExporter, TXLSPrintDocument, TXLSPDFExport, TXLSHTMLExport, TXLSXHtmlExportOptionsund TXLSWorkbookViewer bieten ExportSheetBackgroundImages; für Druck, Vorschau, Metadatei, PDF, SVG, Bitmap und HTML ist der Standardwert False für Druck, Vorschau, Metadatei, PDF, SVG, Bitmap und HTML-Ausgabe. Arbeitsblätter speichern ihre Nutzlast mit einem TXLSSheetBackgroundFormat -Bildformat, und die dekodierten Bytes laufen als TXLSSheetBackgroundResource , mit einem Schlüssel aus Generation, DPI und Farbmodus
Aktivierte paginierte Ausgabe verankert die Kachelphase an Arbeitsblattkoordinaten über Seitengrenzen hinweg und behält für die Render-Session ein dekodiertes Bild pro Arbeitsblatt, Ressourcen-Generation, Backend, DPI und Farbmodus; BackgroundDecodeCount legt die Decode-Gesamtmenge für die Diagnostik offen, während beschädigte Nutzlasten mit einer Arbeitsmappen-Diagnose übersprungen werden. Die aktive TXLSRenderSession manages that shared cache itself: AcquireBackground fetches (or decodes once) the tiled TXLSSheetBackgroundRenderData for a worksheet, DrawTiledBackground Aktivierte paginierte Ausgabe verankert die Kachelphase über Seitenwechsel hinweg an Arbeitsblattkoordinaten und behält pro Arbeitsblatt, Ressourcengeneration, Backend, DPI und Farbmodus ein dekodiertes Bild für die Rendering-Sitzung; DecodeCount meldet die Dekodieranzahl für Diagnosen, während beschädigte Payloads mit einer Arbeitsmappendiagnose übersprungen werden
Anzeigerichtlinie für Arbeitsmappenobjekte
ObjectDisplayMode wählt für Classic-XLS- und XLSX-Arbeitsmappen xlsodmShowAll, xlsodmShowPlaceholdersoder xlsodmHideAll ; der Viewer verarbeitet alle drei Zustände und nutzt im Platzhaltermodus kostengünstige Kästen für Typ, Namen, Text und Alternativtext
PDF-, SVG-, Bitmap-, physische Druck- und XLSX-HTML-Exporter behandeln den Platzhaltermodus standardmäßig als Vollobjektausgabe; ExportObjectPlaceholders am jeweiligen Exporter oder an den HTML-Optionen fordert Kästen ohne Bilddekodierung oder Aufbau von Diagrammszenen an
xlsodmHideAll ist eine frühere globale Sperre für Zeichnungssammlung, objektausgelöste Bereichserweiterung, Trefferprüfung und Medienrendering; Arbeitsblatthintergründe, Symbole bedingter Formatierung, Kopf- oder Fußzeilenbilder, Zellen und exporterspezifische Druckobjektfilter bleiben unabhängig
Diagrammquelldaten aktualisieren
Die XLSX-Diagrammserialisierung und das gemeinsame Diagramm-Rendering lösen lokale Serien-Caches gegen die aktuelle Arbeitsmappen-Generation auf, sodass Quellzell-Bearbeitungen, Neuberechnung und Sichtbarkeitsänderungen Werte, Kategorien, Blasengrößen und bereichsgebundene Seriennamen vor der Ausgabe auffrischen
Gewöhnliche Quellbereiche müssen eine einzelne Zeile oder Spalte lokaler A1-Referenzen sein; quotierte Arbeitsblattnamen werden unterstützt, und ein nicht qualifizierter Bereich wird gegen das besitzende Arbeitsblatt des Diagramms aufgelöst; hierarchische Kategorienebenen behalten ihren separaten Resolver für rechteckige Bereiche
Kategorietext verwendet formatierten Zelltext, numerische Caches behalten leere Punktslots für Leerzellen und nichtnumerischen Text, Fehlerzellen behalten ihre angezeigten Fehlerliterale, und Datumswerte nutzen das 1900- oder 1904-Seriendatumssystem der Arbeitsmappe; PlotVisibleOnly bestimmt, ob ausgeblendete Quellzeilen und -spalten weggelassen werden
Importierte oder manuell gefüllte Caches werden bewahrt, wenn eine lokale Quelle nie materialisiert wurde, während Caches, die bereits aus lokalen Zellen verwaltet werden, veraltete Punkte nach dem Löschen entfernen; TXLSXChartSeries.RefreshDataCaches aktualisiert auflösbare lokale Quellen explizit, einschließlich eines leeren Quellbereichs
Externe Arbeitsmappenreferenzen und nicht unterstützte Referenzausdrücke behalten ihre gespeicherten Caches; das Auffrischen von Caches öffnet keine externen Dateien und führt keine Netzwerkanfragen aus
Kalenderbewusste Diagramm-Datumsachsen
TXLSXChartSeries.ResolveDataCaches löst unterstützte lokale Serienquellen für die aktuelle Generation auf, und RefreshDataCaches fordert einen expliziten Refresh an, selbst wenn eine leere Quelle keine Zellhistorie hat
XLSX-Diagramme mit der Kategorieachse xlsxAxisDate bilden jede gültige Kategorie über das 1900- oder 1904-Seriendatumssystem der Arbeitsmappe ab und erhalten den echten Abstand zwischen seltenen Datumswerten
BaseTimeUnit steuert die Normalisierung nach Tag, Monat oder Jahr, während MajorUnit, MinorUnit, MajorTimeUnitund MinorTimeUnit Teilstriche in Kalendereinheiten fortschreiben; Monats- und Jahresintervalle bleiben deshalb über unterschiedlich lange Monate und Schaltjahre ausgerichtet
Dieselbe begrenzte Teilstrichsammlung liefert Koordinaten, Beschriftungen, Teilstriche und angeforderte Gitternetzlinien an PDF-, SVG-, Bitmap-, Vorschau-, Druck- und Viewer-Ausgabe auf Paginierungsbasis, während XLSX-HTML dieselbe Kalenderarithmetik für Inline-Diagramm-SVG nutzt
Eigenständiger PDF-Writer
TXLSPDFWriter erstellt PDF-Dokumente, die nicht aus einer Arbeitsmappe stammen, etwa Rechnungen, Tickets, Etiketten und Overlay-Formulare; BeginDoc setzt einen punktgenauen Seitenrahmen, NewPage schließt die aktuelle Seite und SaveToStream oder SaveToFile beendet das Dokument
Zeichenmethoden verwenden PDF-Punkte vom linken unteren Rand und Bibliotheksfarben im Format $00BBGGRR oder $AABBGGRR ; verfügbare Primitive umfassen FillRectangle, StrokeRectangle, ClipRectangle, MeasureText, SaveGraphicsStateund RestoreGraphicsState , während PageWidth und PageHeight den aktuellen Seitenrahmen in Punkten melden
SVG-Export
TXLSSvgExport stellt sieben SaveAsSVG -Überladungen für klassische und XLSX-Bereiche, Arbeitsblätter, Arbeitsmappen und vorbereitete logische Seiten sowie - wo unterstützt - die Ausgabe benannter Objekte bereit
UseWorksheetPageSetup, Orientationund Margin verwenden dieselben Seitenlayout-Entscheidungen wie die PDF- und Vorschauausgabe
TXLSSvgExport.PrintComments wählt die Ausgabe von Zellkommentaren für paginiertes SVG; bei TXLSPrintCommentshängt die letzte Blattseite unterhalb des Datenbereichs eine Kommentarliste mit Zelladresse, Autor und Text an, während xpcAtEndKommentare auslässt xpcNone omits comments
ExportPages liefert über OnPagejeweils ein vollständiges SVG-Dokument, meldet die festgeschriebene Seitenanzahl mit ExportedPageCountund erzeugt keine weiteren Seiten, wenn der Callback abbricht; IdPrefix schafft deterministische Dokument- und Seitennamensräume für Clip-Pfade, Filter, Muster und gemeinsame Ressourcen
HyperlinkMode (type TXLSSvgHyperlinkMode) with xshmSafe fügt nach dem sichtbaren Inhalt beschnittene transparente Trefferbereiche ein; zulässig sind HTTP-, HTTPS-, Mail-, FTP- und relative Links, während aktive, lokale, UNC- und Steuerzeichen-Ziele entfallen; LinksInNewWindow ergänzt den Schutz noopener noreferrer , und ScreenTips werden zu SVG-Titeln
Inkrementelle PNG-, JPEG- und mehrseitige TIFF-Ausgabe
TXLSPageImageFormat wählt die PNG- oder JPEG-Ausgabe, und TXLSPageImageExporter hält eine Paginierungssitzung am Leben, während jede fertige Bitmap umgehend freigegeben wird
| Session | Sechs BeginExport -Überladungen akzeptieren klassische oder XLSX-Bereiche, Arbeitsblätter und Arbeitsmappen; ExportNext schreibt eine Seite und EndExport gibt die Sitzung frei |
| Multipage TIFF | ExportAllAsTiff schreibt die ausgewählten logischen Seiten als ein LZW-komprimiertes TIFF in einen Stream oder eine Datei und behält Fortschritt, Abbruch und atomare Zielsemantik bei |
| Page setup | UseWorksheetPageSetup, Orientation, Margin, DefaultRowHeight, PaperWidthOverrideund PaperHeightOverride |
| Raster output | Scale, ImageFormatund JpegQuality, während ExportObjectAsPNG ein einzelnes Zeichnungsobjekt als eigene PNG-Datei rendert |
| Compact ranges | ExportRange rendert einen Classic- oder XLSX-Bereich als enges Raster ohne Papier, Ränder, Kopf- oder Fußzeilen, Drucktitel oder Seitenumbrüche |
| Canvas events | BeforeRenderPage läuft nach dem Leeren des Hintergrunds und AfterRenderPage nach dem Zeichnen der Arbeitsmappe, jedoch vor der Kodierung; PNG-, JPEG- und TIFF-Frames nutzen denselben Ereignispfad |
| State | Active, Aborted, TotalPageCount, PageCountund ExportedPageCount |
Getaggtes PDF und PDF/A
TXLSPDFExport.TagMode aktiviert die automatische Struktur für Dokument, Tabelle, Zeile, Kopfzelle, Datenzelle und informative Bilder mit dichten seitenlokalen Marked-Content-IDs, exakten Parent-Tree-Zuordnungen, Spannen zusammengeführter Zellen und Artefaktisolation; Drucktitel- und Tabellenkopfzeilen werden semantische Kopfzellen, XLSX-Bilder mit nicht leerem AltText eigenständige Figure-Elemente mit Unicode-Alternativtext, Bilder ohne Alternativtext bleiben dekorative Artefakte
Jede sichtbare informative Bildinstanz erhält ein eigenes Figure-Element und eine eigene Marked-Content-ID, auch wenn gleiche Bild-Payloads ein PDF-XObject teilen; AltTextTitle ersetzt keinen fehlenden Alternativtext, Diagramme bleiben Artefakte, und diese gezielte Strukturunterstützung beansprucht keine vollständige PDF/UA-Konformität
TXLSPDFExport.PDFAProfile wählt PDF/A-1, PDF/A-2 oder PDF/A-3 auf Konformitätsstufe a oder b; inkompatible Verschlüsselung, Schriftarten, Anlagen, Transparenz, Signaturen und Metadaten werden validiert, bevor der Ausgabestrom übernommen wird
TXLSPDFExport.ExportCommentsAsAnnotations platziert Unicode-Autor- und -Kommentartext auf den Rechtecken der Ursprungszellen, während die herkömmliche Ausgabe der Kommentare am Ende unabhängig konfigurierbar bleibt
UsePDFA ist der Kompatibilitätsschalter für PDF/A-1b, während UseXRefStream Querverweis-Streams auswählt, sofern das gewählte Profil diese zulässt
Seitengeometrie und -auswahl
Die sechs CalculatePageCount -Überladungen akzeptieren klassische und XLSX-Bereiche, Arbeitsblätter oder Arbeitsmappen, ohne PDF-Objekte zu erstellen
PaperWidth und PaperHeight überschreiben die Papierabmessungen in Punkten, LastPage schließt das auf 1 basierende Ausgabeintervall, Orientation blendet ausgewählte Kopf- oder Fußzeilenbereiche aus, und TXLSPDFOrientationlegt die anfängliche Seitenanordnung des Viewers fest HidePrintObjects (a set of TXLSPDFHidePrintObject: xlsPdfHideHeaders, xlsPdfHideFooters) unterdrückt ausgewählte Kopf- oder Fußzeilenbereiche, und PageLayout (type TXLSPDFPageLayout) legt die anfängliche Seitenanordnung des Viewers fest
PDF-Seitenmodus und Öffnungsaktion
TXLSPDFExport.PageMode legt fest, wie ein PDF-Viewer beim Öffnen des Dokuments Bereiche anordnet, über TXLSPDFPageMode, xlsPdfModeDefault, xlsPdfModeUseOutlines, xlsPdfModeUseThumbs, xlsPdfModeFullScreenund xlsPdfModeUseOC, and xlsPdfModeUseAttachments
OpenAction (type TXLSPDFOpenActionwählt das anfängliche Viewer-Verhalten mit xlsPdfOpenNone, xlsPdfOpenPageoder xlsPdfOpenOutlines; bei xlsPdfOpenPageist OpenActionPage die auf die Seitenanzahl begrenzte Zielseite mit Index eins und OpenActionZoom der anfängliche Vergrößerungsfaktor, wobei 0 die Viewer-Standardvergrößerung oder Anpassung beibehält
Gemeinsame adaptive Vektorgeometrie
XLSBuildEllipticArcCubics wandelt einen elliptischen Bogen durch rekursives Einhalten einer vom Aufrufer gewählten Flachheitsgrenze in kubische Béziersegmente um; PDF-, SVG- und Bitmap-Rendering verwenden diese Geometrie, sodass große oder stark exzentrische Bögen mehr Segmente erhalten, ohne einfache Bögen zu belasten
XLSDecodeVectorScene validiert EMF- und WMF-Header, Datensatzausrichtung und -größen, deklarierte Summen, die exakte EOF-Position und Ressourcenlimits ohne Plattform-Metafile-Playback; die native Whitelist gibt Device-Context-Zustandsstapel mit Sichern und Wiederherstellen, Fenster- und Viewport-Mapping mit World-Transforms, Objektlisten für Pen, Brush und Extended Pen einschließlich Stock-Objekten, Rechtecke, Ellipsen, Linienketten, Polygone, Polylines und Bézierkurven mit Dash-Stilen, Pfadklammern mit Fill-, Stroke- und kombinierten Durchgängen, abgerundete Rechtecke, Bögen, Chords, Pies und Angle Arcs über exakte Bogen-zu-Bézier-Konvertierung, Bereichsfüllungen und -rahmen aus begrenzten RGNDATA-Rechtecken, begrenzte Textläufe mit Schriftarten, Farben und Ausrichtung sowie eingeschränkte als PNG neu kodierte Stretch-DIB-Bilder über Canvas und SVG wieder, lehnt Escape-Datensätze ab und überlässt Clipping sowie private Datensätze dem bestehenden begrenzten Fallback
PDF-Gliederungen und Seiten-Callbacks
PDF-Gliederungen unterstützen Eltern- und Kindeinträge, Geschwisterketten, Unicode-Titel, Farben, Fett- oder Kursiv-Flags sowie ein- oder ausgeklappte Nachfolger; automatische Arbeitsblatt-Lesezeichen nutzen dasselbe Hierarchiemodell, und Bookmarks schaltet ihre Erzeugung TXLSPDFBookmarks): Add and AddForSheet append entries, Delete removes one, and Count with Items enumerate the tree. Each TXLSPDFBookmark -Eintrag unterstützt Eltern- und Kind-Einträge (Children), Geschwisterketten, Unicode-Titel, Farben (Color), a PageNumber target, the source SheetName für Arbeitsblatt-Lesezeichen sowie Fett- oder Kursiv-Flags (Menge von TXLSPDFBookmarkStyle: xlsPdfBookmarkBold, xlsPdfBookmarkItalic), plus auf- oder zugeklappte Nachfahren; automatische Arbeitsblatt-Lesezeichen nutzen dasselbe Hierarchiemodell und AutoSheetBookmarks toggles their generation
BeforeNewPage kann jeden Seitenrahmen anpassen, während BeforeGeneratePage und AfterGeneratePage Hintergrund- oder Overlay-Inhalte über die öffentlichen Seitenhilfen AppendPageContent, FillPageRectangle, StrokePageRectangleund DrawPageText
Signaturen und Anlagen
TXLSPDFSignature konfiguriert sichtbare oder unsichtbare Signaturfelder, während CertificationPolicy optional eine DocMDP-Zertifizierungssignatur erzeugt, die keine Änderungen, das Ausfüllen und Signieren von Formularen oder das Ausfüllen, Signieren und Kommentieren erlaubt; PDF/A-1 lässt diese PDF-1.5-Funktion nicht zu und wird vor dem Festschreiben der Ausgabe abgewiesen
TXLSPDFCertificationPolicy bietet xlsPdfApprovalSignature, xlsPdfCertifyNoChanges, xlsPdfCertifyFormFillingAndSigningund xlsPdfCertifyFormFillingSigningAndAnnotations zur expliziten Auswahl der Signaturrichtlinie
Ein TXLSPDFSignDigestEvent empfängt den Digest und gibt vom Host erstellte CMS-Daten zurück, sodass HotXLS nie einen privaten Schlüssel benötigt
TXLSPDFExport.Signature hängt die Signaturkonfiguration an, und PDF/A-3-Profile können über AddAttachmentvalidierte zugeordnete Dateien enthalten; die ausführliche Überladung akzeptiert Unicode-Anzeigename, MIME-Typ, Beschreibung, Änderungszeit, Payload und einen TXLSPDFAttachment-Wert Source, Data, Alternative, Supplement oder Unspecified, während TXLSPDFAttachmentRelationship die eingereihte Gesamtzahl meldet AttachmentCount reports the queued total and AttachmentDuplicatePolicy (type TXLSPDFAttachmentDuplicatePolicy) selects how equal names are handled
TXLSPDFSignature.ImageData, ImageFormat, ImageFit und TXLSPDFSignatureImageFitplatzieren vor dem Festschreiben des Bytebereichs ein PNG im normalen Erscheinungsbild-Formular; contain-, cover- und stretch-Modus teilen den Dokumentbildcache, während ungültige Bilder vor dem Signieren fehlschlagen
Die IXLSPDFAttachmentSource -Überladung bleibt bis zum Speichern lazy, ruft jede Quelle pro Speichervorgang nur einmal auf und spoolt höchstens 256 MiB, bevor das EmbeddedFile-Objekt entsteht, sodass Providerfehler die Zieltransaktion unverändert lassen
Die abschließende Assemblierung schreibt Objekte nacheinander an das Ziel, statt einen ganzen Dokumentstring zu bauen: Unsigned-Exporte streamen direkt in Forward-only-Streams, jedes EmbeddedFile verweist über ein nach dem Payload ausgegebenes indirektes /Length -Objekt auf seine Bytegröße, und Providerbytes werden in festen Chunks aus dem Spool kopiert; signierte Exporte verwenden einen begrenzten Dokumentspool mit ByteRange - und Signaturinhaltspatches, inkrementellem SHA-256 über die zwei abgedeckten Bereiche und einer einzigen Vorwärtskopie
PDF/A-3-Ausgabe schreibt jede zugeordnete Datei sowohl in den EmbeddedFiles-Namensbaum als auch in das AF-Array des Katalogs, mit Unicode- UF -Namen, maskiertem MIME-PDF-Namen, AFRelationship, Bytegröße, optionalem Änderungsdatum und optionaler Beschreibung; PDF/A-1 und PDF/A-2 weisen eingereihte Anhänge vor dem Festschreiben ab
Dokument-Metadaten
DocumentTitle, DocumentAuthor, DocumentSubject, DocumentKeywordsund DocumentFileName füllen die PDF-Informations- und Metadatenverzeichnisse
Schriftarten-Fallback
TXLSPDFExport.SetFontFallbackChain, AddFontFallbackund ClearFontFallbackChains konfigurieren Fallback-Ebenen für Quellschriftfamilie und Stil; LoadedFallbackFontCount legt die Anzahl zwischengespeicherter Schriftschnitte und FontFallbackSelectionCacheCount die Zahl zwischengespeicherter Fallback-Entscheidungen pro Auswahl offen, jeweils für Diagnosen
TXLSPDFExport.FontSize setzt die Standardtextgröße in Punkten, der Standardwert ist 9
Die Fallback-Auswahl nutzt die Glyphenabdeckung und erhält Unicode-Zuordnungen, ergänzende Skalare, Graphemcluster, Shaping-Cluster und eigenständige TTC-Schriftschnitte
OnGetFontDirectories kann für eine angeforderte Familie und einen Stil ein oder mehrere durch Semikolon getrennte Schriftverzeichnisse zurückgeben; akzeptierte Verzeichnisse werden einmal rekursiv durchsucht, über interne Familien- und Stilmetadaten indiziert und für spätere Messung und Zeichnung zwischengespeichert
Richtlinie zur Schrifteinbettung
TXLSPDFExport.FontEmbedding wählt automatische Einbettung, erforderliche Teilmengenbildung, das vollständige Schriftprogramm oder reine Mapping-Ausgabe über TXLSPDFFontEmbedding, xlsPdfFontEmbedAuto, xlsPdfFontEmbedSubsetund xlsPdfFontEmbedFull; erforderliche Teilmengenbildung schlägt atomar fehl, wenn keine gültige Teilmenge erzeugt werden kann, TTC-Schnitte werden in eigenständige Schriften umgewandelt und PDF/A weist reine Mapping-Ausgabe ab xlsPdfFontEmbedNone; erforderliches Subsetting schlägt atomar fehl, wenn keine gültige Teilmenge erzeugt werden kann, TTC-Schnitte werden in eigenständige Schriften umgewandelt, und PDF/A weist reine Mapping-Ausgabe zurück
OnFontEmbed übernimmt den zurückgegebenen Modus pro Schrift und optionale Ersatzbytes, während Handled die Dokumentrichtlinie und den Originalschnitt beibehält
Eigenständige OpenType-Schriften mit CFF-Konturen werden über FontFile3 mit einem OpenType -Stream und einem CIDFontType0 -Nachfolger eingebettet; automatische und vollständige Modi behalten das gesamte Programm, während erforderliche CFF-Teilmengenbildung atomar fehlschlägt, weil sie keine gültige Teilmenge erhalten kann
Eingebettete Schriften mit OpenType- GPOS - oder Legacy- kern -Daten verwenden positionierte Glyphenfortschritte für einfachen und komplexen Text, sodass Messung, Umbruch, Ausrichtung und ausgegebene Glyphenpositionen dasselbe Kerning-Ergebnis teilen
Fortschritt und Abbruch
TXLSPDFExport.OnProgress und OnProgressEx melden die Phasen Start, Seite und Ende; Cancel fordert den Abbruch an, und Aborted meldet den endgültigen Zustand, ohne einen teilweisen Stream zu übernehmen