Τεκμηρίωση HotXLS

Προηγμένη απόδοση και εξαγωγή

Οι διαδρομές PDF, SVG, bitmap, metafile, προεπισκόπησης και εκτύπωσης μοιράζονται ένα μοντέλο σελιδοποίησης και ουδέτερη ως προς το backend γεωμετρία, διατηρώντας παράλληλα κωδικοποιητές ειδικούς για κάθε μορφή

Προσαρμοσμένα γραφικά backends

Το TXLSGraphicsTextAlign ορίζει αριστερή, κεντρική και δεξιά στοίχιση κειμένου για το TXLSGraphicsBackend· οι κλήσεις σχεδίασης με στυλ λαμβάνουν τα υπόλοιπα κοινά enums — στυλ γραμματοσειράς (TXLSGraphicsFontStyles), line caps (TXLSGraphicsLineCap), μοτίβα παύλας (TXLSGraphicsLineDash) και κατακόρυφη στοίχιση κειμένου (TXLSGraphicsTextVAlign)

Κύκλος ζωής σελίδαςBeginPage και EndPage
Βασικές εντολέςFillRect, StrokeRect, DrawLine, DrawStyledLine, DrawEllipse, DrawPath, DrawText, DrawStyledText, DrawCellText και DrawImage
Σημείο εισόδου σελιδοποίησηςΤο TXLSPaginationModel.RenderPageToBackend στέλνει μία λογική σελίδα σε οποιαδήποτε υλοποίηση backend

Οι υλοποιήσεις λαμβάνουν συντεταγμένες σε points, επιλυμένα εφέ κειμένου και εικόνας, αποκοπή και τοποθέτηση σχεδίασης εντός της σελίδας, χωρίς να χρειάζεται να επαναλαμβάνουν τη λογική διάταξης του βιβλίου εργασίας. Κάθε σχέδιο σε μια λογική σελίδα φτάνει ως μια εγγραφή TXLSPageDrawingPlacement της οποίας το Kind (TXLSPageDrawingKind: xpdkImage, xpdkChart, xpdkTextBox, xpdkShape, xpdkControl) λέει στο backend τι ζωγραφίζει· τα tiles του φόντου του φύλλου εργασίας φτάνουν ως αποκωδικοποιημένα TXLSSheetBackgroundRenderData

Γεωμετρία απόδοσης που ανήκει στη λειτουργία

Το TXLSPaginationModel.RenderBackend επιλέγει την ταυτότητα backend που καταγράφεται στην επόμενη κλήση Build, και το RenderGeometry εκθέτει την προκύπτουσα αμετάβλητη βαθμονόμηση, τη γενιά του βιβλίου εργασίας, το backend και την οριοθετημένη κατάσταση της cache μετρήσεων· η ενεργή συνεδρία απόδοσης ταξιδεύει ως ένας δείκτης TXLSRenderSession και η πολιτική χρωμάτων είναι ένα TXLSRenderColorMode (xlsrcColor ή xlsrcMonochrome)

Τα μοντέλα PDF χρησιμοποιούν xlsrgbPdf, το SVG χρησιμοποιεί xlsrgbSvg, οι εικόνες σελίδων το xlsrgbBitmap, τα μοντέλα εκτύπωσης και προεπισκόπησης εκτύπωσης το xlsrgbPrintPreview, και το TXLSWorkbookViewer το xlsrgbViewer· το PaginationModel στα στοιχεία SVG, εικόνας, εκτύπωσης και προβολής εκθέτει το ενεργό μοντέλο για διαγνωστικά χωρίς μεταφορά ιδιοκτησίας

Τα σημεία εισόδου HTML κλασικού και XLSX καταγράφουν xlsrgbHtml· το TXLSHTMLExport.RenderGeometry εκθέτει το πιο πρόσφατο στιγμιότυπο κλασικού, ενώ το TXLSXHtmlExportSession.RenderGeometry εκθέτει το στιγμιότυπο που διατηρείται σε κάθε φύλλο μιας σταδιακής εξαγωγής

Η έξοδος στηλών HTML μετατρέπει το μοντέλο πλάτους χαρακτήρων του βιβλίου εργασίας μέσω του μέγιστου πλάτους ψηφίου της γραμματοσειράς Normal και της ρυθμισμένης κλιμάκας οθόνης πριν εκπέμψει ένα σταθερό μήκος σε CSS pixels· η μετατροπή point και pixel χρησιμοποιεί το ίδιο καταγεγραμμένο DPI μέτρησης

