Dokumentacija HotXLS

Napredno upodabljanje in izvoz

Poti PDF, SVG, bitne slike, metaformat, predogleda in tiskanja uporabljajo en model paginacije in geometrijo, neodvisno od zaledja, ob ohranjanju kodirnikov, značilnih za posamezen format

Poljubna grafična zaledja

TXLSGraphicsTextAlign določa levo, sredinsko in desno poravnavo besedila za TXLSGraphicsBackend; slogovni klici risanja prevzamejo preostale skupne našteve — sloge pisav (TXLSGraphicsFontStyles), končnice črt (TXLSGraphicsLineCap), vzorce črtkanja (TXLSGraphicsLineDash) in navpično poravnavo besedila (TXLSGraphicsTextVAlign)

Page lifecycleBeginPage in EndPage
PrimitivesFillRect, StrokeRect, DrawLine, DrawStyledLine, DrawEllipse, DrawPath, DrawText, DrawStyledText, DrawCellTextin DrawImage
Pagination entry pointTXLSPaginationModel.RenderPageToBackend pošlje eno logično stran poljubni izvedbi zaledja

Izvedbe prejmejo koordinate v točkah, razrešene učinke besedila in slik, izrezovanje ter postavitev risanja, lokalno za stran, brez potrebe po ponavljanju logike postavitve delovnega zvezka. Vsaka risba na logični strani prispe kot zapis TXLSPageDrawingPlacement , katerega polje Kind (TXLSPageDrawingKind: xpdkImage, xpdkChart, xpdkTextBox, xpdkShape, xpdkControl) zaledju pove, kaj riše; ploščice ozadja delovnega lista prispejo kot dekodirani TXLSSheetBackgroundRenderData

Geometrija izrisa v lasti operacije

TXLSPaginationModel.RenderBackend izbere identiteto zaledja, ki jo zajame naslednji klic Build , RenderGeometry pa izpostavi dobljeno nespremenljivo kalibracijo, generacijo delovnega zvezka, zaledje in stanje omejenega predpomnilnika meritev; aktivna seja izrisa potuje kot ročica TXLSRenderSession , politika barv pa je TXLSRenderColorMode (xlsrcColor ali xlsrcMonochrome)

Modeli PDF uporabljajo xlsrgbPdf, SVG xlsrgbSvg, slike strani xlsrgbBitmap, modeli za tiskanje in predogled tiskanja xlsrgbPrintPreview, TXLSWorkbookViewer pa xlsrgbViewer; PaginationModel pri komponentah SVG, slik, tiskanja in pregledovalnika izpostavlja aktivni model za diagnostiko, ne da bi prevzel lastništvo

Klasične in XLSX vstopne točke HTML zajamejo xlsrgbHtml; TXLSHTMLExport.RenderGeometry izpostavi zadnji posnetek klasičnega zvezka, TXLSXHtmlExportSession.RenderGeometry pa posnetek, ki ga seja obdrži čez vse liste pri inkrementalnem izvozu

Izhod stolpcev HTML pretvori model širine znakov delovnega zvezka prek največje širine števk pisave Normal in nastavljene skalnosti zaslona, preden izpije fiksno dolžino v slikovnih pikah CSS; pretvorba med točkami in slikovnimi pikami uporabi isti zajeti DPI merjenja

Vsaka operacija obdrži svojo zajeto kalibracijo, tudi če se delovni zvezek kasneje spremeni, izris pa nikoli ne piše višin vrstic ali širin stolpcev delovnega lista. Paginacija gradi strani iz objektov TXLSLogicalPage , katerih risbe, usmerjenost (TXLSPageOrientation: xpoPortrait ali xpoLandscape) in postavitev pripomb (TXLSPrintComments: xpcNone ali xpcAtEnd) izhajajo iz razrešene postavitve strani

