Dokumentacija HotXLS

Napredno iscrtavanje i izvoz

Putevi PDF-a, SVG-a, bitmape, metafile-a, pregleda i ispisa dijele jedinstveni model paginacije i geometriju neovisnu o pozadinskom sustavu, zadržavajući enkodere specifične za format

Prilagođena grafička sučelja

TXLSGraphicsTextAlign definira lijevo, središnje i desno poravnanje teksta za TXLSGraphicsBackend; pozivi za iscrtavanje sa stilom koriste preostala zajednička nabrajanja — stilove fonta (TXLSGraphicsFontStyles), završetke crta (TXLSGraphicsLineCap), obrasce crtki (TXLSGraphicsLineDash) i okomito poravnanje teksta (TXLSGraphicsTextVAlign)

Životni ciklus straniceBeginPage i EndPage
PrimitiviFillRect, StrokeRect, DrawLine, DrawStyledLine, DrawEllipse, DrawPath, DrawText, DrawStyledText, DrawCellText i DrawImage
Ulazna točka paginacijeTXLSPaginationModel.RenderPageToBackend šalje jednu logičku stranicu bilo kojoj implementaciji pozadinskog sustava

Implementacije primaju koordinate u točkama, razriješene efekte teksta i slika, odsijecanje i postavljanje crteža unutar stranice, bez potrebe za ponavljanjem logike izgleda radne knjige. Svaki crtež na logičkoj stranici stiže kao zapis TXLSPageDrawingPlacement čije polje Kind (TXLSPageDrawingKind: xpdkImage, xpdkChart, xpdkTextBox, xpdkShape, xpdkControl) govori pozadinskom sustavu što se slika; pločice pozadine radnog lista stižu kao dekodirani TXLSSheetBackgroundRenderData

Geometrija iscrtavanja u vlasništvu operacije

TXLSPaginationModel.RenderBackend bira identitet pozadinskog sustava koji snima sljedeći poziv Build, a RenderGeometry izlaže rezultirajuću nepromjenjivu kalibraciju, generaciju radne knjige, pozadinski sustav i stanje predmemorije metrika s ograničenim kapacitetom; aktivna sesija iscrtavanja putuje kao ručka TXLSRenderSession, a politika boja je TXLSRenderColorMode (xlsrcColor ili xlsrcMonochrome)

PDF modeli koriste xlsrgbPdf, SVG koristi xlsrgbSvg, slike stranica koriste xlsrgbBitmap, modeli ispisa i pregleda ispisa koriste xlsrgbPrintPreview, a TXLSWorkbookViewer koristi xlsrgbViewer; PaginationModel na SVG, slikovnim, ispisnim i pregledničkim komponentama izlaže aktivni model za dijagnostiku bez prijenosa vlasništva

Klasični i XLSX ulazni točke za HTML snimaju xlsrgbHtml; TXLSHTMLExport.RenderGeometry izlaže najsvježiju klasičnu snimku, dok TXLSXHtmlExportSession.RenderGeometry izlaže snimku zadržanu kroz sve listove tijekom postupnog izvoza

Izlaz stupaca u HTML-u pretvara model širine znaka radne knjige preko maksimalne širine znamenke fonta Normal i konfiguriranog skaliranja zaslona prije nego ispiše fiksnu CSS duljinu u pikselima; pretvorba između točaka i piksela koristi isti snimljeni DPI mjerenja

Svaka operacija zadržava svoju snimljenu kalibraciju čak i ako se radna knjiga kasnije promijeni, a iscrtavanje nikada ne zapisuje visine redaka ni širine stupaca radnog lista. Paginacija gradi stranice od objekata TXLSLogicalPage čiji crteži, orijentacija (TXLSPageOrientation: xpoPortrait ili xpoLandscape) i smještaj komentara (TXLSPrintComments: xpcNone ili xpcAtEnd) dolaze iz razriješene postavke stranice