Κάθε λειτουργία διατηρεί την καταγεγραμμένη βαθμονόμησή της ακόμα κι αν το βιβλίο εργασίας αλλάξει αργότερα, και η απόδοση δεν γράφει ποτέ ύψη γραμμών ή πλάτη στηλών του φύλλου εργασίας. Η σελιδοποίηση χτίζει σελίδες από αντικείμενα TXLSLogicalPage των οποίων τα σχέδια, ο προσανατολισμός (TXLSPageOrientation: xpoPortrait ή xpoLandscape) και η τοποθέτηση σχολίων (TXLSPrintComments: xpcNone ή xpcAtEnd) προέρχονται από την επιλυμένη ρύθμιση σελίδας

Μια λογική σελίδα εκθέτει ό,τι χρειάζεται ένα backend ή ένα callback: ταυτότητα (DocumentPageNumber, SheetPageNumber, SheetName, το ClassicWorksheet ή XlsxWorksheet που την κατέχει), γεωμετρία (PageWidth, PageHeight, Scale και οι τιμές LeftMargin, RightMargin, TopMargin, BottomMargin, HeaderMargin, FooterMargin), το ορθογώνιο δεδομένων (DataFirstRow, DataLastRow, DataFirstCol, DataLastCol) με τίτλους εκτύπωσης (RepeatFirstRow, RepeatLastRow, RepeatFirstCol, RepeatLastCol), τοποθέτηση φόντου (BackgroundOffsetX, BackgroundOffsetY), έξοδο γραμμών πλέγματος (PrintGridlines, GridlineColor), τα έξι κείμενα ζωνών κεφαλίδας και υποσέλιδου (LeftHeader, CenterHeader, RightHeader, LeftFooter, CenterFooter, RightFooter), και τον σκελετό γραμμών και στηλών της σελίδας (RowCount με Rows και RowEdges, ColumnCount με Columns και ColumnEdges) μαζί με τη λίστα σχεδίων της (DrawingCount και Drawings). Το ExpandHeaderFooter επιλύει τους κωδικούς μορφοποίησης κεφαλίδας και υποσέλιδου απέναντι στη σελίδα, και το ExpandHeaderFooterStyled αναφέρει επιπλέον το αρχικό μέγεθος point και το χρώμα, ώστε οι προσαρμοσμένοι ζωγράφοι να ταιριάζουν με την ίδια την απόδοση κεφαλίδων του Excel

Απόδοση φόντου φύλλου εργασίας

Το πρόγραμμα προβολής βιβλίου εργασίας εμφανίζει έγκυρα φόντα φύλλων εργασίας Classic και XLSX ως επαναλαμβανόμενα tiles πίσω από τα μη γεμάτα κελιά, ενώ τα ρητά και τα υπό όρους γεμίσματα κελιών παραμένουν πάνω από το φόντο

Το TXLSPaginationModel, το TXLSSvgExport, το TXLSPageImageExporter, το TXLSPrintDocument, το TXLSPDFExport, το TXLSHTMLExport, το TXLSXHtmlExportOptions και το TXLSWorkbookViewer εκθέτουν το ExportSheetBackgroundImages· η προεπιλογή είναι False για έξοδο εκτύπωσης, προεπισκόπησης, metafile, PDF, SVG, bitmap και HTML. Τα φύλλα εργασίας αποθηκεύουν το payload τους με μια μορφή εικόνας TXLSSheetBackgroundFormat, και τα αποκωδικοποιημένα bytes ταξιδεύουν ως ένα TXLSSheetBackgroundResource με κλειδί τη γενιά, το DPI και τη λειτουργία χρωμάτων