Logična stran izpostavi vse, kar zaledje ali klic nazaj potrebuje: identiteto (DocumentPageNumber, SheetPageNumber, SheetName, lastniški ClassicWorksheet ali XlsxWorksheet), geometrijo (PageWidth, PageHeight, Scaleter vrednosti LeftMargin, RightMargin, TopMargin, BottomMargin, HeaderMarginin FooterMargin ), pravokotnik podatkov (DataFirstRow, DataLastRow, DataFirstCol, DataLastCol) z naslovi tiskanja (RepeatFirstRow, RepeatLastRow, RepeatFirstCol, RepeatLastCol), postavitev ozadja (BackgroundOffsetX, BackgroundOffsetY), izhod mrežnih črt (PrintGridlines, GridlineColor), šest besedil pasov glave in noge (LeftHeader, CenterHeader, RightHeader, LeftFooter, CenterFooter, RightFooter) ter ogrodje vrstic in stolpcev strani (RowCount z Rows in RowEdges, ColumnCount s Columns in ColumnEdges) skupaj s seznamom risb (DrawingCount in Drawings). ExpandHeaderFooter razreši formatne kode glave in noge glede na stran, ExpandHeaderFooterStyled pa dodatno poroča še vodilno velikost v točkah in barvo, da lahko poljubni slikarji posnemajo Excelov lastni izris glave

Izris ozadja delovnega lista

Pregledovalnik delovnega zvezka veljavna ozadja klasičnih in XLSX delovnih listov prikaže kot ponavljajoče se ploščice pod neizpolnjenimi celicami, izrecna in pogojna polnila celic pa ostanejo nad ozadjem

TXLSPaginationModel, TXLSSvgExport, TXLSPageImageExporter, TXLSPrintDocument, TXLSPDFExport, TXLSHTMLExport, TXLSXHtmlExportOptionsin TXLSWorkbookViewer izpostavljajo ExportSheetBackgroundImages; privzeto je False za izhod tiskanja, predogleda, metaformata, PDF, SVG, bitnih slik in HTML. Delovni listi nalogo shranijo s formatom slike TXLSSheetBackgroundFormat , dekodirani bajti pa potujejo kot TXLSSheetBackgroundResource , indeksiran z generacijo, DPI in barvnim načinom

Vklopljen izhod s paginacijo fazo ploščice pripne koordinatam delovnega lista čez meje strani in za sejo izrisa obdrži eno dekodirano sliko na kombinacijo delovnega lista, generacije vira, zaledja, DPI in barvnega načina; BackgroundDecodeCount za diagnostiko izpostavi skupno število dekodiranj, poškodovane naloge pa se preskočijo z diagnostiko delovnega zvezka. Aktivna seja TXLSRenderSession sama upravlja ta skupni predpomnilnik: AcquireBackground pridobi (ali enkrat dekodira) ploščičaste TXLSSheetBackgroundRenderData delovnega lista, DrawTiledBackground jih nariše čez izrezan predel strani, DecodeCount pa poroča, koliko nalog je bilo doslej dekodiranih

Politika prikaza objektov delovnega zvezka

ObjectDisplayMode izbere xlsodmShowAll, xlsodmShowPlaceholdersali xlsodmHideAll tako za klasične zvezke XLS kot za zvezke XLSX; pregledovalnik porabi vsa tri stanja in v načinu rezervnih mest uporablja poceni okvirje z vrsto, imenom, besedilom in nadomestnim besedilom

Izvozniki PDF, SVG, bitnih slik, fizičnega tiskanja in XLSX HTML obravnavajo način rezervnih mest privzeto kot izhod polnih objektov; nastavite ExportObjectPlaceholders na ustreznem izvozniku ali možnostih HTML, da zahtevate okvirje brez dekodiranja slik ali gradnje scene grafikona

xlsodmHideAll je zgodnejša globalna zapora, ki prepreči zbiranje risb, širjenje obsega zaradi objektov, zadetke miške in upodabljanje predstavnostnih datotek; ozadja delovnih listov, ikone pogojnega oblikovanja, slike v glavi ali noge, celice in izvozniku lastni filtri tiskanih objektov ostanejo neodvisni

Koledarsko ozaveščene datumske osi grafikonov

Grafikoni XLSX, katerih os kategorij uporablja xlsxAxisDate , vsako veljavno kategorijo preslikajo prek serijskega datumskega sistema zvezka 1900 ali 1904 in ohranijo dejansko razdaljo med redkimi datumi namesto enakomernih razmikov točk

BaseTimeUnit nadzira normalizacijo na dneve, mesece ali leta, MajorUnit, MinorUnit, MajorTimeUnitin MinorTimeUnit pa oznake pomikajo po koledarskih enotah; zato mesečni in letni intervali ostanejo poravnani kljub neenakim dolžinam mesecev in prestopnim letom