Logička stranica izlaže sve što pozadinskom sustavu ili povratnom pozivu treba: identitet (DocumentPageNumber, SheetPageNumber, SheetName, vlasnički ClassicWorksheet odnosno XlsxWorksheet), geometriju (PageWidth, PageHeight, Scale te vrijednosti LeftMargin, RightMargin, TopMargin, BottomMargin, HeaderMargin i FooterMargin), podatkovni pravokutnik (DataFirstRow, DataLastRow, DataFirstCol, DataLastCol) sa zahvaćenim naslovima ispisa (RepeatFirstRow, RepeatLastRow, RepeatFirstCol, RepeatLastCol), smještaj pozadine (BackgroundOffsetX, BackgroundOffsetY), ispis mrežnih linija (PrintGridlines, GridlineColor), šest tekstova traka zaglavlja i podnožja (LeftHeader, CenterHeader, RightHeader, LeftFooter, CenterFooter, RightFooter) te kosture redaka i stupaca stranice (RowCount uz Rows i RowEdges, ColumnCount uz Columns i ColumnEdges) zajedno s njezinim popisom crteža (DrawingCount i Drawings). ExpandHeaderFooter razrješuje formatne kodove zaglavlja i podnožja na razini stranice, a ExpandHeaderFooterStyled dodatno javlja vodeću veličinu u točkama i boju kako bi prilagođeni slikari mogli oponašati Excelovo vlastito iscrtavanje zaglavlja

Iscrtavanje pozadine radnog lista

Preglednik radnih knjiga prikazuje valjane klasične i XLSX pozadine radnih listova kao ponavljajuće pločice iza neispunjenih ćelija, dok eksplicitna i uvjetna ispuna ćelija ostaje iznad pozadine

TXLSPaginationModel, TXLSSvgExport, TXLSPageImageExporter, TXLSPrintDocument, TXLSPDFExport, TXLSHTMLExport, TXLSXHtmlExportOptions i TXLSWorkbookViewer izlažu ExportSheetBackgroundImages; zadano je False za ispis, pregled, metafile, PDF, SVG, bitmapu i HTML izlaz. Radni listovi pohranjuju svoj sadržaj uz format slike TXLSSheetBackgroundFormat, a dekodirani bajtovi putuju kao TXLSSheetBackgroundResource indeksiran generacijom, DPI-jem i načinom boja

Uključeni izlaz s paginacijom sidri fazu pločica na koordinate radnog lista preko granica stranica i zadržava jednu dekodiranu sliku po radnom listu, generaciji resursa, pozadinskom sustavu, DPI-ju i načinu boja za trajanje sesije iscrtavanja; BackgroundDecodeCount izlaže ukupan broj dekodiranja za dijagnostiku, a oštećeni se sadržaji preskaču uz dijagnostički zapis radne knjige. Aktivna TXLSRenderSession sama upravlja tom zajedničkom predmemorijom: AcquireBackground dohvaća (ili jednom dekodira) pločičasti TXLSSheetBackgroundRenderData radnog lista, DrawTiledBackground iscrtava ga preko odsječene regije stranice, a DecodeCount javlja koliko je sadržaja dosad dekodirano

Politika prikaza objekata radne knjige

ObjectDisplayMode bira xlsodmShowAll, xlsodmShowPlaceholders ili xlsodmHideAll i za klasične XLS i za XLSX radne knjige; preglednik podržava sva tri stanja i u načinu rezerviranih mjesta koristi jeftine okvire s vrstom, nazivom, tekstom i alternativnim tekstom

PDF, SVG, bitmapni, fizički ispisni i XLSX HTML izvoznici zadano tretiraju način rezerviranih mjesta kao izlaz punih objekata; postavite ExportObjectPlaceholders na odgovarajućem izvozniku ili HTML opcijama da zatražite okvire bez dekodiranja slika ni izgradnje scene grafikona

xlsodmHideAll je ranije globalno vrata koje sprječava prikupljanje crteža, proširenje raspona potaknuto objektima, testiranje pogotka i iscrtavanje medija; pozadine radnih listova, ikone uvjetnog oblikovanja, slike zaglavlja ili podnožja, ćelije i izvozniku specifični filtri objekata za ispis ostaju neovisni

Kalendarski svjesne osi datuma grafikona

XLSX grafikoni čija os kategorija koristi xlsxAxisDate preslikavaju svaku valjanu kategoriju kroz 1900 ili 1904 sustav serijskih datuma radne knjige te zadržavaju stvarni razmak između rijetkih datuma umjesto da dodjeljuju jednake položaje točaka