Η ενεργοποιημένη σελιδοποιημένη έξοδος αγκυρώνει τη φάση των tiles στις συντεταγμένες του φύλλου εργασίας πέρα από τα όρια των σελίδων και διατηρεί μία αποκωδικοποιημένη εικόνα ανά φύλλο εργασίας, γενιά πόρου, backend, DPI και λειτουργία χρωμάτων για τη συνεδρία απόδοσης· το BackgroundDecodeCount εκθέτει το σύνολο των αποκωδικοποιήσεων για διαγνωστικά, ενώ τα κατεστραμμένα payload παραλείπονται με ένα διαγνωστικό του βιβλίου εργασίας. Η ενεργή TXLSRenderSession διαχειρίζεται η ίδια αυτή την κοινόχρηστη cache: το AcquireBackground φέρνει (ή αποκωδικοποιεί μία φορά) τα tiled TXLSSheetBackgroundRenderData ενός φύλλου εργασίας, το DrawTiledBackground τα ζωγραφίζει σε μια αποκομμένη περιοχή της σελίδας, και το DecodeCount αναφέρει πόσα payload έχουν αποκωδικοποιηθεί έως τώρα

Πολιτική εμφάνισης αντικειμένων βιβλίου εργασίας

Το ObjectDisplayMode επιλέγει xlsodmShowAll, xlsodmShowPlaceholders ή xlsodmHideAll τόσο για βιβλία εργασίας Classic XLS όσο και XLSX· το πρόγραμμα προβολής καταναλώνει και τις τρεις καταστάσεις και χρησιμοποιεί οικονομικά πλαίσια τύπου, ονόματος, κειμένου και εναλλακτικού κειμένου για τη λειτουργία placeholder

Οι εξαγωγείς PDF, SVG, bitmap, φυσικής εκτύπωσης και XLSX HTML αντιμετωπίζουν τη λειτουργία placeholder ως πλήρη έξοδο αντικειμένων από προεπιλογή· ορίστε το ExportObjectPlaceholders στον αντίστοιχο εξαγωγέα ή στις επιλογές HTML για να ζητήσετε πλαίσια χωρίς αποκωδικοποίηση εικόνων ή κατασκευή chart scene

Το xlsodmHideAll είναι μια πρότερη καθολική πύλη που αποτρέπει τη συλλογή σχεδίων, την επέκταση εύρους με βάση αντικείμενα, το hit testing και την απόδοση μέσων· τα φόντα φύλλων εργασίας, τα εικονίδια μορφοποίησης υπό όρους, οι εικόνες κεφαλίδας ή υποσέλιδου, τα κελιά και τα φίλτρα εκτύπωσης αντικειμένων ειδικά ανά εξαγωγέα παραμένουν ανεξάρτητα

Άξονες ημερομηνίας διαγραμμάτων με υποστήριξη ημερολογίου

Διαγράμματα XLSX με άξονα κατηγοριών xlsxAxisDate αντιστοιχίζουν κάθε έγκυρη κατηγορία στο σύστημα σειριακών ημερομηνιών 1900 ή 1904 του βιβλίου εργασίας και διατηρούν την πραγματική απόσταση μεταξύ αραιών ημερομηνιών αντί να αναθέτουν ίδια slots σημείων

Το BaseTimeUnit ελέγχει την κανονικοποίηση σε ημέρα, μήνα ή έτος, ενώ τα MajorUnit, MinorUnit, MajorTimeUnit και MinorTimeUnit προωθούν τις υποδιαιρέσεις κατά ημερολογιακές μονάδες· τα διαστήματα μηνών και ετών παραμένουν έτσι ευθυγραμμισμένα σε άνισα μήκη μηνών και δίσεκτα έτη

Η ίδια οριοθετημένη συλλογή υποδιαιρέσεων τροφοδοτεί συντεταγμένες, ετικέτες, ticks και ζητούμενες γραμμές πλέγματος στην έξοδο PDF, SVG, bitmap, προεπισκόπησης, εκτύπωσης και προβολής με βάση τη σελιδοποίηση, ενώ το XLSX HTML χρησιμοποιεί την κοινή ημερολογιακή αριθμητική για το inline SVG των διαγραμμάτων του

Αυτόνομος PDF writer

Το TXLSPDFWriter δημιουργεί έγγραφα PDF που δεν προέρχονται από βιβλίο εργασίας, όπως τιμολόγια, εισιτήρια, ετικέτες και φόρμες επικάλυψης· το BeginDoc ορίζει ένα page box ακριβές σε points, το NewPage κλείνει την τρέχουσα σελίδα, και το SaveToStream ή το SaveToFile ολοκληρώνει το έγγραφο