Ista omejena zbirka oznak osi oskrbi s koordinatami, oznakami, zamiki in zahtevanimi mrežnimi črtami izhod PDF, SVG, bitnih slik, predogleda, tiskanja in pregledovalnika na podlagi paginacije, izvoz XLSX HTML pa skupno koledarsko aritmetiko uporabi za svojo vgrajeno SVG-grafikon

Samostojni pisec PDF

TXLSPDFWriter ustvari dokumente PDF, ki ne izvirajo iz delovnega zvezka, na primer račune, vstopnice, nalepke in obrazce za prekrivanje; BeginDoc nastavi okvir strani s točnostjo točk, NewPage zaključi trenutno stran, SaveToStream ali SaveToFile pa dokument dokonča

Metode risanja uporabljajo točke PDF od spodnjega levega vogala in barve knjižnice v obliki $00BBGGRR ali $AABBGGRR ; na voljo so primitivi FillRectangle, StrokeRectangle, ClipRectangle, MeasureText, SaveGraphicsStatein RestoreGraphicsState za polnjene in obrisane pravokotnike, črte, elipse, slogovno besedilo z natančnim merjenjem širine, afini transformaciji, pravokotno izrezovanje ter izrecno shranjevanje ali obnovitev grafičnega stanja, PageWidth in PageHeight pa trenutni okvir strani povesta v točkah

Izvoz SVG

TXLSSvgExport ponuja sedem preobteženih metod SaveAsSVG za klasične in XLSX obsege, delovne liste, delovne zvezke in pripravljene logične strani ter izhod imenovanih objektov, kjer je podprt

UseWorksheetPageSetup, Orientationin Margin uporabljajo enake odločitve o postavitvi strani kot izhod PDF in predogled

TXLSSvgExport.PrintComments (vrsta TXLSPrintComments) izbere, kako se izpišejo pripombe celic pri izhodu SVG s paginacijo; pri xpcAtEndzadnja stran lista pod območje podatkov doda seznam pripomb (naslov celice, avtor in besedilo), xpcNone pa pripombe izpusti

ExportPages pošlje po en celovit dokument SVG na klic prek OnPage, število zapisanih strani poroča prek ExportedPageCountin kadar klic nazaj prekliče, ustavi pred generiranjem poznejših strani; IdPrefix ustvari deterministične imenske prostore dokumenta in strani za poti izrezovanja, filtre, vzorce in skupne vire

HyperlinkMode (vrsta TXLSSvgHyperlinkMode) z xshmSafe za vizualno vsebino doda izrezane prosojne zadetne regije; dovoljene zunanje sheme so HTTP, HTTPS, mail, FTP in relativne povezave, tarče active, local, UNC in z nadzornimi znaki pa se izpustijo; LinksInNewWindow doda zaščito noopener noreferrer , namigi na zaslonu pa postanejo naslovi SVG

Inkrementalni izhod PNG, JPEG in večstranski TIFF

TXLSPageImageFormat izbira izhod PNG ali JPEG, TXLSPageImageExporter pa ohranja eno sejo paginacije živo, medtem ko sproti sprošča vsako dokončano bitno sliko

SessionŠest preobteženih metod BeginExport sprejema klasične ali XLSX obsege, delovne liste in delovne zvezke; ExportNext zapiše eno stran in EndExport sprosti sejo
Multipage TIFFExportAllAsTiff izbrane logične strani zapiše v tok ali datoteko kot en TIFF s stiskanjem LZW, hkrati pa ohrani semantiko napredka, preklica in atomarnega cilja
Page setupUseWorksheetPageSetup, Orientation, Margin, DefaultRowHeight, PaperWidthOverridein PaperHeightOverride
Raster outputScale, ImageFormatin JpegQuality, ExportObjectAsPNG pa en sam predmet risbe upodobi v lasten PNG
Compact rangesExportRange klasični ali XLSX obseg izriše kot eno tesno rastersko sliko brez papirja, robov, glav, nog, naslovov tiskanja ali prelomov strani
Canvas eventsBeforeRenderPage teče po izpraznitvi ozadja, AfterRenderPage po risanju delovnega zvezka, a pred kodiranjem; sličice PNG, JPEG in TIFF si delijo isto pot dogodkov
StateActive, Aborted, TotalPageCount, PageCountin ExportedPageCount

