Avansert gjengivelse og eksport
PDF-, SVG-, bitmap-, metafile-, forhåndsvisnings- og utskriftsbaner deler én pagineringsmodell og backend-nøytral geometri samtidig som de beholder formatspesifikke kodere
Egendefinerte grafikkbakender
TXLSGraphicsTextAlign definerer venstre-, senter- og høyrejustert tekst for TXLSGraphicsBackend; stilte tegnekall tar de gjenstående felles enumene — skriftstiler (TXLSGraphicsFontStyles), linjehetter (TXLSGraphicsLineCap), stiplemønstre (TXLSGraphicsLineDash) og vertikal tekstjustering (TXLSGraphicsTextVAlign)
| Sidelivssyklus | BeginPage og EndPage |
| Primitiver | FillRect, StrokeRect, DrawLine, DrawStyledLine, DrawEllipse, DrawPath, DrawText, DrawStyledText, DrawCellText og DrawImage |
| Inngangspunkt for paginering | TXLSPaginationModel.RenderPageToBackend sender én logisk side til enhver bakendeimplementasjon |
Implementasjonene mottar koordinater i punkter, beregnede tekst- og bildeeffekter, klipping og side-lokal tegneplassering uten å måtte gjenta arbeidsbokens oppsettslogikk. Hver tegning på en logisk side kommer som en TXLSPageDrawingPlacement-post der Kind (TXLSPageDrawingKind: xpdkImage, xpdkChart, xpdkTextBox, xpdkShape, xpdkControl) forteller bakenden hva som blir tegnet; bakgrunnsfliser for regnearket kommer som dekodede TXLSSheetBackgroundRenderData
Operasjonseid gjengivelsesgeometri
TXLSPaginationModel.RenderBackend velger bakende-identiteten som fanges av neste Build-kall, og RenderGeometry eksponerer den uforanderlige kalibreringen, arbeidsbokgenerasjonen, bakenden og den avgrensede tilstanden til metrikkcachen som blir resultatet; den aktive gjengivelsesøkten formidles som et TXLSRenderSession-håndtak, og fargepolicyen er en TXLSRenderColorMode (xlsrcColor eller xlsrcMonochrome)
PDF-modeller bruker xlsrgbPdf, SVG bruker xlsrgbSvg, sidesbilder bruker xlsrgbBitmap, utskrifts- og forhåndsvisningsmodeller bruker xlsrgbPrintPreview, og TXLSWorkbookViewer bruker xlsrgbViewer; PaginationModel på SVG-, bilde-, utskrifts- og visningskomponenter eksponerer den aktive modellen for diagnostikk uten å overføre eierskap
Inngangspunktene for klassisk og XLSX HTML fanger xlsrgbHtml; TXLSHTMLExport.RenderGeometry eksponerer det siste Classic-øyeblikksbildet, mens TXLSXHtmlExportSession.RenderGeometry eksponerer øyeblikksbildet som bevares på tvers av alle ark i en inkrementell eksport
Kolonneutdataen for HTML omsetter arbeidsbokens tegnbredde-modell gjennom maksimal sifferbredde for Normal-skriften og konfigurert skalering for skjerm, før den skriver ut en fast CSS-piksellengde; punkt- og pikselkonvertering bruker samme fangede måle-DPI
Hver operasjon beholder sin fangede kalibrering selv om arbeidsboken endres senere, og gjengivelse skriver aldri regnearkets radhøyder eller kolonnebredder. Pagineringen bygger sider fra TXLSLogicalPage-objekter der tegninger, orientering (TXLSPageOrientation: xpoPortrait eller xpoLandscape) og plassering av kommentarer (TXLSPrintComments: xpcNone eller xpcAtEnd) kommer fra det beregnede sideoppsettet
En logisk side eksponerer alt en bakende eller callback trenger: identitet (DocumentPageNumber, SheetPageNumber, SheetName, den eierende ClassicWorksheet eller XlsxWorksheet), geometri (PageWidth, PageHeight, Scale og verdiene LeftMargin, RightMargin, TopMargin, BottomMargin, HeaderMargin og FooterMargin), datarektangelet (DataFirstRow, DataLastRow, DataFirstCol, DataLastCol) med utskriftstitler (RepeatFirstRow, RepeatLastRow, RepeatFirstCol, RepeatLastCol), bakgrunnsplassering (BackgroundOffsetX, BackgroundOffsetY), rutenettutdata (PrintGridlines, GridlineColor), de seks båndtekstene for topp- og bunntekst (LeftHeader, CenterHeader, RightHeader, LeftFooter, CenterFooter, RightFooter), og sidens rad- og kolonneskjelett (RowCount med Rows og RowEdges, ColumnCount med Columns og ColumnEdges) pluss tegningslisten dens (DrawingCount og Drawings). ExpandHeaderFooter løser formatkodene for topp- og bunntekst mot siden, og ExpandHeaderFooterStyled rapporterer i tillegg den første punktstørrelsen og fargen, slik at egendefinerte malere kan matche Excels egen gjengivelse av topp- og bunntekst
Gjengivelse av regnearkbakgrunn
Arbeidsbokvisningen viser gyldige klassiske og XLSX-regnearkbakgrunner som gjentakende fliser bak celler uten fyll, mens eksplisitte og betingede cellefyll ligger over bakgrunnen
TXLSPaginationModel, TXLSSvgExport, TXLSPageImageExporter, TXLSPrintDocument, TXLSPDFExport, TXLSHTMLExport, TXLSXHtmlExportOptions og TXLSWorkbookViewer eksponerer ExportSheetBackgroundImages; standarden er False for utskrift, forhåndsvisning, metafile, PDF, SVG, bitmap og HTML-utdata. Regneark lagrer lasten sin med et bildeformat av typen TXLSSheetBackgroundFormat, og de dekodede bytene formidles som en TXLSSheetBackgroundResource nøklet på generasjon, DPI og fargemodus
Aktivert paginert utdata forankrer flisfasen mot regnearkkoordinater på tvers av sidegrenser og beholder ett dekodet bilde per regneark, ressursgenerasjon, bakende, DPI og fargemodus for gjengivelsesøkten; BackgroundDecodeCount eksponerer decodingstotalen for diagnostikk, mens skadede laster hoppes over med en arbeidsbokdiagnostikk. Den aktive TXLSRenderSession forvalter den delte cachen selv: AcquireBackground henter (eller dekoder én gang) de flislagte TXLSSheetBackgroundRenderData for et regneark, DrawTiledBackground maler den over et klippet sideområde, og DecodeCount rapporterer hvor mange laster som så langt er dekodet
Policy for visning av arbeidsbokobjekter
ObjectDisplayMode velger xlsodmShowAll, xlsodmShowPlaceholders eller xlsodmHideAll for både klassiske XLS- og XLSX-arbeidsbøker; visningskomponenten konsumerer alle tre tilstandene og bruker billige bokser med type, navn, tekst og alternativtekst i placeholder-modus
PDF-, SVG-, bitmap-, fysisk-utskrifts- og XLSX HTML-eksportører behandler placeholder-modus som utdata med hele objekter som standard; sett ExportObjectPlaceholders på den aktuelle eksportøren eller HTML-alternativene for å be om bokser uten bildekoding eller oppbygging av diagramscene
xlsodmHideAll er en tidligere global sperre som forhindrer tegningsinnsamling, objektstyrt områdeutvidelse, treffe-testing og mediegjengivelse; regnearkbakgrunner, ikoner fra betinget formatering, bilder i topp- eller bunntekst, celler og eksportørspesifikke filtre for utskriftsobjekter forblir uavhengige
Datoakser i diagrammer med kalenderforståelse
XLSX-diagrammer der kategoriaksen bruker xlsxAxisDate, kartlegger hver gyldige kategori gjennom arbeidsbokens 1900- eller 1904-system for seriedatoer og beholder den reelle avstanden mellom spredte datoer i stedet for å tildele like punktspor
BaseTimeUnit styrer normalisering til dag, måned eller år, mens MajorUnit, MinorUnit, MajorTimeUnit og MinorTimeUnit flytter merkene med kalenderenheter; måneds- og årsintervaller holder seg derfor på linje på tvers av ulikt lange måneder og skuddår
Den samme avgrensede merkesamlingen leverer koordinater, etiketter, merker og etterspurte rutenettlinjer til pagineringsbasert PDF-, SVG-, bitmap-, forhåndsvisnings-, utskrifts- og visningsutdata, mens XLSX HTML bruker den delte kalenderaritmetikken for sin inline SVG for diagrammer
Frittstående PDF-skriver
TXLSPDFWriter oppretter PDF-dokumenter som ikke har utspring i en arbeidsbok, som fakturaer, billetter, etiketter og overleggsark; BeginDoc setter en punktnøyaktig sideramme, NewPage avslutter gjeldende side, og SaveToStream eller SaveToFile fullfører dokumentet
Tegnemetodene bruker PDF-punker fra nedre venstre hjørne og biblioteksfarger på formen $00BBGGRR eller $AABBGGRR; tilgjengelige primitiver dekker FillRectangle, StrokeRectangle, ClipRectangle, MeasureText, SaveGraphicsState og RestoreGraphicsState for fylte og strekede rektangler, linjer, ellipser, stiltekst med eksakt breddeoppmåling, affine transformasjoner, rektangulær klipping og eksplisitt lagring eller gjenoppretting av grafisk tilstand, mens PageWidth og PageHeight rapporterer gjeldende sideramme i punkter
SVG-eksport
TXLSSvgExport tilbyr syv SaveAsSVG-overbelastninger for klassiske og XLSX-områder, regneark, arbeidsbøker og forberedte logiske sider, pluss utdata for navngitte objekter der dette støttes
UseWorksheetPageSetup, Orientation og Margin bruker de samme sideoppsettsbeslutningene som PDF- og forhåndsvisningsutdata
TXLSSvgExport.PrintComments (typen TXLSPrintComments) velger hvordan kommentarer skrives ut for paginert SVG-utdata; ved xpcAtEnd legges en kommentarliste (celleadresse, forfatter og tekst) til under dataområdet på arkets siste side, mens xpcNone utelater kommentarer
ExportPages sender ett fullstendig SVG-dokument om gangen gjennom OnPage, rapporterer antall gjennomførte sider gjennom ExportedPageCount og stopper før seinere sider genereres når callbacken avbryter; IdPrefix oppretter deterministiske dokument- og sidenavnerom for klippestier, filtre, mønstre og delte ressurser
HyperlinkMode (typen TXLSSvgHyperlinkMode) med xshmSafe legger til klippede transparente treffsoner etter visuelt innhold; tillatte eksterne skjema er HTTP, HTTPS, mail, FTP og relative lenker, mens aktive, lokale, UNC- og kontrolltegn-mål utelates; LinksInNewWindow legger til noopener noreferrer-beskyttelse, og skjærtips blir SVG-titler
Inkrementell PNG-, JPEG- og flersidig TIFF-utdata
TXLSPageImageFormat velger PNG- eller JPEG-utdata, og TXLSPageImageExporter holder én pagineringsøkt i live mens hver ferdige bitmap frigjøres umiddelbart
| Økt | Seks BeginExport-overbelastninger aksepterer klassiske eller XLSX-områder, regneark og arbeidsbøker; ExportNext skriver én side, og EndExport frigjør økten |
| Flersidig TIFF | ExportAllAsTiff skriver de valgte logiske sidene til en strøm eller fil som én LZW-komprimert TIFF, samtidig som den beholder semantikk for progresjon, avbryting og atomisk destinasjon |
| Sideoppsett | UseWorksheetPageSetup, Orientation, Margin, DefaultRowHeight, PaperWidthOverride og PaperHeightOverride |
| Rasterutdata | Scale, ImageFormat og JpegQuality, mens ExportObjectAsPNG gjengir ett enkelt tegningsobjekt til en PNG som eksportøren eier |
| Kompakte områder | ExportRange gjengir et klassisk eller XLSX-område som ett tett raster uten papir, marger, topp- eller bunntekst, utskriftstitler eller sideskift |
| Canvas-hendelser | BeforeRenderPage kjøres etter at bakgrunnen er ryddet, og AfterRenderPage kjøres etter at arbeidsboken er malt, men før koding; PNG-, JPEG- og TIFF-rammer deler samme hendelsesbane |
| Tilstand | Active, Aborted, TotalPageCount, PageCount og ExportedPageCount |
Merket PDF og PDF/A
TXLSPDFExport.TagMode aktiverer automatisk struktur for dokument, tabell, rad, overskriftscelle, datacelle og informativt bilde, med tette side-lokale identifikatorer for markert innhold, eksakte foreldre-tre-tilordninger, spans for sammenslåtte celler og isolasjon av artefakter; rader med utskriftstitler og tabellhoder blir semantiske overskriftsceller, XLSX-bilder med ikke-tom AltText blir selvstendige Figure-elementer med Unicode-alternativtekst, og bilder uten alternativtekst forblir dekorative artefakter
Hver synlig forekomst av et informativt bilde får sitt eget Figure-element og sin egen identifikator for markert innhold, selv om like bildelaster deler én PDF-XObject; AltTextTitle erstatter ikke manglende alternativtekst, diagrammer forblir artefakter, og denne fokuserte strukturstøtten gjør ikke krav om fullstendig PDF/UA-samsvar
TXLSPDFExport.PDFAProfile velger PDF/A-1, PDF/A-2 eller PDF/A-3 på samsvarsnivå a eller b; inkompatibel kryptering, skrifter, vedlegg, gjennomsiktighet, signaturer og metadata valideres før utdatastrømmen forpliktes
TXLSPDFExport.ExportCommentsAsAnnotations plasserer Unicode-forfatter- og kommentartekst på rektanglene til opphavscellene, mens den tradisjonelle utdataen med kommentarer til slutt forblir uavhengig konfigurerbar
UsePDFA er kompatibilitetsbryteren for PDF/A-1b, mens UseXRefStream velger kryssreferansestrømmer der den valgte profilen tillater dem
Sidegeometri og -utvalg
De seks CalculatePageCount-overbelastningene aksepterer klassiske og XLSX-områder, regneark eller arbeidsbøker uten å bygge PDF-objekter
PaperWidth og PaperHeight overstyrer papirdimensjoner i punkter, LastPage lukker det én-baserte utdataintervallet, Orientation (typen TXLSPDFOrientation) velger stående eller liggende utdata, HidePrintObjects (en mengde av TXLSPDFHidePrintObject: xlsPdfHideHeaders, xlsPdfHideFooters) undertrykker valgte bånd for topp- eller bunntekst, og PageLayout (typen TXLSPDFPageLayout) setter den innledende sideoppstillingen i leseren
PDF-sidemode og åpningshandling
TXLSPDFExport.PageMode (typen TXLSPDFPageMode) setter hvordan en PDF-leser ordner paneler når dokumentet åpnes, gjennom xlsPdfModeDefault, xlsPdfModeUseOutlines, xlsPdfModeUseThumbs, xlsPdfModeFullScreen, xlsPdfModeUseOC og xlsPdfModeUseAttachments
OpenAction (typen TXLSPDFOpenAction) velger den innledende leseratferden med xlsPdfOpenNone, xlsPdfOpenPage eller xlsPdfOpenOutlines. For xlsPdfOpenPage er OpenActionPage målsiden indeksert fra 1 (klemmet til sidetallet), og OpenActionZoom er den innledende forstørrelsesfaktoren, der 0 beholder leserens standardzoom eller -tilpasning
Delt adaptiv vektorgeometri
XLSBuildEllipticArcCubics omformer en elliptisk bue til kubiske Bezier-segment ved å håndheve en flathetsgrense valgt av kalderen, rekursivt; PDF-, SVG- og bitmap-gjengivelse bruker denne delte geometrien, slik at store eller sterkt eksentriske buer får flere segment uten å straffe enkle buer
XLSDecodeVectorScene validerer EMF- og WMF-hoder, postjustering og -størrelser, erklærte totaler, eksakt EOF-plassering og ressursgrenser uten å kalle plattformens avspilling av metafiler; den innebygde hvitelisten spiller av tilstandsstabler for enhetskontekst med lagring og gjenoppretting, vindu- og visningskartlegging kombinert med verdenstransformasjoner, tabeller for pen-, kost- og utvidet-pen-objekter inkludert standardobjekter, rektangler, ellipser, linjekjeder, polygoner, polylinjer og Bézier-kurver med stiplemønstre, path-parenteser med fyll-, strek- og kombinerte fyll-og-strek-pass, avrundede rektangler, buer, korder, kakestykker og vinkelbuer gjennom eksakt buet-til-Bézier-konvertering, regionfyll og -rammer fra avgrensede RGNDATA-rektangler, avgrensede tekstkjøringer med skrifter, farger og justering, og begrensede stretch-DIB-bilder rekodet som PNG gjennom Canvas og SVG, avviser escape-poster, og lar klipping og private poster stå til den eksisterende avgrensede reserveløsningen
PDF-outlines og side-callbacker
PDF-outlines lever i Bookmarks-samlingen (typen TXLSPDFBookmarks): Add og AddForSheet legger til oppføringer, Delete fjerner én, og Count med Items opptegner treet. Hver TXLSPDFBookmark-oppføring støtter foreldre- og barneposter (Children), søskenkjeder, Unicode-titler, farger (Color), et PageNumber-mål, kilde-SheetName for regnearkbokmerker og flagg for fet eller kursiv (mengde av TXLSPDFBookmarkStyle: xlsPdfBookmarkBold, xlsPdfBookmarkItalic), pluss utvidete eller kollapsete etterkommere; automatiske regnearkbokmerker bruker samme hierarkimodell, og AutoSheetBookmarks slår genereringen av og på
BeforeNewPage kan justere hver sideramme, mens BeforeGeneratePage og AfterGeneratePage tegner bakgrunns- eller overleggsinnhold gjennom de offentlige sidehjelperne AppendPageContent, FillPageRectangle, StrokePageRectangle og DrawPageText
Signaturer og vedlegg
TXLSPDFSignature konfigurerer synlige eller usynlige signaturfelt, mens CertificationPolicy valgfritt oppretter en DocMDP-sertifiseringssignatur som tillater ingen endringer, skjemautfylling og signering, eller skjemautfylling, signering og kommentarer; PDF/A-1 tillater ikke denne PDF 1.5-funksjonen og avslås før utdata forpliktes
TXLSPDFCertificationPolicy gir xlsPdfApprovalSignature, xlsPdfCertifyNoChanges, xlsPdfCertifyFormFillingAndSigning og xlsPdfCertifyFormFillingSigningAndAnnotations for å velge signaturpolicyen eksplisitt
En TXLSPDFSignDigestEvent mottar digestet og returnerer vertsgenererte CMS-data, så HotXLS trenger aldri en privat nøkkel
TXLSPDFExport.Signature fester signaturkonfigurasjonen, og PDF/A-3-profiler kan inkludere validerte tilknyttede filer gjennom AddAttachment, som køer en TXLSPDFAttachment; den detaljerte overlasten aksepterer et Unicode-visningsnavn, MIME-type, beskrivelse, endringstidspunkt, last og en TXLSPDFAttachmentRelationship-verdi som Source, Data, Alternative, Supplement eller Unspecified, mens AttachmentCount rapporterer den køede totalen og AttachmentDuplicatePolicy (typen TXLSPDFAttachmentDuplicatePolicy) velger hvordan like navn håndteres
TXLSPDFSignature.ImageData, ImageFormat og ImageFit (typen TXLSPDFSignatureImageFit: contain, cover eller stretch) plasserer en PNG i normal-utseendets Form før byteredet fryses; contain-, cover- og stretch-modus deler dokumentets bilde-cache, mens ugyldige bilder feiler før signering
IXLSPDFAttachmentSource-overlasten forblir lat inntil lagring, invokerer hver kilde én gang per lagring og spoler høyst 256 MiB før EmbeddedFile-objektet opprettes, slik at leverandørfeil lar destinasjonstransaksjonen være uendret
Den endelige sammensetningen skriver objekter sekvensielt til destinasjonen i stedet for å bygge én streng for hele dokumentet: eksport uten signatur strømmes rett inn i bare-fremoverbare strømmer, hver EmbeddedFile refererer sin byte-størrelse gjennom et indirekte /Length-objekt som skrives etter lasten, og leverandørbytes kopieres fra spolen i faste blokker; eksport med signatur settes sammen i en avgrenset dokumentspol som mottar patchene for ByteRange og signaturinnhold, en inkrementell SHA-256 over de to dekkede områdene, og én kopi fremover
PDF/A-3-utdata skriver hver tilknyttede fil i både EmbeddedFiles-navnetreet og AF-arrayen i katalogen, med et Unicode-UF-navn, escapet MIME-PDF-Name, AFRelationship, byte-størrelse, valgfri endringsdato og valgfri beskrivelse; PDF/A-1 og PDF/A-2 avslår køede vedlegg før utdata forpliktes
Dokumentmetadata
DocumentTitle, DocumentAuthor, DocumentSubject, DocumentKeywords og DocumentFileName fyller PDF-informasjons- og metadataordbøkene
Skriftfallback
TXLSPDFExport.SetFontFallbackChain, AddFontFallback og ClearFontFallbackChains konfigurerer fallback-nivå per kildefamilie og stil; LoadedFallbackFontCount eksponerer antallet bufrede snitt, og FontFallbackSelectionCacheCount antallet bufrede fallback-beslutninger per utvalg, begge deler for diagnostikk
TXLSPDFExport.FontSize setter standard tekststørrelse i punkter, med 9 som standard
Fallback-utvalget bruker glyfedekning og bevarer Unicode-tilordninger, tilleggsskalarer, grafemklynger, formingsklynger og frittstående TTC-snitt
OnGetFontDirectories kan returnere én eller flere semikolonseparerte skriftkataloger for en etterspurt familie og stil; aksepterte kataloger gjennomsøkes rekursivt én gang, indekseres etter intern familie- og stilmetadata og buffres til seinere oppmåling og tegning
Policy for innbaking av skrifter
TXLSPDFExport.FontEmbedding (typen TXLSPDFFontEmbedding) velger automatisk innbaking, påkrevd delmengde, komplett skriftprogram eller bare kartutdata gjennom xlsPdfFontEmbedAuto, xlsPdfFontEmbedSubset, xlsPdfFontEmbedFull og xlsPdfFontEmbedNone; påkrevd delmengde feiler atomart når en gyldig delmengde ikke kan produseres, TTC-snitt omgjøres til frittstående skrifter, og PDF/A avslår bare-kart-utdata
OnFontEmbed utløses én gang per Unicode-snitt før metrikk, tegnkart, forming og glyfidentifikatorer er resolvert; å sette Handled godtar den returnerte modusen per skrift og valgfrie erstatningsbytes, mens å la den være false beholder dokumentpolicyen og originalsnittet
Frittstående OpenType-skrifter med CFF-konturer bygges inn gjennom FontFile3 med en OpenType-strøm og en CIDFontType0-etterkommer; automatisk- og full-modus beholder hele programmet, mens påkrevd CFF-delmengde feiler atomart fordi den ikke kan bevare en gyldig delmengde
Innbakte skrifter som bærer OpenType GPOS- eller eldre kern-data, bruker posisjonerte glyfefremrykk for både enkel og kompleks tekst, slik at oppmåling, tekstbryting, justering og emitterte glyfeposisjoner deler samme kerning-resultat
Fremdrift og avbryting
TXLSPDFExport.OnProgress og OnProgressEx rapporterer start-, side- og sluttfaser; Cancel ber om avbryting, og Aborted rapporterer slutttilstanden uten å forplikte en delvis strøm