Οι μέθοδοι σχεδίασης χρησιμοποιούν PDF points από την κάτω αριστερή γωνία και χρώματα της βιβλιοθήκης σε μορφή $00BBGGRR ή $AABBGGRR· οι διαθέσιμες primitives καλύπτουν FillRectangle, StrokeRectangle, ClipRectangle, MeasureText, SaveGraphicsState και RestoreGraphicsState για γεμάτα και περιγραμμένα ορθογώνια, γραμμές, ελλείψεις, κείμενο με στυλ και ακριβή μέτρηση πλάτους, affine μετασχηματισμούς, ορθογώνια αποκοπή, και ρητή αποθήκευση ή επαναφορά της κατάστασης γραφικών, ενώ τα PageWidth και PageHeight αναφέρουν το τρέχον page box σε points

Εξαγωγή SVG

Το TXLSSvgExport παρέχει επτά υπερφορτώσεις SaveAsSVG για κλασικές και XLSX περιοχές, φύλλα εργασίας, βιβλία εργασίας και προετοιμασμένες λογικές σελίδες, καθώς και έξοδο με ονοματισμένα αντικείμενα όπου υποστηρίζεται

Τα UseWorksheetPageSetup, Orientation και Margin χρησιμοποιούν τις ίδιες αποφάσεις ρύθμισης σελίδας με την έξοδο PDF και προεπισκόπησης

Το TXLSSvgExport.PrintComments (τύπος TXLSPrintComments) επιλέγει πώς εκπέμπονται τα σχόλια κελιών για τη σελιδοποιημένη έξοδο SVG· όταν οριστεί σε xpcAtEnd, η τελευταία σελίδα του φύλλου προσθέτει μια λίστα σχολίων (διεύθυνση κελιού, συγγραφέας και κείμενο) κάτω από την περιοχή δεδομένων, ενώ το xpcNone παραλείπει τα σχόλια

Το ExportPages στέλνει ένα πλήρες έγγραφο SVG τη φορά μέσω του OnPage, αναφέρει τον δεσμευμένο αριθμό σελίδων μέσω του ExportedPageCount και σταματά πριν δημιουργήσει μεταγενέστερες σελίδες όταν το callback ακυρώσει· το IdPrefix δημιουργεί ντετερμινιστικά namespaces εγγράφου και σελίδας για clip paths, φίλτρα, patterns και κοινόχρηστους πόρους

Το HyperlinkMode (τύπος TXLSSvgHyperlinkMode) με xshmSafe προσθέτει αποκομμένες διαφανείς περιοχές πρόσβασης μετά το οπτικό περιεχόμενο· τα επιτρεπόμενα εξωτερικά schemes είναι HTTP, HTTPS, mail, FTP και σχετικοί σύνδεσμοι, ενώ ενεργοί, τοπικοί, UNC και στόχοι με χαρακτήρες ελέγχου παραλείπονται· το LinksInNewWindow προσθέτει προστασία noopener noreferrer και τα ScreenTips γίνονται τίτλοι SVG

Σταδιακή έξοδος PNG, JPEG και multipage TIFF

Το TXLSPageImageFormat επιλέγει έξοδο PNG ή JPEG και το TXLSPageImageExporter διατηρεί μία ενεργή συνεδρία σελιδοποίησης ενώ αποδεσμεύει άμεσα κάθε ολοκληρωμένο bitmap

ΣυνεδρίαΈξι υπερφορτώσεις BeginExport δέχονται κλασικές ή XLSX περιοχές, φύλλα εργασίας και βιβλία εργασίας· το ExportNext γράφει μία σελίδα και το EndExport αποδεσμεύει τη συνεδρία
Multipage TIFFΤο ExportAllAsTiff γράφει τις επιλεγμένες λογικές σελίδες σε ροή ή αρχείο ως ένα LZW-συμπιεσμένο TIFF, διατηρώντας παράλληλα πρόοδο, ακύρωση και ατομική σημασιολογία προορισμού
Ρύθμιση σελίδαςUseWorksheetPageSetup, Orientation, Margin, DefaultRowHeight, PaperWidthOverride και PaperHeightOverride
Έξοδος rasterScale, ImageFormat και JpegQuality, ενώ το ExportObjectAsPNG αποδίδει ένα μεμονωμένο αντικείμενο σχεδίασης σε ένα ιδιόκτητο PNG
Συμπαγή εύρηΤο ExportRange αποδίδει μια κλασική ή XLSX περιοχή ως ένα σφιχτό raster χωρίς χαρτί, περιθώρια, κεφαλίδες, υποσέλιδα, τίτλους εκτύπωσης ή αλλαγές σελίδας
Συμβάντα canvasΤο BeforeRenderPage εκτελείται μετά το καθάρισμα του φόντου και το AfterRenderPage μετά τη ζωγραφική του βιβλίου εργασίας αλλά πριν την κωδικοποίηση· τα καρέ PNG, JPEG και TIFF μοιράζονται το ίδιο μονοπάτι συμβάντων
ΚατάστασηActive, Aborted, TotalPageCount, PageCount και ExportedPageCount