Označeni PDF in PDF/A

TXLSPDFExport.TagMode omogoča samodejno strukturo dokumenta, tabel, vrstic, celic glave, podatkovnih celic in informativnih slik z gostimi identifikatorji označene vsebine, lokalnimi za stran, natančnimi preslikavami drevesa nadrejenih, razponi združenih celic in ločevanjem artefaktov; vrstice naslovov tiskanja in vrstice glav tabel postanejo semantične celice glave, slike XLSX z nepraznim AltText postanejo samostojni elementi Figure z nadomestnim besedilom Unicode, slike brez nadomestnega besedila pa ostanejo dekorativni artefakti

Vsaka vidna pojavitev informativne slike prejme svoj element Figure in identifikator označene vsebine, tudi če enake slike delijo en XObject PDF; AltTextTitle ne nadomesti manjkajočega nadomestnega besedila, grafikoni ostanejo artefakti, ta osredotočena podpora strukturi pa ne trdi, da dosega polno skladnost PDF/UA

TXLSPDFExport.PDFAProfile izbira PDF/A-1, PDF/A-2 ali PDF/A-3 na ravni skladnosti a ali b; nezdružljivo šifriranje, pisave, priloge, prosojnost, podpisi in metapodatki se preverijo, preden se izhodni tok potrdi

TXLSPDFExport.ExportCommentsAsAnnotations postavlja besedilo avtorja in pripomb v Unicode na pravokotnike izvornih celic, medtem ko tradicionalni izhod pripomb na koncu ostaja neodvisno konfigurabilen

UsePDFA je stikalo združljivosti za PDF/A-1b, UseXRefStream pa izbira tokove navzkrižnih sklicev tam, kjer jih izbrani profil dovoljuje

Geometrija in izbira strani

Šest preobteženih metod CalculatePageCount sprejema klasične in XLSX obsege, delovne liste ali delovne zvezke brez gradnje objektov PDF

PaperWidth in PaperHeight preglasita dimenzije papirja v točkah, LastPage zapre interval izhoda, indeksiran od 1, Orientation (vrsta TXLSPDFOrientation) izbere pokončno ali ležeči izhod, HidePrintObjects (množica TXLSPDFHidePrintObject: xlsPdfHideHeaders, xlsPdfHideFooters) potlači izbrane pasove glave ali noge, PageLayout (vrsta TXLSPDFPageLayout) pa nastavi začetno razporeditev strani v pregledovalniku

Način strani in dejanje ob odprtju PDF

TXLSPDFExport.PageMode (vrsta TXLSPDFPageMode) z xlsPdfModeDefault, xlsPdfModeUseOutlines, xlsPdfModeUseThumbs, xlsPdfModeFullScreen, xlsPdfModeUseOCin xlsPdfModeUseAttachments

OpenAction (vrsta TXLSPDFOpenAction) z xlsPdfOpenNone, xlsPdfOpenPageali xlsPdfOpenOutlinesizbere začetno obnašanje pregledovalnika. Pri xlsPdfOpenPageje OpenActionPage ciljna stran, indeksirana od 1 (omejena na število strani), OpenActionZoom pa začetni faktor povečave, kjer 0 pusti privzeto povečavo oziroma prilagoditev pregledovalnika

Skupna prilagodljiva vektorska geometrija

XLSBuildEllipticArcCubics eliptični lok pretvori v kubične Bzierjeve segmente z rekurzivnim uveljavljanjem meje ploščatosti, ki jo izbere klicatelj; PDF, SVG in rasterski izris uporabljajo to skupno geometrijo, zato veliki ali močno ekscentrični loki dobijo več segmentov, preprosti lok pa za to ne plača davka

