HotXLS-Dokumentation

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

SessionSechs BeginExport -Überladungen akzeptieren klassische oder XLSX-Bereiche, Arbeitsblätter und Arbeitsmappen; ExportNext schreibt eine Seite und EndExport gibt die Sitzung frei
Multipage TIFFExportAllAsTiff 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 setupUseWorksheetPageSetup, Orientation, Margin, DefaultRowHeight, PaperWidthOverrideund PaperHeightOverride
Raster outputScale, ImageFormatund JpegQuality, während ExportObjectAsPNG ein einzelnes Zeichnungsobjekt als eigene PNG-Datei rendert
Compact rangesExportRange rendert einen Classic- oder XLSX-Bereich als enges Raster ohne Papier, Ränder, Kopf- oder Fußzeilen, Drucktitel oder Seitenumbrüche
Canvas eventsBeforeRenderPage 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
StateActive, 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

Siehe auch