PDF με ετικέτες και PDF/A

Το TXLSPDFExport.TagMode ενεργοποιεί αυτόματη δομή εγγράφου, πίνακα, γραμμής, κελιού κεφαλίδας, κελιού δεδομένων και ενημερωτικής εικόνας με πυκνά αναγνωριστικά marked-content τοπικά ανά σελίδα, ακριβείς αντιστοιχίσεις parent-tree, spans συγχωνευμένων κελιών και απομόνωση artifacts· οι γραμμές τίτλων εκτύπωσης και οι γραμμές κεφαλίδων πινάκων γίνονται σημασιολογικά κελιά κεφαλίδας, οι εικόνες XLSX με μη κενό AltText γίνονται ανεξάρτητα στοιχεία Figure με εναλλακτικό κείμενο Unicode, και οι εικόνες χωρίς εναλλακτικό κείμενο παραμένουν διακοσμητικά artifacts

Κάθε ορατή ενημερωτική εικόνα λαμβάνει το δικό της στοιχείο Figure και το δικό της αναγνωριστικό marked-content, ακόμα κι όταν ίσα payload εικόνων μοιράζονται ένα PDF XObject· το AltTextTitle δεν αντικαθιστά ελλιπές εναλλακτικό κείμενο, τα διαγράμματα παραμένουν artifacts, και αυτή η στοχευμένη υποστήριξη δομής δεν διεκδικεί πλήρη συμμόρφωση με το PDF/UA

Το TXLSPDFExport.PDFAProfile επιλέγει PDF/A-1, PDF/A-2 ή PDF/A-3 σε επίπεδο συμμόρφωσης a ή b· οι ασύμβατες κρυπτογραφήσεις, γραμματοσειρές, συνημμένα, διαφάνεια, υπογραφές και μεταδεδομένα επικυρώνονται πριν από την οριστικοποίηση της ροής εξόδου

Το TXLSPDFExport.ExportCommentsAsAnnotations τοποθετεί κείμενο συγγραφέα και σχολίου σε Unicode πάνω στα ορθογώνια των αρχικών κελιών, ενώ η παραδοσιακή έξοδος σχολίων στο τέλος παραμένει ανεξάρτητα ρυθμιζόμενη

Το UsePDFA είναι ο διακόπτης συμβατότητας για PDF/A-1b, ενώ το UseXRefStream επιλέγει ροές cross-reference όπου το επιλεγμένο προφίλ το επιτρέπει

Γεωμετρία σελίδας και επιλογή

Οι έξι υπερφορτώσεις CalculatePageCount δέχονται κλασικές και XLSX περιοχές, φύλλα εργασίας ή βιβλία εργασίας χωρίς να δημιουργούν αντικείμενα PDF

Τα PaperWidth και PaperHeight παρακάμπτουν τις διαστάσεις χαρτιού σε points, το LastPage κλείνει το διάστημα εξόδου που ξεκινά από το 1, το Orientation (τύπος TXLSPDFOrientation) επιλέγει έξοδο portrait ή landscape, το HidePrintObjects (ένα σύνολο TXLSPDFHidePrintObject: xlsPdfHideHeaders, xlsPdfHideFooters) αποκρύπτει επιλεγμένες ζώνες κεφαλίδας ή υποσέλιδου, και το PageLayout (τύπος TXLSPDFPageLayout) ορίζει την αρχική διάταξη σελίδων του θεατή

Λειτουργία σελίδας PDF και ενέργεια ανοίγματος

Το TXLSPDFExport.PageMode (τύπος TXLSPDFPageMode) ορίζει πώς τοποθετεί ο θεατής PDF τα πάνελ όταν ανοίγει το έγγραφο, μέσω xlsPdfModeDefault, xlsPdfModeUseOutlines, xlsPdfModeUseThumbs, xlsPdfModeFullScreen, xlsPdfModeUseOC και xlsPdfModeUseAttachments