XLSDecodeVectorScene preveri glave EMF in WMF, poravnavo in velikosti zapisov, deklarirane vsote, točno postavitev EOF ter omejitve virov, ne da bi klical predvajanje metaformatov platforme; domači beli seznam predvaja sklade stanj konteksta naprave s shranjevanjem in obnavljanjem, preslikavo okna in pogleda skupaj s svetovnimi transformacijami, tabelo objektov peres, ščetk in razširjenih peres vključno z založnimi objekti, pravokotnike, elipse, verige črt, mnogokotnike, lomljene črte in Bzierjeve krivulje slogov črtkanja, oklepaje poti s polnilom, obrisom ter združenima obrisom-in-polnilom, zaobljene pravokotnike, loke, tetive, izseke in kotne loke prek natančne pretvorbe loka v Bzierjevo krivuljo, polnila in obrobe regij iz omejenih pravokotnikov RGNDATA, omejene besedilne teke s pisavami, barvami in poravnavo ter omejene slike stretch-DIB, ponovno kodirane kot PNG prek Canvasa in SVG; zavrne zapise escape, izrezovanje in zasebne zapise pa prepusti obstoječemu omejenemu povratnemu načinu

Obrisi PDF in klici nazaj za strani

Obrisi PDF živijo v zbirki Bookmarks (vrsta TXLSPDFBookmarks): Add in AddForSheet dodata vnosa, Delete enega odstrani, Count in Items pa drevo naštejeta. Vsak vnos TXLSPDFBookmark podpira nadrejene in podrejene vnose (Children), verige sorodnih vnosov, naslove Unicode, barve (Color), ciljno PageNumber , izvirni SheetName pri zavihkih delovnih listov ter zastavici krepko in ležeče (množica TXLSPDFBookmarkStyle: xlsPdfBookmarkBold, xlsPdfBookmarkItalic), plus razširjene ali strnjene potomce; samodejni zavihki delovnih listov uporabljajo isti model hierarhije, njihovo generacijo pa preklopi AutoSheetBookmarks toggles their generation

BeforeNewPage lahko prilagodi okvir vsake strani, BeforeGeneratePage in AfterGeneratePage pa vsebino ozadja ali prekrivnega sloja narišeta prek javnih pomočnikov strani AppendPageContent, FillPageRectangle, StrokePageRectanglein DrawPageText

Podpisi in priloge

TXLSPDFSignature konfigurira vidna ali nevidna polja podpisov, CertificationPolicy pa po želji ustvari certifcijski podpis DocMDP, ki dovoljuje nič sprememb, izpolnjevanje in podpisovanje obrazcev ali izpolnjevanje, podpisovanje in opombe; PDF/A-1 te funkcije PDF 1.5 ne dovoljuje in jo zavrne, preden se izhod potrdi

TXLSPDFCertificationPolicy z xlsPdfApprovalSignature, xlsPdfCertifyNoChanges, xlsPdfCertifyFormFillingAndSigningin xlsPdfCertifyFormFillingSigningAndAnnotations omogoča izrecno izbiro politike podpisa

Dogodek TXLSPDFSignDigestEvent prejme kontrolno vsoto in vrne podatke CMS, ustvarjene v gostitelju, tako da HotXLS nikoli ne potrebuje zasebnega ključa

TXLSPDFExport.Signature pritrdi konfiguracijo podpisa, profili PDF/A-3 pa lahko prek AddAttachment, ki uvrsti v čakalno vrsto TXLSPDFAttachment, vključijo preverjene povezane datoteke; podrobna preobremenitev sprejme prikazno ime Unicode, MIME tip, opis, čas spremembe, nalogo in vrednost TXLSPDFAttachmentRelationship Source, Data, Alternative, Supplement ali Unspecified, AttachmentCount poroča skupno število čakajočih prilog, AttachmentDuplicatePolicy (vrsta TXLSPDFAttachmentDuplicatePolicy) pa izbere, kako se obravnavajo enaka imena

TXLSPDFSignature.ImageData, ImageFormatin ImageFit (vrsta TXLSPDFSignatureImageFit: contain, cover ali stretch) v običajnem videzu Form namesti PNG, preden se obseg bajtov zamrzne; načini contain, cover in stretch si delijo predpomnilnik slik dokumenta, neveljavne slike pa odpovejo pred podpisom

Preobremenitev IXLSPDFAttachmentSource ostane lena do shranjevanja, vsak vir pokliče enkrat na shranjevanje in pred ustvaritvijo objekta EmbeddedFile na zvrnilnik odloži največ 256 MiB, da napaka ponudnika pusti transakcijo cilja nepremenjeno