BaseTimeUnit upravlja normalizacijom na dan, mjesec ili godinu, dok MajorUnit, MinorUnit, MajorTimeUnit i MinorTimeUnit pomiču očitaje u kalendarskim jedinicama; mjesečni i godišnji intervali stoga ostaju poravnati kroz nejednake duljine mjeseci i prijestupne godine

Isti skup očitaja s ograničenim kapacitetom osigurava koordinate, oznake, očitaje i tražene mrežne linije za PDF, SVG, bitmapu, pregled, ispis i izlaz preglednika temeljene na paginaciji, dok XLSX HTML koristi zajedničku kalendarsku aritmetiku za svoj ugrađeni SVG grafikona

Samostalni PDF writer

TXLSPDFWriter stvara PDF dokumente koji ne potječu iz radne knjige — račune, ulaznice, naljepnice i preklapajuće obrasce; BeginDoc postavlja okvir stranice precizan u točkama, NewPage zatvara trenutačnu stranicu, a SaveToStream ili SaveToFile dovršavaju dokument

Metode iscrtavanja koriste PDF točke mjerene od donjeg lijevog kuta i boje biblioteke u obliku $00BBGGRR ili $AABBGGRR; dostupni primitivi pokrivaju ispunjene i obrubljene pravokutnike, crte, elipse, stilizirani tekst s točnim mjerenjem širine, afine transformacije, pravokutno odsijecanje te izričito spremanje i vraćanje grafičkog stanja kroz FillRectangle, StrokeRectangle, ClipRectangle, MeasureText, SaveGraphicsState i RestoreGraphicsState, dok PageWidth i PageHeight javljaju trenutačni okvir stranice u točkama

SVG izvoz

TXLSSvgExport nudi sedam preopterećenja metode SaveAsSVG za klasične i XLSX raspone, radne listove, radne knjige i pripremljene logičke stranice, uz izlaz imenovanih objekata gdje je podržan

UseWorksheetPageSetup, Orientation i Margin koriste iste odluke o postavci stranice kao PDF i izlaz za pregled

TXLSSvgExport.PrintComments (vrsta TXLSPrintComments) bira kako se ćelijski komentari ispisuju u SVG izlazu s paginacijom; pri xpcAtEnd posljednja stranica lista dodaje popis komentara (adresa ćelije, autor i tekst) ispod podatkovnog područja, a xpcNone izostavlja komentare

ExportPages šalje po jedan cjelovit SVG dokument kroz OnPage, javlja broj potvrđenih stranica kroz ExportedPageCount i prestaje prije generiranja kasnijih stranica kada povratni poziv otkaže izvoz; IdPrefix stvara determinističke nazivne prostore dokumenta i stranica za putanje odsijecanja, filtre, uzorke i zajedničke resurse

HyperlinkMode (vrsta TXLSSvgHyperlinkMode) s xshmSafe dodaje prozirna područja pogotka s odsijecanjem nakon vizualnog sadržaja; dopuštene su vanjske sheme HTTP, HTTPS, mail, FTP i relativne poveznice, dok se aktivne, lokalne, UNC i ciljevi s kontrolnim znakovima izostavljaju; LinksInNewWindow dodaje zaštitu noopener noreferrer, a ScreenTipovi postaju SVG naslovi

Postupni PNG, JPEG i višestranični TIFF izlaz

TXLSPageImageFormat bira PNG ili JPEG izlaz, a TXLSPageImageExporter održava jednu sesiju paginacije dok svaku završenu bitmapu odmah oslobađa

SesijaŠest preopterećenja metode BeginExport prihvaća klasične ili XLSX raspone, radne listove i radne knjige; ExportNext zapisuje jednu stranicu, a EndExport oslobađa sesiju
Višestranični TIFFExportAllAsTiff zapisuje odabrane logičke stranice u tok ili datoteku kao jedan TIFF sažet LZW-kompresijom, zadržavajući semantiku napretka, otkazivanja i atomičnog odredišta
Postavka straniceUseWorksheetPageSetup, Orientation, Margin, DefaultRowHeight, PaperWidthOverride i PaperHeightOverride
Rasterski izlazScale, ImageFormat i JpegQuality, dok ExportObjectAsPNG iscrtava jedan objekt crteža u posjedovanu PNG sliku
Zbijeni rasponiExportRange iscrtava klasični ili XLSX raspon kao jednu zbijenu raster sliku bez papira, margina, zaglavlja, podnožja, naslova za ispis i prijeloma stranica
Događaji platnaBeforeRenderPage se izvršava nakon brisanja pozadine, a AfterRenderPage nakon iscrtavanja radne knjige ali prije kodiranja; PNG, JPEG i TIFF kadrovi dijele isti put događaja
StanjeActive, Aborted, TotalPageCount, PageCount i ExportedPageCount