Το OpenAction (τύπος TXLSPDFOpenAction) επιλέγει την αρχική συμπεριφορά του θεατή με xlsPdfOpenNone, xlsPdfOpenPage ή xlsPdfOpenOutlines. Για το xlsPdfOpenPage, το OpenActionPage είναι η σελίδα-στόχος με βάση το ένα (περιορισμένη στον αριθμό των σελίδων) και το OpenActionZoom είναι ο αρχικός συντελεστής μεγέθυνσης, όπου το 0 διατηρεί την προεπιλεγμένη μεγέθυνση ή προσαρμογή του θεατή

Κοινή προσαρμοστική διανυσματική γεωμετρία

Το XLSBuildEllipticArcCubics μετατρέπει ένα ελλειπτικό τόξο σε κυβικά τμήματα Bezier επιβάλλοντας αναδρομικά ένα όριο ευλυγισίας που επιλέγει ο καλών· η απόδοση PDF, SVG και bitmap χρησιμοποιεί αυτή την κοινή γεωμετρία, ώστε μεγάλα ή έντονα έκκεντρα τόξα να λαμβάνουν περισσότερα τμήματα χωρίς ποινή στα απλά τόξα

Το XLSDecodeVectorScene επικυρώνει headers EMF και WMF, στοίχιση και μεγέθη εγγραφών, δηλωμένα σύνολα, ακριβή τοποθέτηση EOF και όρια πόρων χωρίς να καλεί την αναπαραγωγή metafile της πλατφόρμας· η native whitelist επαναλαμβάνει στοίβες κατάστασης device-context με save και restore, αντιστοίχιση window και viewport σε συνδυασμό με world transforms, πίνακες αντικειμένων pen, brush και extended-pen συμπεριλαμβανομένων των stock objects, ορθογώνια, ελλείψεις, αλυσίδες γραμμών, πολύγωνα, πολυγραμμές και καμπύλες Bézier με στυλ παύλας, αγκύλες διαδρομών με passes γεμίσματος, περιγράμματος και συνδυασμού και των δύο, στρογγυλεμένα ορθογώνια, τόξα, χορδές, πίτες και τόξα γωνίας μέσω ακριβούς μετατροπής τόξου-σε-Bézier, γεμίσματα και πλαίσια περιοχών από οριοθετημένα ορθογώνια RGNDATA, οριοθετημένα runs κειμένου με γραμματοσειρές, χρώματα και στοίχιση, και περιορισμένες εικόνες stretch-DIB που επανκωδικοποιούνται ως PNG μέσω Canvas και SVG, απορρίπτει εγγραφές escape, και αφήνει την αποκοπή και τις ιδιωτικές εγγραφές στο υπάρχον οριοθετημένο fallback

Σελιδοδείκτες PDF και callbacks σελίδων

Οι σελιδοδείκτες PDF ζουν στη συλλογή Bookmarks (τύπος TXLSPDFBookmarks): τα Add και AddForSheet προσθέτουν εγγραφές, το Delete αφαιρεί μία, και το Count με το Items απαριθμούν το δέντρο. Κάθε εγγραφή TXLSPDFBookmark υποστηρίζει εγγραφές γονέα και παιδιών (Children), αλυσίδες αδελφών, τίτλους Unicode, χρώματα (Color), έναν στόχο PageNumber, το SheetName προέλευσης για σελιδοδείκτες φύλλων εργασίας, και σημαίες bold ή italic (σύνολο TXLSPDFBookmarkStyle: xlsPdfBookmarkBold, xlsPdfBookmarkItalic), συν εκτεταμένους ή συμπτυγμένους απογόνους· οι αυτόματοι σελιδοδείκτες φύλλων εργασίας χρησιμοποιούν το ίδιο μοντέλο ιεραρχίας και το AutoSheetBookmarks εναλλάσσει τη δημιουργία τους

Το BeforeNewPage μπορεί να προσαρμόσει το page box κάθε σελίδας, ενώ τα BeforeGeneratePage και AfterGeneratePage ζωγραφίζουν περιεχόμενο φόντου ή επικάλυψης μέσω των δημόσιων βοηθών σελίδας AppendPageContent, FillPageRectangle, StrokePageRectangle και DrawPageText