Končna sestava objakte zaporedoma piše v cilj, namesto da bi gradila en sam niz celotnega dokumenta: izvozi brez podpisa tečejo naravnost v tokove samo za naprej, vsak EmbeddedFile se na svojo velikost v bajtih sklicuje posredno prek objekta /Length , izpisanega za nalogo, bajti ponudnika pa se iz zvrnilnika kopirajo v fiksnih svežnjih; izvozi s podpisom se sestavijo v omejen zvrnilnik dokumenta, ki prejme zakrpe ByteRange in vsebine podpisa, inkrementalni SHA-256 prek dveh zajetih obsegov ter en sam kopirni prehod naprej

Izhod PDF/A-3 vsako povezano datoteko zapiše hkrati v drevo imen EmbeddedFiles in v polje AF kataloga, z unikodnim UF Izhod PDF/A-3 vsako povezano datoteko zapiše tako v drevo imen EmbeddedFiles kot v polje AF kataloga, z imenom UF Unicode, ukanjenim imenom PDF MIME, AFRelationship, velikostjo v bajtih, neobveznim datumom spremembe in neobveznim opisom; PDF/A-1 in PDF/A-2 čakajoče priloge zavrneta pred potrditvijo izhoda

Metapodatki dokumenta

DocumentTitle, DocumentAuthor, DocumentSubject, DocumentKeywordsin DocumentFileName zapolnijo informacije PDF in slovarje metapodatkov

Povratno iskanje pisav

TXLSPDFExport.SetFontFallbackChain, AddFontFallbackin ClearFontFallbackChains konfigurirajo ravni povratnega iskanja po izvirni družini in slogu; LoadedFallbackFontCount izpostavi število predpomnjenih obrazov, FontFallbackSelectionCacheCount pa število predpomnjenih odločitev povratnega iskanja po izbiri — obe vrednosti služita diagnostiki

TXLSPDFExport.FontSize nastavi privzeto velikost besedila v točkah, privzeto 9

Izbira povratnega iskanja uporablja pokritost glifov in ohranja preslikave Unicode, dopolnilne skalarje, gruče grafemov, gruče oblikovanja in samostojne obraze TTC

OnGetFontDirectories lahko za zahtevano družino in slog vrne eno ali več imenikov pisav, ločenih z podpičji; sprejete imenike enkrat rekurzivno preišče, indeksira po notranjih metapodatkih družine in sloga ter predpomni za nadaljnje merjenje in risanje

Politika vgrajevanja pisav

TXLSPDFExport.FontEmbedding (vrsta TXLSPDFFontEmbedding) prek xlsPdfFontEmbedAuto, xlsPdfFontEmbedSubset, xlsPdfFontEmbedFullin xlsPdfFontEmbedNoneizbere samodejno vgradnjo, zahtevano podmnožico, celoten program pisave ali izhod samo s preslikavo; zahtevana podmnožica atomarno odpove, ko veljavne podmnožice ni mogoče ustvariti, obrazi TTC se pretvorijo v samostojne pisave, PDF/A pa zavrže izhod samo s preslikavo

OnFontEmbed se sproži enkrat na obraz Unicode, preden se razrešijo njegove metrike, razpredelnica znakov, oblikovanje in identifikatorji glifov; nastavitev Handled sprejme vrnjeni način po posamezni pisavi in neobvezne nadomestne bajte, če ostane neustaljena, pa se ohranita politika dokumenta in izvirni obraz

Samostojne pisave OpenType z obroči CFF se vgradijo prek FontFile3 s tokom OpenType in potomcem CIDFontType0 ; samodejni in polni način obdržita celoten program, zahtevno podmnoževanje CFF pa atomarno odpove, ker veljavne podmnožice ne more ohraniti

Vgrajene pisave s podatki OpenType GPOS ali starim kern uporabljajo pomike glifov glede na postavitev za preprosto in sestavljeno besedilo, zato merjenje, prelom, poravnava in izpisane lege glifov delijo enak rezultat kerninga

Napredek in preklic

TXLSPDFExport.OnProgress in OnProgressEx poročata o fazah začetka, strani in konca; Cancel zahteva preklic, Aborted pa poroča končno stanje brez potrditve delnega toka

Glej tudi