Označeni PDF i PDF/A

TXLSPDFExport.TagMode omogućuje automatsku strukturu dokumenta, tablice, retka, ćelije zaglavlja, ćelije podataka i informativne slike s gustim označiteljima sadržaja lokalnima stranici, točnim preslikavanjima stabla nadređenih, spojevima spojenih ćelija i izolacijom artefakata; reci naslova za ispis i reci zaglavlja tablice postaju semantičke ćelije zaglavlja, XLSX slike s nepraznim AltText postaju samostalni Figure elementi s Unicode alternativnim tekstom, a slike bez alternativnog teksta ostaju dekorativni artefakti

Svaka vidljiva instanca informativne slike dobiva vlastiti Figure element i označitelj sadržaja čak i kada jednaki sadržaji slika dijele jedan PDF XObject; AltTextTitle ne zamjenjuje nedostajući alternativni tekst, grafikoni ostaju artefakti, i ova fokusirana potpora strukturi ne tvrdi potpunu PDF/UA sukladnost

TXLSPDFExport.PDFAProfile bira PDF/A-1, PDF/A-2 ili PDF/A-3 na razini sukladnosti a ili b; nekompatibilno šifriranje, fontovi, privitci, prozirnost, potpisi i metapodaci provjeravaju se prije nego što se izlazni tok potvrdi

TXLSPDFExport.ExportCommentsAsAnnotations postavlja Unicode tekst autora i komentara na pravokutnike izvornih ćelija, dok tradicionalni izlaz komentara na kraju ostaje neovisno konfigurabilan

UsePDFA je preklopnik kompatibilnosti za PDF/A-1b, dok UseXRefStream bira tokove unakrsnih referenci tamo gdje ih odabrani profil dopušta

Geometrija i odabir stranice

Šest preopterećenja metode CalculatePageCount prihvaća klasične i XLSX raspone, radne listove ili radne knjige bez izgradnje PDF objekata

PaperWidth i PaperHeight nadjačavaju dimenzije papira u točkama, LastPage zatvara izlazni interval koji počinje od jedan, Orientation (vrsta TXLSPDFOrientation) bira uspravni ili vodoravni izlaz, HidePrintObjects (skup TXLSPDFHidePrintObject: xlsPdfHideHeaders, xlsPdfHideFooters) potiskuje odabrane trake zaglavlja ili podnožja, a PageLayout (vrsta TXLSPDFPageLayout) postavlja početni raspored stranica u pregledniku

PDF način stranice i radnja otvaranja

TXLSPDFExport.PageMode (vrsta TXLSPDFPageMode) postavlja kako PDF preglednik raspoređuje panele pri otvaranju dokumenta, kroz xlsPdfModeDefault, xlsPdfModeUseOutlines, xlsPdfModeUseThumbs, xlsPdfModeFullScreen, xlsPdfModeUseOC i xlsPdfModeUseAttachments

OpenAction (vrsta TXLSPDFOpenAction) bira početno ponašanje preglednika kroz xlsPdfOpenNone, xlsPdfOpenPage ili xlsPdfOpenOutlines. Za xlsPdfOpenPage, OpenActionPage je ciljna stranica s jediničnim početkom (ograničava se brojem stranica), a OpenActionZoom je početni faktor povećanja, pri čemu 0 zadržava zadani zoom ili prilagodbu preglednika

Zajednička prilagodljiva vektorska geometrija

XLSBuildEllipticArcCubics pretvara eliptični luk u kubične Bézierove segmente rekurzivnim nametanjem granice ravnosti koju bira pozivatelj; PDF, SVG i bitmapno iscrtavanje koriste tu zajedničku geometriju tako da veliki ili jako ekscentrični lukovi dobivaju više segmenata, a jednostavni lukovi ne plaćaju porez