Υπογραφές και συνημμένα

Το TXLSPDFSignature διαμορφώνει ορατά ή αόρατα πεδία υπογραφής, ενώ το CertificationPolicy προαιρετικά δημιουργεί μια υπογραφή πιστοποίησης DocMDP που επιτρέπει καμία αλλαγή, συμπλήρωση φορμών και υπογραφή, ή συμπλήρωση φορμών, υπογραφή και σχολιασμό· το PDF/A-1 δεν επιτρέπει αυτή τη λειτουργία του PDF 1.5 και απορρίπτεται πριν οριστικοποιηθεί η έξοδος

Το TXLSPDFCertificationPolicy παρέχει xlsPdfApprovalSignature, xlsPdfCertifyNoChanges, xlsPdfCertifyFormFillingAndSigning και xlsPdfCertifyFormFillingSigningAndAnnotations για ρητή επιλογή της πολιτικής υπογραφής

Ένα TXLSPDFSignDigestEvent λαμβάνει το digest και επιστρέφει δεδομένα CMS που δημιουργήθηκαν από τον κεντρικό υπολογιστή, οπότε το HotXLS δεν χρειάζεται ποτέ ιδιωτικό κλειδί

Το TXLSPDFExport.Signature επισυνάπτει τη διαμόρφωση υπογραφής και τα προφίλ PDF/A-3 μπορούν να περιλαμβάνουν επικυρωμένα συνημμένα αρχεία μέσω του AddAttachment, που θέτει στην ουρά ένα TXLSPDFAttachment· η αναλυτική υπερφόρτωση δέχεται ένα Unicode όνομα εμφάνισης, MIME type, περιγραφή, χρόνο τροποποίησης, payload και μια τιμή TXLSPDFAttachmentRelationship από Source, Data, Alternative, Supplement ή Unspecified, ενώ το AttachmentCount αναφέρει το σύνολο στην ουρά και το AttachmentDuplicatePolicy (τύπος TXLSPDFAttachmentDuplicatePolicy) επιλέγει πώς χειρίζονται τα ίδια ονόματα

Τα TXLSPDFSignature.ImageData, ImageFormat και ImageFit (τύπος TXLSPDFSignatureImageFit: contain, cover ή stretch) τοποθετούν ένα PNG στην κανονική εμφάνιση Form πριν παγώσει το byte range· οι λειτουργίες contain, cover και stretch μοιράζονται τη cache εικόνων του εγγράφου, ενώ οι άκυρες εικόνες αποτυγχάνουν πριν την υπογραφή

Η υπερφόρτωση IXLSPDFAttachmentSource παραμένει lazy έως την αποθήκευση, καλεί κάθε πηγή μία φορά ανά αποθήκευση, και προσωρινά αποθηκεύει (spool) το πολύ 256 MiB πριν δημιουργηθεί το αντικείμενο EmbeddedFile, ώστε αποτυχίες του παρόχου να αφήνουν τον προορισμό αναλλοίωτο

Η τελική συναρμολόγηση γράφει τα αντικείμενα σειριακά στον προορισμό αντί να χτίζει μία συμβολοσειρά ολόκληρου του εγγράφου: οι ανυπόγραφες εξαγωγές ρέουν απευθείας σε forward-only ροές, κάθε EmbeddedFile αναφέρει το byte μέγεθός του μέσω ενός έμμεσου αντικειμένου /Length που εκπέμπεται μετά το payload, και τα bytes του παρόχου αντιγράφονται από το spool σε σταθερά τμήματα· οι υπογεγραμμένες εξαγωγές συναρμολογούνται σε ένα οριοθετημένο spool εγγράφου που δέχεται τα patches του ByteRange και των περιεχομένων της υπογραφής, ένα επαυξανόμενο SHA-256 πάνω στα δύο καλυμμένα εύρη, και μία μόνο εμπρόσθια αντιγραφή

Η έξοδος PDF/A-3 γράφει κάθε συνημμένο αρχείο τόσο στο δέντρο ονομάτων EmbeddedFiles όσο και στον πίνακα AF του καταλόγου, με Unicode όνομα UF, escaped PDF Name για το MIME, AFRelationship, byte μέγεθος, προαιρετική ημερομηνία τροποποίησης και προαιρετική περιγραφή· το PDF/A-1 και το PDF/A-2 απορρίπτουν συνημμένα στην ουρά πριν οριστικοποιηθεί η έξοδος

Μεταδεδομένα εγγράφου

Τα DocumentTitle, DocumentAuthor, DocumentSubject, DocumentKeywords και DocumentFileName συμπληρώνουν τις πληροφορίες PDF και τα λεξικά μεταδεδομένων

Εναλλακτικές γραμματοσειρές

Τα TXLSPDFExport.SetFontFallbackChain, AddFontFallback και ClearFontFallbackChains διαμορφώνουν επίπεδα εναλλακτικής ανά οικογένεια πηγής και στυλ· το LoadedFallbackFontCount εκθέτει τον αριθμό των cached faces και το FontFallbackSelectionCacheCount τον αριθμό των cached αποφάσεων εναλλακτικής ανά επιλογή, και τα δύο για διαγνωστικά

Το TXLSPDFExport.FontSize ορίζει το προεπιλεγμένο μέγεθος κειμένου σε points, με το 9 ως προεπιλογή

Η επιλογή εναλλακτικής χρησιμοποιεί την κάλυψη γλυφών και διατηρεί τις αντιστοιχίσεις Unicode, τα συμπληρωματικά scalars, τα grapheme clusters, τα shaping clusters και τις αυτόνομες γραμματοσειρές TTC

Το OnGetFontDirectories μπορεί να επιστρέψει έναν ή περισσότερους καταλόγους γραμματοσειρών διαχωρισμένους με ερωτηματικά για μια ζητούμενη οικογένεια και στυλ· οι αποδεκτοί κατάλογοι σαρώνονται αναδρομικά μία φορά, ευρετηριάζονται από εσωτερικά μεταδεδομένα οικογένειας/στυλ και γίνονται cache για επόμενες μετρήσεις και σχεδιάσεις

Πολιτική ενσωμάτωσης γραμματοσειρών

Το TXLSPDFExport.FontEmbedding (τύπος TXLSPDFFontEmbedding) επιλέγει αυτόματη ενσωμάτωση, απαιτούμενη υποσετοποίηση, πλήρες πρόγραμμα γραμματοσειράς ή έξοδο μόνο-χάρτη μέσω xlsPdfFontEmbedAuto, xlsPdfFontEmbedSubset, xlsPdfFontEmbedFull και xlsPdfFontEmbedNone· η απαιτούμενη υποσετοποίηση αποτυγχάνει ατομικά όταν δεν μπορεί να παραχθεί έγκυρη υποσελίδα, τα faces TTC μετατρέπονται σε αυτόνομες γραμματοσειρές, και το PDF/A απορρίπτει έξοδο μόνο-χάρτη

Το OnFontEmbed εκτελείται μία φορά ανά Unicode face πριν επιλυθούν οι μετρικές του, ο character map του, το shaping και τα αναγνωριστικά γλυφών του· η ορισμός του Handled δέχεται την επιστρεφόμενη λειτουργία ανά γραμματοσειρά και προαιρετικά replacement bytes, ενώ η παραμονή σε false διατηρεί την πολιτική του εγγράφου και το αρχικό face

Αυτόνομες γραμματοσειρές OpenType με περιγράμματα CFF ενσωματώνονται μέσω FontFile3 με μια ροή OpenType και έναν απόγονο CIDFontType0· η αυτόματη και η πλήρης λειτουργία διατηρούν το πλήρες πρόγραμμα, ενώ η απαιτούμενη υποσετοποίηση CFF αποτυγχάνει ατομικά επειδή δεν μπορεί να διατηρήσει έγκυρη υποσελίδα

Ενσωματωμένες γραμματοσειρές που μεταφέρουν δεδομένα OpenType GPOS ή legacy kern χρησιμοποιούν positioned glyph advances για απλό και σύνθετο κείμενο, ώστε η μέτρηση, η αναδίπλωση, η στοίχιση και οι εκπεμπόμενες θέσεις γλυφών να μοιράζονται το ίδιο αποτέλεσμα kerning

Πρόοδος και ακύρωση

Τα TXLSPDFExport.OnProgress και OnProgressEx αναφέρουν τις φάσεις έναρξης, σελίδας και τέλους· το Cancel ζητά ακύρωση και το Aborted αναφέρει την τελική κατάσταση χωρίς να οριστικοποιεί μερική ροή

Δείτε επίσης