XLSDecodeVectorScene provjerava EMF i WMF zaglavlja, poravnanje i veličine zapisa, deklarirane ukupnosti, točan smještaj EOF-a i ograničenja resursa bez pozivanja platformskog reproduktora metazapisa; izvorni popis dopuštenih reprodukcija ponavlja slogove stanja uređajnih konteksta sa spremanjem i vraćanjem, mapiranje prozora i pogleda u kombinaciji sa world transformacijama, tablice objekata olovaka, četki i proširenih olovaka uključujući standardne objekte, pravokutnike, elipse, lance crta, poligone, polilinije i Bézierove krivulje sa stilovima crta, zagrade putanja s ispunom, obrubom i kombiniranim prolazima obruba-plus-ispuna, zaobljene pravokutnike, lukove, tetive, kružne isječke i kutne lukove kroz točnu pretvorbu luka u Bézier, ispune i obrube regija iz ograničenih RGNDATA pravokutnika, ograničene tekstovne nizove s fontovima, bojama i poravnanjem te ograničene stretch-DIB slike ponovno kodirane u PNG kroz Canvas i SVG, odbija escape zapise, a odsijecanje i privatne zapise prepušta postojećem ograničenom rezervnom putu

PDF konture i povratni pozivi stranica

PDF konture žive u zbirci Bookmarks (vrsta TXLSPDFBookmarks): Add i AddForSheet dodaju unose, Delete uklanja jedan, a Count uz Items nabraja stablo. Svaki TXLSPDFBookmark unos podržava nadređene i podređene unose (Children), lance rođaka, Unicode naslove, boje (Color), cilj PageNumber, izvorni SheetName za oznake radnih listova te oznake podebljanog ili kurzivnog stila (skup TXLSPDFBookmarkStyle: xlsPdfBookmarkBold, xlsPdfBookmarkItalic), plus raširene ili skupljene potomke; automatske oznake radnih listova koriste isti model hijerarhije, a AutoSheetBookmarks uključuje i isključuje njihovo generiranje

BeforeNewPage može podesiti okvir svake stranice, dok BeforeGeneratePage i AfterGeneratePage iscrtavaju pozadinski ili preklapajući sadržaj kroz javne pomoćne metode stranice AppendPageContent, FillPageRectangle, StrokePageRectangle i DrawPageText

Potpisi i privitci

TXLSPDFSignature konfigurira vidljiva ili nevidljiva polja potpisa, dok CertificationPolicy izbornim DocMDP potpisom certificiranja dopušta bez izmjena, ispunjavanje i potpisivanje obrazaca, ili ispunjavanje, potpisivanje i bilješke; PDF/A-1 ne dopušta tu značajku PDF 1.5 formata i odbija se prije potvrđivanja izlaza

TXLSPDFCertificationPolicy pruža xlsPdfApprovalSignature, xlsPdfCertifyNoChanges, xlsPdfCertifyFormFillingAndSigning i xlsPdfCertifyFormFillingSigningAndAnnotations za izričiti odabir politike potpisivanja

TXLSPDFSignDigestEvent prima sažetak i vraća CMS podatke koje je stvorio domaćin, tako da HotXLS nikada ne treba privatni ključ

TXLSPDFExport.Signature prilaže konfiguraciju potpisa, a PDF/A-3 profili mogu uključiti validirane pridružene datoteke kroz AddAttachment koji stavlja u red TXLSPDFAttachment; detaljno preopterećenje prihvaća Unicode prikazni naziv, MIME vrstu, opis, vrijeme izmjene, sadržaj i vrijednost TXLSPDFAttachmentRelationship — Source, Data, Alternative, Supplement ili Unspecified — dok AttachmentCount javlja ukupan broj u redu, a AttachmentDuplicatePolicy (vrsta TXLSPDFAttachmentDuplicatePolicy) bira kako se postupa s jednakim nazivima

TXLSPDFSignature.ImageData, ImageFormat i ImageFit (vrsta TXLSPDFSignatureImageFit: contain, cover ili stretch) smještaju PNG u Form uobičajenog prikaza prije nego se raspon bajtova zamrzne; načini contain, cover i stretch dijele predmemoriju slika dokumenta, a nevaljane slike propadaju prije potpisivanja

Preopterećenje s IXLSPDFAttachmentSource odgađa dohvat do spremanja, poziva svaki izvor jednom po spremanju i u međuspremnik prebacuje najviše 256 MiB prije nego se stvori objekt EmbeddedFile, tako da greške pružatelja ostavljaju transakciju odredišta netaknutom

Završno sastavljanje ispisuje objekte u odredište sekvencijski umjesto da gradi cijeli dokument kao jedan string: izvozi bez potpisa teku izravno u tokove koji se pišu samo unaprijed, svaki EmbeddedFile referencira svoju veličinu u bajtovima kroz neizradni objekt /Length ispisan nakon sadržaja, a bajtovi pružatelja kopiraju se iz međuspremnika u fiksnim blokovima; izvozi s potpisom sastavljaju se u međuspremnik dokumenta s ograničenim kapacitetom koji prima zakrpe ByteRange i sadržaja potpisa, inkrementalni SHA-256 nad dva pokrivena raspona i jedno kopiranje unaprijed

Izlaz PDF/A-3 zapisuje svaku pridruženu datoteku i u stablo naziva EmbeddedFiles i u AF polje kataloga, s Unicode UF nazivom, eskapiranim MIME PDF Name, AFRelationship, veličinom u bajtovima, izbornim datumom izmjene i izbornim opisom; PDF/A-1 i PDF/A-2 odbijaju privitke u redu prije potvrđivanja izlaza

Metapodaci dokumenta

DocumentTitle, DocumentAuthor, DocumentSubject, DocumentKeywords i DocumentFileName popunjavaju informacijske i metapodatkovne rječnike PDF-a

Zamjena fontova

TXLSPDFExport.SetFontFallbackChain, AddFontFallback i ClearFontFallbackChains konfiguriraju razine zamjene prema izvornoj obitelji i stilu; LoadedFallbackFontCount izlaže broj pisama u predmemoriji, a FontFallbackSelectionCacheCount broj predmemoriranih odluka o zamjeni po odabiru — oboje za dijagnostiku

TXLSPDFExport.FontSize postavlja zadanu veličinu teksta u točkama, zadano je 9

Odabir zamjene koristi pokrivenost glifova i čuva Unicode mapiranja, dopunske skalarne vrijednosti, klastere grafema, klastere oblikovanja i samostalna TTC pisma

OnGetFontDirectories može vratiti jedan ili više direktorija fontova odvojenih točkom sa zarezom za traženu obitelj i stil; prihvaćeni direktoriji jednom se rekurzivno pretražuju, indeksiraju po internim metapodacima obitelji i stila te predmemoriraju za kasnije mjerenje i iscrtavanje

Politika ugrađivanja fontova

TXLSPDFExport.FontEmbedding (vrsta TXLSPDFFontEmbedding) bira automatsko ugrađivanje, obavezno podskupljivanje, cjeloviti programski font ili izlaz samo s mapiranjima kroz xlsPdfFontEmbedAuto, xlsPdfFontEmbedSubset, xlsPdfFontEmbedFull i xlsPdfFontEmbedNone; obavezno podskupljivanje atomično propadne kad se ne može proizvesti valjan podskup, TTC pisma se pretvaraju u samostalne fontove, a PDF/A odbija izlaz samo s mapiranjima

OnFontEmbed okida se jednom po Unicode pismu prije nego se razriješe njegove metrike, preslikavanje znakova, oblikovanje i identifikatori glifova; postavljanje Handled prihvaća vraćeni način za taj font i izborne zamjenske bajtove, dok ostavljanje na false zadržava politiku dokumenta i izvorno pismo

Samostalni OpenType fontovi s CFF obrisima ugrađuju se kroz FontFile3 s OpenType tokom i CIDFontType0 potomkom; automatski i puni način zadržavaju cjeloviti program, a obavezno CFF podskupljivanje atomično propada jer ne može sačuvati valjan podskup

Ugrađeni fontovi koji nose OpenType GPOS ili naslijeđene kern podatke koriste pozicionirane pomake glifova za jednostavni i složeni tekst, tako da mjerenje, prelamanje, poravnanje i ispisani položaji glifova dijele isti rezultat kerninga

Napredak i otkazivanje

TXLSPDFExport.OnProgress i OnProgressEx izvještavaju o fazama početka, stranice i završetka; Cancel zahtijeva otkazivanje, a Aborted izvještava o konačnom stanju bez potvrđivanja djelomičnog toka

Vidi također