HotPDF 2.806.0 για Delphi και C++Builder

Τα JSON jobs και το C ABI εξάγουν φορτωμένες σελίδες ως σημασιολογικό HTML, XHTML, XML, ή JSON και τυποποιημένους πίνακες ως CSV, JSON, ή XLSX, με επεξεργασία επιλεγμένων σελίδων, οριοθετημένη έξοδο, ακύρωση, και διατήρηση πηγής

Εγγενής δημιουργία, επεξεργασία, υπογραφή, έξοδος συμβατή με πρότυπα, βελτιστοποίηση γραμματοσειρών και απεικόνιση PDF για εφαρμογές RAD Studio

Τα εκδοσιοποιημένα μητρώα κανόνων τιμολογίων υποστηρίζουν ρητή επικύρωση CII XML και hybrid τιμολογίων με ξεχωριστά επίπεδα προφίλ και χώρας, συμπεριλαμβανομένων των επίσημων πόρων XRechnung και γαλλικών CTC μέσω μιας μηχανής Saxon που ρυθμίζει ο host

Το HotPDF επιτρέπει σε εφαρμογές VCL να δημιουργούν, τροποποιούν, ασφαλίζουν, υπογράφουν, βελτιστοποιούν, εισάγουν, συμπιέζουν και αποθηκεύουν έγγραφα PDF απευθείας από κώδικα Delphi ή C++Builder, χωρίς ανάπτυξη εξωτερικού PDF runtime

Επισκόπηση έργου

Το HotPDF είναι μια βιβλιοθήκη εξαρτημάτων PDF σε επίπεδο πηγαίου κώδικα για Delphi και C++Builder. Έχει σχεδιαστεί για desktop λογισμικό που χρειάζεται αιτιοκρατική έξοδο PDF, απευθείας σχεδίαση σελίδας, ισχυρή ενσωμάτωση με το RAD Studio, και συμπαγή ανάπτυξη (deployment)

Το εξάρτημα καλύπτει την καθημερινή δημιουργία PDF, προηγμένη σύνθεση εγγράφων, επεξεργασία PDF, έξοδο με πολλές εικόνες, φόρμες με προστασία από διπλότυπα ονόματα πεδίων, επισημειώσεις, wrappers πεδίων AcroForm κατά τη δημιουργία, επαναχρησιμοποιήσιμες αλυσίδες action-builder για ενέργειες ανοίγματος, ενέργειες κύκλου ζωής εγγράφου, πρόσθετες ενέργειες σελίδας, ενέργειες επισημειώσεων, πρόσθετες ενέργειες επισημειώσεων, πρόσθετες ενέργειες AcroForm, κρυπτογράφηση, ροές εργασίας υπογραφής, βελτιστοποίηση γραμματοσειρών, και ροές εργασίας βασισμένες σε streams, όλα από μία ενιαία εγγενή επιφάνεια API

Το toolkit φορτωμένων εγγράφων προσθέτει διαγραφή εύρους σελίδων, συγχώνευση με επίγνωση περιγραμμάτων και AcroForm, περιορισμό πολλαπλών widget φορμών, επεξεργασία γεωμετρίας, ορατότητας, περιστροφής, περιγράμματος και χρώματος, πλήρη επεξεργασία επισημειώσεων, αυτόματη ενεργοποίηση γυμνών διευθύνσεων ιστού και email, stateless αναζήτηση επόμενης αντιστοίχισης, πλήρη τυποποιημένα στιγμιότυπα περιγραμμάτων, υπογραφή μέσω του αποθετηρίου πιστοποιητικών των Windows, αιτιοκρατική συρραμμένη εκτύπωση με ανίχνευση δυνατοτήτων χαρτιού, στιγμιότυπα Viewer πλήρους σελίδας, οριοθετημένης περιοχής και οριοθετημένα σε pixel, prefetch γειτονικών σελίδων με επίγνωση cache, μόνιμες επισημάνσεις σελίδων, επιλογή marquee με επίγνωση περιστροφής, εκτύπωση της τρέχουσας προβολής, πλοήγηση με πληκτρολόγιο και τροχό, και εξαρτήματα VCL viewer

Οι πρόσφατες εκδόσεις της βιβλιοθήκης επέκτειναν το HotPDF από έναν κλασικό συγγραφέα PDF σε ένα ευρύτερο εγγενές toolkit PDF, που καλύπτει gating χαρακτηριστικών ειδικό ανά έκδοση για PDF 1.3 / 1.4 / 1.5 / 1.6 / 1.7, εγγενή έξοδο PDF 2.0, συμμόρφωση με τα πρότυπα PDF/A-1 / -2 / -3 / -4 + PDF/X-1a / -3 / -4 + PDF/UA-1 / -2, ψηφιακές υπογραφές PAdES baseline / extended / μακροπρόθεσμης εγκυρότητας, ένα pipeline υπογραφής PFX / PKCS#12 in-process με εγγενή RSA και ECDSA, καθώς και προαιρετικά Ed25519 και Ed448 μέσω OpenSSL 3, αυξητικές ενημερώσεις κρυπτογραφημένες με Standard ή δημόσιο κλειδί που διατηρούν τα credentials, με σταθερά μόνιμα IDs, εναλλασσόμενα IDs τροποποίησης, byte-ακριβή αρχικά προθέματα πηγής, και byte-ακριβείς αποθηκεύσεις χωρίς μεταβολή, subsetting γραμματοσειρών CFF / OpenType / CID-keyed CFF, και προσαρμογείς εξαγωγής PDF για FastReport, QuickReport, ReportBuilder, και DevExpress ExpressPrinting που δρομολογούν τις υπάρχουσες αναφορές τους μέσα από το HotPDF ως ενιαίο PDF backend. Ένα Direct File API επεξεργάζεται PDF πολλών gigabyte με εκατομμύρια αντικείμενα απευθείας από αρχείο σε αρχείο - μέτρηση σελίδων, αντιγραφή, επανεγγραφή πληροφοριών εγγράφου, και κρυπτογράφηση ή αποκρυπτογράφηση AES-256 - μέσα σε δευτερόλεπτα, ενώ ο οριοθετημένος loader ανάκτησης μπορεί να εντοπίσει εκ νέου ένα έγκυρο τμήμα xref ή να ανακατασκευάσει offsets απευθείας αντικειμένων μετά από κατεστραμμένα δεδομένα startxref και xref, χωρίς να εμπιστεύεται ένθετο κείμενο τύπου αντικειμένου ή δυαδικά δεδομένα, και δημοσιεύει γεγονότα ανάκτησης με εύρος byte και ρητά επίπεδα εμπιστοσύνης

Ο προαιρετικός writer LinearizeOutput προσθέτει έξοδο fast web view με ενότητα εξαρτήσεων πρώτης σελίδας, ομαδοποίηση κοινόχρηστων αντικειμένων, πίνακες υποδείξεων για την κύρια σελίδα και τα κοινόχρηστα αντικείμενα, και έναν πρώιμο πίνακα cross-reference συμβατότητας, διατηρώντας παράλληλα τους απευθείας προορισμούς αρχείου και stream

Τα φίλτρα φορτωμένων streams εκτελούνται μέσω ενός επαναχρησιμοποιήσιμου pipeline του οποίου το τελικό στάδιο γράφει απευθείας σε streams που ανήκουν στον καλούντα, ενώ τα ενδιάμεσα στάδια διαχέονται μέσω ανεξάρτητα συμπιεσμένων blocks και μιας οριοθετημένης ασύγχρονης ουράς παρτίδων, με αυστηρούς τελικούς δείκτες ASCII85 και ASCIIHex, ανεξάρτητα όρια αποκωδικοποιημένων byte ανά αλυσίδα και ανά έγγραφο, όρια πλήθους φίλτρων και βάθους pipeline, ανίχνευση κύκλων έμμεσων αναφορών, απόρριψη αναδρομής στο ίδιο stream, και δομημένα διαγνωστικά για κάθε επιτυχία ή αποτυχία

Η κωδικοποίηση predictor εκθέτει πλέον αυστηρές, επαναχρησιμοποιήσιμες διαδρομές TIFF και σταθερού ή προσαρμοστικού PNG για συμπαγείς rasters 8-bit και 16-bit· οι φορτωμένες εικόνες μπορούν να αντιγράψουν εγγενή ή γενικά αποκωδικοποιημένα δεδομένα απευθείας σε streams του καλούντος, ενώ η επιλεκτική βελτιστοποίηση χρησιμοποιεί buffers διάχυσης από μνήμη σε δίσκο, μια αιτιοκρατική βασική γραμμή zlib τεσσάρων στρατηγικών ακολουθούμενη από προϋπολογισμένο διαχωρισμό blocks Zopfli, και οριοθετημένες παράλληλες εργασίες εικόνων που δεσμεύουν μόνο μικρότερα δεδομένα με τη σειρά της πηγής

Η επανασυμπίεση φορτωμένων JPEG και JPEG 2000 μπορεί να εκτελέσει οριοθετημένες δοκιμές ποιότητας και να επιλέξει μια αιτιοκρατική έξοδο, βαθμολογώντας από κοινού το δειγματοληπτημένο αντιληπτικό σφάλμα και το σχετικό κόστος σε bytes κωδικοποίησης, με ρητά όρια οπτικού σφάλματος και ελάχιστης εξοικονόμησης

Τα μεγάλα τοπικά έγγραφα χρησιμοποιούν οριοθετημένη windowed αντιστοίχιση μνήμης με κοινόχρηστη LRU cache για αναγνώσεις του parser και αμετάβλητα, lazy εύρη streams, ενώ τα κατώφλια αντιστοίχισης και η γεωμετρία παραθύρου παραμένουν ρυθμιζόμενα και οι αποτυχίες υποχωρούν αυτόματα σε fallback· τα ακατέργαστα συμπιεσμένα εύρη, οι αποκωδικοποιημένες εικόνες, οι μεταγλωττισμένες display lists, και οι αποδοσμένες raster σελίδες έχουν ανεξάρτητα όρια πλήθους εγγραφών, συνολικών bytes, και ανά εγγραφή, συνδυάζουν προσφατότητα με frequency admission σταθερής μνήμης που γερνάει για αντίσταση στη ρύπανση από σάρωση, και εκθέτουν στατιστικά πληρότητας, κίνησης και συχνότητας· ένας δίκαιος, ολόκληρης-διεργασίας scheduler μέγιστης μνήμης καθυστερεί ανταγωνιστικές φορτώσεις εγγράφων, αποδόσεις, βελτιστοποίηση streams, και παράλληλη βελτιστοποίηση εικόνων πριν επικαλυφθούν τα κύρια working sets τους, διατηρώντας παράλληλα την ακύρωση και αναφέροντας την πίεση αποδοχής· η σειριοποίηση μη κρυπτογραφημένων streams και οι μεταφορές που κατευθύνει ο καλών γράφουν bytes μνήμης, mapped-file, lazy-file, adaptive-cache, και range-cache χωρίς ενδιάμεσο πλήρες αντίγραφο του stream· τα βραχύβια tokens και buffers του parser χρησιμοποιούν μια διατηρούμενη block arena μεταξύ φορτώσεων, τα απλά dictionaries και arrays σαρώνουν αμετάβλητα spans με απευθείας αριθμητική μετατροπή και ενιαία διέλευση nesting, ρυθμιζόμενοι προϋπολογισμοί byte, συνολικών tokens, εγγραφών container, και κακόβουλων tokens σταματούν εχθρικά δεδομένα εισόδου με τυποποιημένη τηλεμετρία, τα κλειδιά dictionary δεν απαιτούν πλέον προσωρινά αντικείμενα ονόματος, και τα επαναλαμβανόμενα ονόματα, τελεστές περιεχομένου, και αμετάβλητα σύντομα strings μοιράζονται μια οριοθετημένη δεξαμενή σε επίπεδο εγγράφου· τα τροποποιημένα φορτωμένα streams χρησιμοποιούν το LoadedStreamMemoryThreshold για να επιλέξουν μνήμη ή ένα ιδιόκτητο συμπιεσμένο προσωρινό stream του οποίου τα ακατέργαστα και συμπιεσμένα blocks μοιράζονται μια οριοθετημένη ασύγχρονη ουρά εγγραφής· τα μέλη object-stream ευρετηριάζονται με βάση τον αριθμό αντικειμένου και αναλύονται μόνο όταν αναφέρονται, ενώ το LoadFromRandomAccessSource συνδέει readers εύρους HTTP και προσαρμοσμένη αποθήκευση, συγχωνεύει γειτονικές αναγνώσεις μέσω οριοθετημένης cache, αυξάνει προσαρμοστικά την ασύγχρονη προανάγνωση κατά τη διάρκεια συνεχούς εμπρόσθιας ανάλυσης, καταστέλλει την κερδοσκοπική μεταφορά μετά από τυχαία άλματα, ακυρώνει συνεργατικά εργασίες σε εξέλιξη για αναγνώσεις προσκηνίου, ανακτά κλειδιά κωδικού πρόσβασης από οριοθετημένα εύρη trailer, xref, ID εγγράφου, και dictionary κρυπτογράφησης χωρίς να ζητά ολόκληρη την πηγή, καταγράφει ακριβείς δυαδικές εγγραφές του security handler από το έγκυρο offset αντικειμένου ώστε η καθυστερημένη αποκρυπτογράφηση να μη χρειάζεται εκ νέου ανάγνωση της πηγής, εκθέτει την πρώτη linearized σελίδα από το αυτοτελές πρόθεμά της, και σχεδιάζει οριοθετημένα, ελάχιστα εύρη εκκίνησης, hint, σελίδας, κοινόχρηστου αντικειμένου, και cross-reference για οποιαδήποτε μεταγενέστερη σελίδα, ενώ αποδέχεται νόμιμες σύντομες αναγνώσεις και διατάξεις hint τόσο διαλειτουργικές όσο και Annex F, υπό αυστηρά όρια μνήμης και δομής

Τα mapped τοπικά αρχεία προσαρμόζονται πλέον εντός του ρυθμισμένου ανώτατου ορίου byte: οι συνεχείς εμπρόσθιες αναγνώσεις χρησιμοποιούν μεγαλύτερες προβολές για να μειώσουν την επαναχαρτογράφηση, οι συνεχείς απομακρυσμένες ή προς τα πίσω αναγνώσεις διατηρούν έως και 16 μικρότερες προβολές MRU, οι αλλαγές λειτουργίας απαιτούν επαναλαμβανόμενα στοιχεία, και το THPDFMappedFileStatistics αναφέρει την ενεργή γεωμετρία, τα μέγιστα mapped bytes, τους μετρητές μοτίβων πρόσβασης, και τις μεταβάσεις

Το HotPDFABI.dll εκθέτει ένα εκδοσιοποιημένο, επίπεδο C ABI με δομές callback Win32 και Win64 ελεγμένες ως προς τη διάταξη, επικυρωμένα αδιαφανή handles, σταθερούς κωδικούς κατάστασης, 64-bit τυχαίας πρόσβασης αναγνώσεις απευθείας σε buffers του parser, επαναλήψιμες ροές εγγραφής, ρητά μήκη byte, ακύρωση, πρόοδο, και διαγνωστικά· το build-HotPDF-ABI.cmd παράγει το DLL και τη βιβλιοθήκη εισαγωγής για κάθε πλατφόρμα

Οι λειτουργίες εγγράφων JSON και C ABI μοιράζονται ανακάλυψη δυνατοτήτων, rendering, Unicode κείμενο και φόρμες, επίπεδα OCR, επισκίαση, υπογραφή PFX, και οριοθετημένη αρχειακή μετατροπή raster PDF/A-4 μέσω εκδοσιοποιημένου schema, προϋπολογισμών πόρων, rollback callback, και ατομικής εξόδου αρχείου· τα αιτήματα αρχειοθέτησης δέχονται ρητά την απώλεια πληροφορίας και διατηρούν τη φορτωμένη πηγή τους

Τα εγγενή backends FPC παρέχουν TIFF, JPEG/JPX, ICC, JBIG2, και Zopfli μέσω μιας επικυρωμένης γέφυρας codecs Windows, μαζί με πραγματικό παράλληλο rendering σελίδας, τακτοποιημένων σελίδων, πλακιδίων, ζωνών, και tiles JPEG 2000

Οι αιτιοκρατικοί διαφορικοί probes παλινδρόμησης συγκρίνουν επώνυμες μηχανές στους τομείς ανάλυσης, απόδοσης, κειμένου, και αποθήκευσης, επαναλαμβάνουν κάθε αποτέλεσμα για να εντοπίσουν αστάθεια, απομονώνουν εξαιρέσεις, επιβάλλουν όρια εισόδου και εξόδου, παρέχουν ενσωματωμένα δακτυλικά αποτυπώματα SHA-256 του HotPDF, και εκδίδουν το διατεταγμένο JSON schema hotpdf.differential.v1

Το εγγενές στατιστικό harness παλινδρόμησης απόδοσης απομονώνει φόρτους εργασίας Win32 και Win64 για φόρτωση, αποθήκευση, απόδοση, και εξαγωγή, καταγράφει προθερμάνσεις συν 30 ακατέργαστα δείγματα με p50, p95, διακύμανση δείγματος, RSS, I/O διεργασίας, αιτιοκρατική ταυτότητα fixture, και μεταδεδομένα περιβάλλοντος, και αποτυγχάνει έναντι εκδοσιοποιημένων ορίων JSON

Η συνεχής αποθήκευση corpus κακοδιατυπωμένων PDF επικυρώνει εκ νέου και ελαχιστοποιεί εκ νέου κάθε περίπτωση αποτυχίας υπό ρυθμιζόμενα όρια, διατηρεί τη μικρότερη είσοδο ισοδύναμη ως προς την υπογραφή σε όλες τις εκτελέσεις, σειριοποιεί ανταγωνιστικούς writers με κλείδωμα ασφαλές για τη διεργασία, και δημοσιεύει ατομικά αρχεία PDF με διεύθυνση SHA-256 και μεταδεδομένα hotpdf.corpus.case.v1

Η ενοποιημένη τηλεμετρία λειτουργιών διαχωρίζει την κράτηση scheduler και την καθυστέρηση ουράς, τον χρόνο τοίχου από τον χρόνο CPU του τρέχοντος thread, τη φορητή διατηρούμενη μνήμη του εξαρτήματος από το δειγματοληπτημένο working set της διεργασίας, και την κωδικοποιημένη είσοδο από την τελική αποκωδικοποιημένη έξοδο, αναφέροντας επίσης μέγιστες πρόσθετες ζωντανές δεσμεύσεις, deltas byte I/O διεργασίας, δραστηριότητα cache, συνολική εργασία φίλτρων, και επέκταση αποκωδικοποίησης

Τα οριοθετημένα, αιτιοκρατικά logs replay καταγράφουν σημεία ελέγχου ακύρωσης, διαθεσιμότητα εύρους τυχαίας πρόσβασης, και αποτελέσματα callback τύπου boolean ή integer σε ένα διατεταγμένο JSON schema· το αυστηρό replay επικυρώνει κάθε υπογραφή γεγονότος και αντικαθιστά τις καταγεγραμμένες αποφάσεις, ώστε διακοπτόμενος εξωτερικός χρονισμός και συμπεριφορά callback να μπορούν να αναπαραχθούν χωρίς μεταβολή των λειτουργιών του εγγράφου

Η φόρτωση με επίγνωση αναθεωρήσεων επικυρώνει πλέον τις ελεύθερες λίστες xref και τις μεταβάσεις γενιάς, διατηρώντας παράλληλα οριοθετημένες λεπτομέρειες για διπλότυπους και επισκιασμένους ορισμούς αντικειμένων· οι καταστροφικές αυξητικές επεξεργασίες συγχωνεύουν υπάρχοντα και νεοελευθερωμένα αντικείμενα σε μια πλήρη, αιτιοκρατική ελεύθερη αλυσίδα, προάγουν τις γενιές με κορεσμό, διατηρούν τις γενιές μη αποθηκευμένων αντικειμένων, και εκθέτουν στατιστικά ανακατασκευής· ρητές καταστάσεις αντικειμένων clean, dirty, released, και must-write υποστηρίζουν την απελευθέρωση cache object-stream χαμηλής μνήμης μετά την αποθήκευση, ενώ η αιτιοκρατική σειρά dictionary, τα streaming στιγμιότυπα JSON εκδοσιοποιημένου γραφήματος αντικειμένων και αυξητικές ενημερώσεις, η επεξεργάσιμη διαγνωστική έξοδος QDF με οριοθετημένη επιδιόρθωση μήκους stream και xref, οι οριοθετημένες ακμές εξάρτησης, και η απόδοση διατηρούμενης μνήμης βασισμένη σε dominator κάνουν την δομική επιθεώρηση αναπαραγώγιμη

Τα αναζητήσιμα επίπεδα κειμένου OCR συνδέουν έναν αναγνώστη επιλεγμένο από την εφαρμογή με οριοθετημένη απόδοση σελίδας, επικυρώνουν την εμπιστοσύνη, τη γεωμετρία Unicode και pixel, αντιστρέφουν την περιστροφή σελίδας για ευθυγραμμισμένο αόρατο κείμενο, προαιρετικά συνδέουν την έξοδο με ένα OCG, και δεσμεύουν κάθε επιλεγμένη σελίδα μέσα από μία συναλλαγή γραφήματος· τα σημασμένα επίπεδα OCR του HotPDF μπορούν να αντικατασταθούν με ασφάλεια μετά από αποθήκευση και επαναφόρτωση, οι γειτονικές Λατινικές και κυριλλικές λέξεις λαμβάνουν ρητά κενά Unicode, και το παράδειγμα κονσόλας SearchableOCR παράγει δείγματα σαρώσεων και μετατρέπει επιλεγμένες σελίδες με ενσωματωμένο OCR, RapidOCR, ή μηχανές Tesseract DLL/CLI, ρυθμιζόμενα όρια, και στατιστικά μετατροπής

Η ενσωματωμένη μηχανή OCR αναγνωρίζει κείμενο ASCII regular, bold, italic, και bold italic, συμπεριλαμβανομένου ξεθωριασμένου κειμένου και φωτεινού κειμένου σε predominantly σκούρα σελίδα· λέξεις με αβέβαιες διατηρημένες γλυφές παραλείπονται ως σύνολο για να μη χάνονται σιωπηλά χαρακτήρες

Ο προαιρετικός adapter εγγενών DLL του Tesseract παρέχει ρυθμιζόμενη σελιδοτομή και λειτουργίες μηχανής, πολύγλωσση αναγνώριση Unicode, εμπιστοσύνη, όρια λέξεων, και γραμμές βάσης μέσω του HPDFCreateTesseractDLLOCREngine σε builds Delphi, C++Builder, και FPC/Lazarus για Windows

Ο τοπικός adapter CLI του Tesseract δέχεται επίσης το THPDFTesseractOptions για διατάξεις single-line, single-word, sparse-text, και vertical-block, με ρητή λειτουργία μηχανής, timeout, και όρια pixel εισόδου· ο εγγενής adapter DLL χρησιμοποιεί την κατεύθυνση της γραμμής βάσης για να μην φουσκώνει το μήκος κάθετης λέξης το μέγεθος του αναζητήσιμου κειμένου

Ο adapter τοπικών μοντέλων του RapidOCR προσθέτει ρητές διαδρομές μοντέλων ONNX, προαιρετική ταξινόμηση γωνίας, τοπικά λεξικά και γραμματοσειρές, ελέγχους νημάτων CPU, offline preflight, και οριοθετημένη αναγνώριση Unicode μέσω του THPDFRapidOCROptions σε builds Delphi, C++Builder, και FPC/Lazarus για Windows

Ο adapter εγγενών DLL του RapidOCR κρατά μοντέλα CPU ONNX στη διεργασία και αναγνωρίζει στιγμιότυπα μνήμης μέσω του HPDFCreateRapidOCRDLLOCREngine, με προεπιλογές THPDFRapidOCRDLLOptions.ForLanguage για Απλοποιημένα και Παραδοσιακά Κινεζικά, Αγγλικά, Ιαπωνικά, Κορεάτικα, Ρωσικά, συνηθισμένες Λατινικές γλώσσες, Αραβικά, και Χίντι, επαληθευμένα τοπικά πακέτα μοντέλων, οριζόντια σειρά ανάγνωσης, προαιρετική ταξινόμηση γωνίας, κείμενο Unicode, οριοθετημένη έξοδο, και συνεργατική ακύρωση σε builds Delphi, C++Builder, και FPC/Lazarus για Windows

Οι προαιρετικοί τοπικοί προσαρμογείς Tesseract και RapidOCR παρέχουν ακυρώσιμο κινεζικό OCR με ρητές διαδρομές εκτελέσιμου και μοντέλου· η ενσωματωμένη προεπιλεγμένη μηχανή παραμένει αμετάβλητη, ενώ οι εξωτερικές μηχανές, τα πακέτα Python, τα μοντέλα, και η τοπική προϋπόθεση Arial του RapidOCR πρέπει να προβλεφθούν ξεχωριστά

Το SetLoadedFreeTextPlainText αντικαθιστά ρητά την εμφάνιση μιας υποστηριζόμενης, φορτωμένης επισημείωσης FreeText με αριστερά στοιχισμένο κείμενο Helvetica ASCII για επανεγγραφή ή αυξητική αποθήκευση, ενώ το SetLoadedAnnotationContents αλλάζει μόνο το αποθηκευμένο περιεχόμενό της

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

Η αποκωδικοποίηση barcode σε φορτωμένη σελίδα αποδίδει μια ολόκληρη σελίδα ή μια περιοχή περιορισμένη στο media-box σε προοδευτικά, οριοθετημένα κομμάτια, δανείζει κάθε αρχικό ή περιστραμμένο κατά ένα τέταρτο raster σε έναν αποκωδικοποιητή επιλεγμένο από την εφαρμογή, επικυρώνει Unicode, ακατέργαστα bytes, εμπιστοσύνη, και όρια, αντιστρέφει τις περιστροφές raster και σελίδας στον χώρο χρήστη PDF, και αφαιρεί διπλότυπα επικαλυπτόμενα payloads

Ο εντοπισμός επισκίασης με προτεραιότητα στην επισκόπηση συνδυάζει ενσωματωμένα μοτίβα PII με επίγνωση checksum με ανιχνευτές οντοτήτων και προσώπων επιλεγμένους από την εφαρμογή, απεικονίζει κάθε αποδεκτό span ή ορθογώνιο raster στον χώρο σελίδας PDF, ξεκινά κάθε εύρημα ως εκκρεμές, και δεσμεύει ατομικά μόνο τα ευρήματα που φέρουν τόσο ρητή έγκριση όσο και ταυτότητα ελεγκτή, χωρίς μόνιμη εφαρμογή στο περιεχόμενο

Η επανεγγραφή χρώματος φορτωμένης σελίδας μετατρέπει επιλεγμένη βαφή σε DeviceGray, DeviceRGB, ή DeviceCMYK, διατηρεί το συνηθισμένο κείμενο και μονοπάτια χρώματος συσκευής ως αναζητήσιμα διανύσματα, αποδίδει εικόνες, Forms, μοτίβα, σκιάσεις, διαφάνεια, ICC, και χρώμα Type 3 μέσα από μία lossless διεργασία εικόνας όταν απαιτείται, διατηρεί από προεπιλογή σελίδες με spot χρώματα, και δεσμεύει ατομικά ολόκληρη την οριοθετημένη παρτίδα

Η δομημένη εξαγωγή φορτωμένης σελίδας γράφει επιλεγμένες σελίδες ως UTF-8 HTML, XHTML, XML, ή JSON από ένα ενιαίο προσβάσιμο μοντέλο ανάγνωσης, προτιμώντας την tagged σειρά, και διατηρώντας τη γλώσσα και τον τίτλο του εγγράφου, επικεφαλίδες, λίστες, πίνακες, εικόνες, εναλλακτικά κείμενα, περιγράμματα, ετικέτες σελίδων, ασφαλείς συνδέσμους, επισημειώσεις, και μη ευαίσθητα στοιχεία ελέγχου φορμών, υπό ατομική ακύρωση και προϋπολογισμούς byte

Η τυποποιημένη εξαγωγή πινάκων μετατρέπει την εντοπισμένη γεωμετρία πίνακα σε ένα δημόσιο κανονικό πλέγμα, ενώνει συμβατά τμήματα και γειτονικές σελίδες, επισημαίνει επαναλαμβανόμενες κεφαλίδες και συγχωνευμένα εύρη στηλών, συνάγει τιμές integer, αριθμού, boolean, ημερομηνίας, ημερομηνίας-ώρας, νομίσματος, και ποσοστού ελεγχόμενες από τοπικές ρυθμίσεις με βαθμό εμπιστοσύνης, και γράφει οριοθετημένο CSV ή πλούσιο σε μεταδεδομένα JSON ατομικά

Οι προαιρετικοί χειριστές εγγράφων αναγνωρίζουν XPS, EPUB, και CBZ από το εξεταζόμενο περιεχόμενο, διατηρούν τη σειρά σταθερών σελίδων, spine, ή φυσικής εικόνας, μετατρέπουν συντομευμένες διαδρομές XPS και πινέλα ιδιοτήτων με συμπαγές χρώμα, multi-stop γραμμικές ή ελλειπτικές ακτινικές διαβαθμίσεις σε εγγενή διανύσματα PDF και μοτίβα σκίασης, γεμίζουν μονοπάτια από cached πόρους ImageBrush τύπου JPEG, PNG, TIFF, ή JPEG XR του πακέτου με οριοθετημένη αντιστοίχιση viewbox και viewport, μετασχηματισμούς τοπικούς στο πινέλο, εγγενή επαναλαμβανόμενα ή κατοπτρικά μοτίβα εικόνας, και άλφα soft-mask PNG, εφαρμόζουν τιμές Path.OpacityMask συμπαγούς χρώματος, διαβάθμισης, ή εικόνας μέσω διπλωμένου άλφα ή κοινόχρηστων ομάδων διαφάνειας DeviceGray, συνθέτουν επικαλυπτόμενους απογόνους Canvas μία φορά μέσα από απομονωμένες ομάδες DeviceRGB για το Opacity και το Canvas.OpacityMask, μεταγλωττίζουν inline ή βασισμένα σε πόρους δέντρα XPS VisualBrush σε επαναχρησιμοποιήσιμα Form XObjects και οριοθετημένα μοτίβα tiling, απεικονίζουν οριοθετημένη, μετασχηματισμένη, και δομημένη γεωμετρία Canvas.Clip σε ένθετα εγγενή μονοπάτια αποκοπής PDF, διατηρούν οριοθετημένα clusters Glyphs XPS, ακριβή προγράμματα γραμματοσειρών πακέτου, και IDs γλυφών, ρητά advances, offsets, αφετηρίες RTL, αδιαφάνεια, επαναχρησιμοποίηση πόρων, εξαγωγή Unicode, μετασχηματισμένη πλοήγηση HTTP, HTTPS, mail, σελίδας πακέτου, και LinkTarget μέσα από περικομμένες εγγενείς επισημειώσεις PDF, κληρονομούν πλοήγηση σε επίπεδο Canvas μέσα από θυγατρικά visuals με ένθετες παρακάμψεις, εκδίδουν τοποθετημένες σειρές TJ, επιβάλλουν κοινόχρηστους προϋπολογισμούς αρχείου, πόρων, reflow, σελίδας, συνδέσμου, URI, γεωμετρίας, περιεχομένου ομάδας, pixel, εξόδου, και ακύρωσης, και επαναχρησιμοποιούν μία αμετάβλητη cache PDF για ατομική εξαγωγή και απόδοση

Η απομακρυσμένη υπογραφή CSC συνδέει το υπάρχον pipeline του provider CMS με υπηρεσίες CSC API v2 μέσω μιας μεταφοράς HTTP που ανήκει στην εφαρμογή, με ανανέωση OAuth, ανακάλυψη αλυσίδας credential, χειρισμό SAD με ακριβές hash-pinning, οριοθετημένες, διατεταγμένες παρτίδες πολλαπλής υπογραφής, σύγχρονη ή ασύγχρονη υπογραφή, οριοθετημένο polling, χρονοσφραγίδες RFC 3161, ακύρωση, κλειδιά idempotency με διεύθυνση περιεχομένου SHA-256, και μια πεπερασμένη cache ολοκληρωμένων λειτουργιών

Οι ένθετες συναλλαγές copy-on-write στο γράφημα αντικειμένων δημιουργούν στιγμιότυπο κάθε θιγμένης έμμεσης ρίζας μία φορά ανά savepoint, διατηρούν τις διευθύνσεις ριζών κατά το rollback, επαναφέρουν την κατανομή αριθμών αντικειμένων, αφαιρούν προσαρτημένες ρίζες, διαχέουν το ιστορικό μεγάλων streams πέρα από ένα ρυθμιζόμενο κατώφλι, και εκθέτουν στατιστικά στιγμιοτύπων σε μνήμη και σε αρχείο

Τα επαναχρησιμοποιήσιμα στοιχεία διάταξης υποστηρίζουν μέτρηση χωρίς παρενέργειες, επαληθευμένες κεφαλές διαχωρισμού, και ιδιόκτητες συνέχειες υπερχείλισης για παραγράφους, γραμμές, containers, και προσαρμοσμένο περιεχόμενο· τα δηλωτικά callbacks σελίδας συνθέτουν φόντα, κεφαλίδες, περιεχόμενο εγγράφου, υποσέλιδα, και προσκήνια με σταθερή σειρά, ενώ οι απεριόριστες αναφορές διατηρούν staging σελίδων σε αρχείο, περιορισμούς παραγράφων, οριοθετημένα διαγνωστικά, βοηθητικές συναρτήσεις σημασιολογίας, και έλεγχο κατεύθυνσης bidi

Η απόδοση φορτωμένων σελίδων εκτελεί χρωματιστά και αχρωμάτιστα μοτίβα tiling, καθώς και αξονικές, ακτινικές, ελεύθερης μορφής, και πλεγματικές σκιάσεις Gouraud, Coons patch, και tensor-product patch για γεμίσματα και περιγράμματα, σέβεται τους πίνακες μοτίβων στο προεπιλεγμένο σύστημα συντεταγμένων του γονικού περιεχομένου, υποστηρίζει και τους τρεις τύπους tiling και προσημασμένα βήματα, απομονώνει το μονοπάτι κάθε κελιού, εφαρμόζει αχρωμάτιστες βασικές αποχρώσεις σε λειτουργίες γεμίσματος και περιγράμματος, και οριοθετεί το βάθος αναδρομικών μοτίβων, την εκτέλεση tiles, την αποκωδικοποίηση mesh, και την προσαρμοστική τεμαχιοποίηση για εχθρικούς πόρους

Η αναπαραγωγή production bitmap, direct-DC, Form, και display-list μοιράζεται πλέον έναν κοινό διερμηνέα content-token με ακύρωση ανά τελεστή· οι μεταγλωττισμένες display lists αποθηκεύουν σε cache δείκτες τελεστών για αναπαραγωγή χωρίς σάρωση τελεστών, και εκθέτουν το πλήθος εντολών μέσω των THPDFPageDisplayList.OperatorCount και THPDFDisplayListInfo.OperatorCount, ενώ ο renderer διατηρεί την πλήρη μηχανή κατάστασης γραφικών και πόρων

Οι απομονωμένες ομάδες διαφάνειας και οι ομάδες knockout αποδίδονται μέσω οριοθετημένων πλακιδίων 768 pixel με συνέχεια απόλυτων συντεταγμένων συσκευής, τοπική αποθήκευση άλφα και soft-mask ανά πλακίδιο, αποκωδικοποίηση και tokenisation Form σε ένα πέρασμα, αιτιοκρατική αποκατάσταση κατάστασης ένθετων ομάδων, και στατιστικά μέγιστου working set διαθέσιμα μέσω του GetLastTransparencyGroupTileStats

Το προαιρετικό overprint proofing διατηρεί process plates που δεν κατονομάζει μια βαφή, εφαρμόζει προστασία μηδενικού στοιχείου /OPM 1 για DeviceCMYK, αντιμετωπίζει το DeviceGray ως το process plate του μαύρου, και συνδυάζει τις spot αποχρώσεις Separation και DeviceN μέσω των εναλλακτικών μετασχηματισμών χρώματός τους

Οι επαναλαμβανόμενες γλυφές Type 3 επαναχρησιμοποιούν οριοθετημένες display lists CharProc με κλειδί τη γραμματοσειρά, τη γλυφή, τον γραμμικό πίνακα, και την κατάσταση χρώματος, αποφεύγοντας την επαναλαμβανόμενη αποκωδικοποίηση και tokenisation stream, ενώ διατηρούν τη μετάφραση, την αποκοπή, τους ένθετους πόρους, τους κανόνες χρώματος d0/d1, και τα όρια αναδρομής

Οι προοδευτικές συνεδρίες φορτωμένης σελίδας αποκωδικοποιούν τις κατάλληλες προοδευτικές εικόνες DCTDecode μία σάρωση ανά οριοθετημένη συνέχεια για νωρίτερες, ορατές προεπισκοπήσεις, εκθέτουν μετρητές σαρώσεων και εικόνων μέσω του THPDFLoadedPageRenderSession, και παρέχουν ακυρώσιμες ειδοποιήσεις THPDFProgressiveJPEGScanEvent, διατηρώντας παράλληλα το fallback πλήρους εικόνας για μη υποστηριζόμενη κατάσταση βαφής ή αποτυχίες αποκωδικοποίησης

Οι προοδευτικές συνεδρίες περιοχής δεσμεύουν μόνο το ζητούμενο παράθυρο στον χώρο χρήστη, διατηρούν την κατάσταση γραφικών και κειμένου μεταξύ οριοθετημένων συνεχειών, χρησιμοποιούν συντηρητικά όρια display-list για να αποκλείσουν άσχετα μονοπάτια, κείμενο, εικόνες, Forms, και σκιάσεις, και εκθέτουν μετρητές ορατής και αποκλεισμένης βαφής για τηλεμετρία

Η αποκωδικοποίηση JPEG 2000 επικυρώνει μεμονωμένα πλακίδια codestream, συνδυάζει την ανακατασκευή περιοχής πηγής και ανάλυσης ενδιαφέροντος, και αποκωδικοποιεί ταυτόχρονα ανεξάρτητα, ορατά πλακίδια με ιδιωτική κατάσταση codec, ακύρωση, όρια CPU και εργατών χρήστη, αιτιοκρατική σύνθεση, και αυτόματο fallback προϋπολογισμού μέγιστης μνήμης

Τα hits της cache φορτωμένων εικόνων επιστρέφουν πλέον αμετάβλητα handles αποκωδικοποιημένου bitmap με μέτρηση αναφορών, που επιβιώνουν της εξαίρεσης και της καταστροφής του εγγράφου, υποστηρίζουν ασφαλή απευθείας σχεδίαση για threads, διατηρούν απομονωμένα, τροποποιήσιμα αντίγραφα κατά παραγγελία, και εξαλείφουν τα επαναλαμβανόμενα αντίγραφα pixel από τις θερμές διαδρομές του renderer

Η παράλληλη απόδοση φορτωμένων σελίδων επικαλύπτει πλέον τη μεταγλώττιση display-list με την αναπαραγωγή σε δυναμικά ισορροπημένους εργάτες, μεταγλωττίζει άσχετες σελίδες εκτός του κλειδώματος cache, ξεκινά την έξοδο πριν μεταγλωττιστεί όλο το σύνολο εισόδου, διατηρεί τη σειρά εισόδου, και αναφέρει τηλεμετρία για ταυτοχρονισμό σταδίων, χρήση cache, ολοκλήρωση, και καθυστέρηση μέσω του THPDFParallelRenderPipelineInfo· το RenderLoadedPagesParallelOrdered προσθέτει callbacks στο καλούν thread με μια οριοθετημένη ουρά ολοκληρωμένων bitmap, backpressure διατεταγμένου παραθύρου, συνεργατική ακύρωση callback, και δανεισμένες διάρκειες ζωής bitmap για εργασίες των οποίων η πλήρης raster έξοδος δεν πρέπει να παραμείνει στη μνήμη

Και τα δύο παράλληλα API σελίδων χρησιμοποιούν πλέον τον scheduler μέγιστης μνήμης ολόκληρης της διεργασίας για να μειώσουν τους ζητούμενους εργάτες με βάση συντηρητικές εκτιμήσεις σελίδων, δεσμεύουν κάθε αξιωμένη σελίδα, καθυστερούν την εργασία δίκαια υπό πίεση, και αναφέρουν ταυτοχρονισμό βάσει μνήμης, μέγιστα δεσμευμένα bytes, αποδοχές, καθυστερήσεις, και χρόνο αναμονής· τα διατεταγμένα callbacks διατηρούν τις κρατήσεις εξόδου ενεργές μέχρι την απελευθέρωση του bitmap, ώστε τα raster σε ουρά και οι ενεργοί εργάτες να μοιράζονται έναν προϋπολογισμό

Τα RenderLoadedPageTilesParallel και RenderLoadedPageBandsParallel ρέουν μία σελίδα μέσα από απομονωμένους εργάτες με παράδοση πλακιδίων row-major ή ζωνών από πάνω προς τα κάτω, δανεισμένες διάρκειες ζωής bitmap, συνεργατική ακύρωση, μνήμη σε εξέλιξη ελεγχόμενη από τον καλούντα, και μια οριοθετημένη, αμετάβλητη cache για ακολουθίες tokens γλυφών Type 3 και πλέγματα κατωφλίου halftone

Τα SaveLoadedPageToPng, SaveLoadedPageToPngStream, SaveLoadedPagesToTiffBanded, και SaveLoadedPagesToTiffStreamBanded τροφοδοτούν τον ίδιο renderer ζωνών σε streaming κωδικοποιητές PNG ή TIFF, εκδίδοντας συμπιεσμένες γραμμές χωρίς πλήρες framebuffer, και αναφέροντας τηλεμετρία ζώνης, γραμμής, εργάτη, μνήμης, εξόδου, χρονισμού, και ακύρωσης

Τα εναλλάξιμα backends απόδοσης φορτωμένων σελίδων λαμβάνουν μεταγλωττισμένες display lists και πρόσβαση σε πόρους εγγράφου, διαφημίζουν δυνατότητες ταυτοχρονισμού και διαχείρισης χρώματος, συμμετέχουν σε σύγχρονη και παράλληλη απόδοση, ακυρώνουν παρωχημένες caches raster όταν αντικαθίστανται, και εκθέτουν αιτιοκρατικά στατιστικά αποτυχίας, fallback, και εκτέλεσης· το ενσωματωμένο εγγενές backend GDI διατηρεί την υπάρχουσα έξοδο χωρίς να διεκδικεί επιτάχυνση συσκευής

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

Η επικύρωση γραφήματος τμημάτων JBIG2 ελέγχει πλέον τόσο τα streams εικόνας όσο και τα global streams πριν από την εγγενή ή εξωτερική αποκωδικοποίηση, απορρίπτει κακοδιατυπωμένες εξαρτήσεις και μη έγκυρη ενσωματωμένη οργάνωση εντός ρητών προϋπολογισμών τμημάτων, ακμών, βάθους, και συμβόλων, και εμποδίζει μη έγκυρα κοινόχρηστα dictionaries να εισέλθουν στην cache globals

Η παρτίδα κωδικοποίησης JBIG2 εκπαιδεύει πλέον σύμβολα σε ολόκληρο το σύνολο σελίδων μέσω του εξωτερικού static backend, μοιράζεται ένα κοινό global dictionary σε κάθε XObject εικόνας, συμπτύσσει ακριβώς διπλότυπες σελίδες, υποχωρεί στον εγγενή συσσωρευτή όταν επιτρέπεται, και δημοσιεύει τηλεμετρία backend, μεγέθους, συμβόλων, και προϋπολογισμού

Η απόδοση διανυσμάτων και εικόνων βασισμένη σε ICC εφαρμόζει πλήρη pipelines χρώματος πηγής, δοκιμής, εξόδου, και sRGB με επιλέξιμη πρόθεση απόδοσης και αντιστάθμιση μαύρου σημείου, ενώ μια ασφαλής για threads, οριοθετημένη LRU cache επαναχρησιμοποιεί μετασχηματισμούς μεταξύ στιγμιοτύπων εγγράφου και renderer

Η επανασυμπίεση φορτωμένων εικόνων και η υποδειγματοληψία αποτελεσματικού DPI διατηρούν βαθμονομημένους ορισμούς εξόδου, ενώ η ισοπέδωση διαφάνειας εκδίδει βαθμονομημένο RGB και διατηρεί τις σελίδες Separation ή DeviceN ως διανυσματικό περιεχόμενο αντί να απορρίπτει την ταυτότητα spot χρώματος

Οι φορτωμένες ενέργειες υπολογισμού και επικύρωσης AcroForm μπορούν να χρησιμοποιήσουν ένα οριοθετημένο, τυποποιημένο υποσύνολο εκφράσεων με boolean, αριθμούς, strings, null, undefined, arrays, τελεστές υπό συνθήκη και βραχυκύκλωσης, αιτιοκρατικές ημερομηνίες UTC, και επιτρεπόμενες βοηθητικές συναρτήσεις string, array, μετατροπής, και Math, ενώ μη υποστηριζόμενο ενεργό scripting αποτυγχάνει σε λειτουργία fail-closed χωρίς να ξεκινήσει μηχανή JavaScript

Οι προαιρετικές συνδέσεις QuickJS runtime εκτελούν ευρύτερο, ελεγχόμενο από την εφαρμογή JavaScript, είτε μέσω static αντικειμένων είτε μέσω ενός ABI-ανεξάρτητου bridge DLL σε Win32 και Win64, με ρυθμιζόμενα όρια μνήμης, στοίβας, script, χρόνου, και διακοπής, καθώς και ρητή σημασιολογία κατάστασης και ανάκαμψης

Το XFA form scripting επεκτείνει το οριοθετημένο FormCalc με λογική υπό συνθήκη, επαναλαμβανόμενους αριθμητικούς πίνακες, και επικυρωμένα callbacks στιγμιοτύπων, ενώ ένα ρητά ενεργοποιημένο sandbox QuickJS προσθέτει πλήρη ροή ελέγχου και εγγενή typed arrays χωρίς να εκθέτει αντικείμενα αρχείου, διεργασίας, browser, ή δικτύου· το διαδραστικό dynamic XFA runtime προσθέτει εστίαση ανεξάρτητη από τον host, επεξεργασία Unicode, hit testing, επικύρωση και υπολογισμό με επίγνωση στιγμιοτύπου, ατομική επαναφορά, και οριοθετημένο reflow χωρίς flattening

Το SanitiseLoadedDocument εφαρμόζει πολιτικές μόνο-JavaScript, ενεργού περιεχομένου, ή αυστηρές πολιτικές για μη έμπιστα έγγραφα σε φορτωμένα PDF, αφαιρεί μη προσβάσιμα αντικείμενα payload, συμπτύσσει τους ζωντανούς αριθμούς αντικειμένων, και επανεγγράφει με ασφάλεια επί τόπου μέσω ατομικής αντικατάστασης αρχείου

Τα ευρήματα preflight JSON, HTML, και τύπου veraPDF εκθέτουν σταθερά αναγνωριστικά κανόνων με namespace και δομημένες θέσεις PDF με λογική εμβέλεια, διαδρομή, κλειδί, και ακριβείς συντεταγμένες αντικειμένου, σελίδας, ή byte όταν είναι διαθέσιμες, ενώ η συμβατότητα κειμένου και CSV παραμένει αμετάβλητη

Οι επαναχρησιμοποιήσιμες πολιτικές επικύρωσης συνδυάζουν πλέον δομικό preflight με αυστηρές απαιτήσεις πρόσληψης ή απαιτήσεις WTPDF, εξάγουν κανονικά μεταδεδομένα δήλωσης και claim, εκτελούν διατεταγμένες παρτίδες αρχείων υπό οριοθετημένα όρια εργατών και ουράς, διατηρούν σφάλματα με επίγνωση πηγής, και προσφέρουν λειτουργίες inspect, add-missing, και synchronize για την επιδιόρθωση XMP ανεξάρτητα από τη δομική επιδιόρθωση PDF

Η πρόσληψη Factur-X και ZUGFeRD κάνει πλέον διασταύρωση του τύπου MIME του κύριου συνημμένου τιμολογίου και των ονομάτων FileSpec με τις καταχωρήσεις EmbeddedFiles και Catalog AF, εκθέτει τον αποκωδικοποιημένο τύπο MIME και το URI του namespace XMP, και απορρίπτει ασύμβατους τύπους εγγράφων XMP ή namespaces επέκτασης

Η ενσωματωμένη επικύρωση κανόνων επιχείρησης e-invoice εκτελεί όλους τους ελέγχους Schematron ειδικούς ανά προφίλ, με ελεγμένη συμβατότητα XPath 2, εξωτερικές βάσεις δεδομένων κωδικών, σταθερά αναγνωριστικά κανόνων, ρητά σφάλματα αξιολόγησης, ασφαλή ανάλυση XML, και συνολικές αποφάνσεις σε λειτουργία fail-closed

Η αρχειακή μετατροπή raster PDF/A-4 φορτωμένου εγγράφου ξαναχτίζει το ορατό περιεχόμενο σελίδων ως οριοθετημένες εικόνες sRGB σε ένα νεοεπικυρωμένο έγγραφο PDF/A-4, κανονικοποιώντας γραμματοσειρές, διαφάνεια, και βαμμένα χρώματα μέσω του αυστηρού εγγενή renderer· το file API στήνει και δημοσιεύει ατομικά το αποτέλεσμα, ενώ η αναφορά προσδιορίζει τις αφαιρεθείσες επισημειώσεις, φόρμες, και συνημμένα. Αυτή η opt-in οπτική διαδρομή αρχειοθέτησης απορρίπτει το αρχικό vector κείμενο, το αναζητήσιμο κείμενο, τις υπογραφές, και το διαδραστικό περιεχόμενο

Η έξοδος PDF 2.0 υποστηρίζει πλέον ταυτοποίηση και επικύρωση PDF/A-4, PDF/A-4e, PDF/A-4f, PDF/UA-2, PDF/X-6, PDF/X-6p, και PDF/X-6n, συμπεριλαμβανομένου XMP με επίγνωση αναθεωρήσεων που επιλύεται βάσει URI namespace, συναλλακτικής επιδιόρθωσης PDF/A-4 για ασφαλή κανονικοποίηση header, trailer, μεταδεδομένων, Catalog, και παρουσίασης με ακριβή rollback σε byte και διατηρημένο περιεχόμενο σελίδας, επιλέξιμων συνόλων κανόνων ISO 15930-9:2020 και PDF/X-6 με επιλυμένα errata, πραγματικών ελέγχων header και καναλιού ICC, output intents εγγράφου και σελίδας, πραγματικού χρώματος βαφής και overprint μέσω πινάκων περιεχομένου, ένθετων forms, μοτίβων tiling και shading, εικόνων, μασκών εικόνας, σκιάσεων, γλυφών Type 3, soft masks, και εμφανίσεων επισημειώσεων, κληρονομημένης κατάστασης γραφικών και διαφάνειας, συνδυασμένης σύνθεσης γεμίσματος-και-περιγράμματος, σχέσεων CIDFont και CMap, οριοθετημένης εργασίας αποκωδικοποιημένων byte και content-token, δομικών στοιχείων με επίγνωση namespace, ελέγχων μεταδεδομένων και string εγγράφου, optional content, φυσικής ιδιοκτησίας επισημειώσεων, σημασιολογίας φορμών, προορισμών δομής, περιγραμμάτων, ένθετων ετικετών σελίδων, δημιουργίας συσχετισμένων αρχείων, κληρονομημένων production page boxes, διαγνωστικών με επίγνωση ρήτρας και προέλευση συνόλου κανόνων, αυτόματης επικύρωσης γενιάς σε λειτουργία fail-closed, και συναλλακτικής επιδιόρθωσης PDF/UA-2 για namespaces, attributes, λίστες, πίνακες, Ruby, Warichu, προφορά, εναλλακτικό κείμενο, κληρονομικότητα γλώσσας, σειρά επικεφαλίδων, και ετικέτες Artifact

Οι tagged πίνακες PDF 2.0 λαμβάνουν οριοθετημένη επέκταση πλέγματος, ελέγχους τομής και ομάδας γραμμών, σύνδεση κεφαλίδας τοπική στον πίνακα, και ανίχνευση κύκλων, ενώ οι λίστες λαμβάνουν πλήρεις ελέγχους αρίθμησης και αλυσίδας συνέχειας· ακριβείς ακολουθίες Ruby και Warichu επιβάλλονται, και οι εφαρμογές μπορούν να γράψουν υποδείξεις προφοράς ανά στοιχείο ή διατεταγμένα ενσωματωμένα λεξικά PLS μέσω των SetStructurePronunciation και AddPronunciationLexicon

Ο κύκλος v2.119.32-51 πρόσθεσε shaping Αραβικών / Περσικών / Ουρντού στην πλευρά του παραγωγού (υποχρεωτικό ligature LAM-ALEF, 9 γράμματα Arabic Presentation Forms-A), μια πλήρη μηχανή αντικατάστασης OpenType GSUB που καλύπτει κάθε LookupType 1-8 με επιλογή Script / LangSys και closure του TTF subsetter για τις γλυφές αντικατάστασης, υποστήριξη container XFA (XML Forms Architecture) (AddXFAPacket / ClearXFAPackets / XFAPacketCount), μια οικογένεια triggers πεδίων φόρμας AcroForm /AA /K + /F + /V + /C, καταχώρηση γραμματοσειράς πολλαπλού Unicode /DR μέσω του RegisterAcroFormFont, setters attributes προσβασιμότητας στοιχείων δομής (/Lang / /E / /T) με μια τυποποιημένη απαρίθμηση δομικού τύπου του Πίνακα 333, και μια typed υπερφόρτωση του AddStructureElement, και ιδιότητες ακολουθίας marked-content στο BeginTaggedContent

Ο κύκλος v2.119.52-68 ολοκλήρωσε το αυτόματο pipeline shaping της Φάσης 8 και διεύρυνε την κάλυψη γραφικών συστημάτων: το Αραβικό Extended-A (συμπεριλαμβανομένου του Arabic Supplement U+0750-077F και του Arabic Extended-A U+08A0-08FF) και η Περσική / Ουρντού Form-B επεκτάθηκαν στον πλήρη πίνακα κλάσης σύνδεσης U+0672-06D5 συν 26 νέες αντιστοιχίσεις Forms-A, με post-pass folding για το LAM-ALEF, τα ζεύγη YEH-HAMZA + φωνήεν (8 ligatures στο U+FBEA-FBFB), το αυτόνομο ligature Allah (U+FDF2), και τη φράση Bismillah 22 codepoints (U+FDFD). Η νέα προαιρετική ιδιότητα ShapingFeatures + η απαρίθμηση THPDFShapingFeature (sfArabicGSUB / sfStandardLigatures / sfContextualLigatures / sfContextualAlternates / sfIndicShaping) κάνει τον παραγωγό να εκδίδει αυτόματα αντικαταστάσεις rlig / liga / clig / rclt βασισμένες σε GSUB και ειδικές ανά γραμματοσειρά, με τα Latin Standard Ligatures (ff / fi / fl / ffi / ffl / ſt / st μέσω U+FB00-FB06) και την αναδιάταξη συλλαβών Devanagari Indic (Repha + pre-base I-matra) να ενσωματώνονται στο ίδιο pipeline. Νέες μέθοδοι δυνατότητας shaping για Συριακά (GetSyriacJoiningClass / GetSyriacPosition), Μογγολικά (GetMongolianJoiningClass / GetMongolianPosition), και Devanagari (GetDevanagariCategory / ApplyDevanagariReorder) επιτρέπουν στους καλούντες να οδηγήσουν μη αραβικά πολύπλοκα γραφικά συστήματα μέσα από την ίδια μηχανή GSUB. Το GetCodepointAdvance εκθέτει το cached κλάσμα em /W για υπολογισμούς αναδίπλωσης, και τα AssignSyntheticCodepointForGID / GetSyntheticCodepointForGID επιτρέπουν στον παραγωγό να εκδώσει οποιοδήποτε GID αντικατάστασης GSUB (σχήματα clusters Devanagari, στυλιστικές εναλλακτικές, ακολουθίες παραλλαγής CJK) μέσω codepoints Private-Use-Area με πλήρη ενσωμάτωση /CIDToGIDMap + /ToUnicode + /W. Ο σωρευτικός ToUnicode CMap διαθέτει πλέον 35 εγγραφές αντίστροφης αντιστοίχισης ligature (8 LAM-ALEF + 18 της οικογένειας YEH-HAMZA + 1 Allah + 1 Bismillah + 7 Λατινικά), ώστε η αντιγραφή / επικόλληση στον αναγνώστη-καταναλωτή να παράγει τα αρχικά codepoints. Οι σκελετοί τεκμηρίωσης για το ChangeLog διατίθενται πλέον σε 11 γλώσσες (EN / CN / AR / DE / ES / FR / IT / JA / KO / PT / RU) με UI επιλογής γλώσσας· το όριο διατήρησης του ChangeLog αυξήθηκε από 250 σε 500 ενότητες έκδοσης

Ο κύκλος v2.152-v2.190 έχτισε μια πλήρη μηχανή τοποθέτησης OpenType GPOS και διεύρυνε την κάλυψη πολύπλοκων γραφικών συστημάτων. Οι προαιρετικές επιλογές shaping εφαρμόζουν πλέον το δικό της kerning της γραμματοσειράς (ζεύγους, συμφραζόμενο, και από δεξιά προς τα αριστερά), την τοποθέτηση combining-mark (mark-to-base, mark-to-mark, και mark-to-ligature ανά στοιχείο), τις αγκύρωσεις σύνδεσης cursive, και το κάθετο kerning για κάθετο κείμενο, όλα γραμμένα ως τυπικοί τελεστές κειμένου PDF, ώστε κάθε αναγνώστης να αποδίδει το ίδιο αποτέλεσμα. Το shaping στην πλευρά του παραγωγού καλύπτει πλέον Αραβικά (συμπεριλαμβανομένων των blocks Supplement, Extended-A, και Extended-B), Συριακά, Μογγολικά, N'Ko, Adlam, Hanifi Rohingya, στοίβαξη συμφώνων Θιβετιανής, Devanagari και τα υπόλοιπα Ινδικά γραφικά συστήματα μέσα από την αλυσίδα χαρακτηριστικών Indic της γραμματοσειράς, Ιαβανικά, σειρά σημαδιών Ταϊλανδικών και Λαοτιανών, σειρά φωνηέντων Εβραϊκών, Χμερ, Βιρμανικά, Tai Viet, και Meetei Mayek. Μια οικογένεια προαιρετικών χαρακτηριστικών τυπογραφίας OpenType - τυπικά, discretionary, και ιστορικά ligatures, μικρά κεφαλαία, ψηφία oldstyle / lining / proportional / tabular, εκθέτες, δείκτες, τακτικά αριθμητικά, κλάσματα, επιστημονικοί δείκτες, αριθμητές, παρονομαστές, στυλιστικές και συμφραζόμενες εναλλακτικές, τοπικές μορφές, μορφές με διάκριση πεζών-κεφαλαίων, μηδενικό με κάθετο, και κάθετες εναλλακτικές - μπορεί να εφαρμοστεί αυτόματα κατά την έξοδο κειμένου. Η αντιγραφή, η επικόλληση, και η αναζήτηση κειμένου ανακτούν τους αρχικούς χαρακτήρες σε ολόκληρη τη διαμορφωμένη έξοδο, συμπεριλαμβανομένων ligatures και αλυσιδωτών αντικαταστάσεων χαρακτηριστικών. Η έξοδος γραμματοσειρών έγινε επίσης μικρότερη: τα ενσωματωμένα προγράμματα γραμματοσειράς είναι πάντα συμπιεσμένα με Flate, μια γραμματοσειρά που χρησιμοποιείται σε πολλές σελίδες ενσωματώνεται μία φορά ανά έγγραφο, τα subset tags προέρχονται αιτιοκρατικά για αναπαραγώγιμη έξοδο, και μια προαιρετική compact λειτουργία γράφει απλό κείμενο ASCII με τυπικές γραμματοσειρές ως μη ενσωματωμένο κείμενο WinAnsi

Κάλυψη προτύπων PDF

Το HotPDF περιλαμβάνει υποστήριξη ειδική ανά έκδοση για τα πρακτικά χαρακτηριστικά συγγραφής PDF 1.3, PDF 1.4, PDF 1.5, PDF 1.6, PDF 1.7, και PDF 2.0 που χρησιμοποιούνται από εφαρμογές επιχειρήσεων, απεικόνισης, εκδόσεων, και αυτοματισμού εγγράφων. Τα δημόσια API ελέγχονται έναντι της επιλεγμένης έκδοσης PDF, ώστε τα παραγόμενα αρχεία να αποφεύγουν νεότερες εγγραφές όταν απαιτείται αυστηρή συμβατότητα

Ο τρέχων πίνακας καλύπτει φίλτρα και predictors, streams XRef, αλυσίδες αυξητικής ενημέρωσης, κρυπτογράφηση AES, ασφάλεια δημοσίου κλειδιού, Ed25519, Ed448, επικύρωση ML-DSA με gating επέκτασης, providers υπογραφής callback, απομακρυσμένους, PKCS#11, και με αποθήκευση κλειδιού Windows CNG, χρώμα DeviceCMYK και ICCBased, μοτίβα tiling, σκιάσεις axial, radial, multi-stop, Gouraud, Coons patch, και tensor-product patch, ενσωματωμένες εικόνες, layers, ομάδες διαφάνειας, μεταβάσεις σελίδων, επισημειώσεις, widgets AcroForm, μεταδεδομένα XMP, tagged δέντρα δομής PDF, OutputIntents, production page boxes, ViewerPreferences, UserUnit, σειρά Tabs, και ενσωμάτωση και subsetting γραμματοσειρών για TrueType, Type 3, CFF, OpenType-CFF, και CID-keyed CFF

Αυτή είναι ευρεία κάλυψη με επίγνωση προτύπων για την υποστηριζόμενη επιφάνεια συγγραφής του HotPDF, όχι μια γενική διαβεβαίωση ότι κάθε ακραία περίπτωση του ISO 32000-1 έχει υλοποιηθεί

Γιατί να επιλέξετε το HotPDF

Προσαρμοσμένα Pipelines Φίλτρων Stream

Το μητρώο IHPDFCustomStreamFilter συνθέτει αποκωδικοποιητές push και pull ορισμένους από την εφαρμογή με ενσωματωμένα φίλτρα υπό έναν συνολικό προϋπολογισμό byte, ρητά συμβόλαια seek, συνεργατική ακύρωση, απομονωμένη προσωρινή έξοδο, τυποποιημένες καταστάσεις αποτυχίας, και τηλεμετρία εκτέλεσης

Η αποκωδικοποίηση RunLength επικυρώνει τα κωδικοποιημένα runs πριν δεσμεύσει ακριβώς το μέγεθος της αποκωδικοποιημένης εξόδου, και η προανάγνωση απευθείας αρχείων απορρίπτει ημιτελή refill cache μετά από αποτυχίες I/O

Εγγενής προσαρμογή στο RAD Studio

Χρησιμοποιήστε γνώριμα έργα, πακέτα, streams, φόρμες, και μοτίβα σχεδίασης Delphi και C++Builder, αντί να τυλίγετε μια ξεχωριστή μηχανή PDF

Σύγχρονα χαρακτηριστικά PDF

Δημιουργήστε PDF με φόρμες, επισημειώσεις, layers, διαφάνεια, μεταβάσεις σελίδων, tagged δομή, κρυπτογράφηση, placeholders υπογραφής, και αυξητικές ενημερώσεις

Συμπαγής, γρήγορη έξοδος

Μειώστε το μέγεθος PDF με συμπίεση zlib-ng, απεικόνιση libjpeg-turbo, subsetting TrueType και OpenType-CFF, υποστήριξη CID-keyed CFF, και εσωτερικά instantiated μεταβλητές γραμματοσειρές TrueType και CFF2

Ανταγωνιστικά πλεονεκτήματα

Οι παρακάτω δυνατότητες αποτελούν ισχυρά τεχνικά στοιχεία διαφοροποίησης για το HotPDF έναντι τυπικών εξαρτημάτων PDF για Delphi. Τα περισσότερα ανταγωνιστικά εμπορικά εξαρτήματα είτε στερούνται εντελώς αυτά τα χαρακτηριστικά είτε είναι ουσιωδώς πιο αδύναμα σε παραγωγή. Κάθε γραμμή αντιστοιχεί σε μια επαληθεύσιμη υλοποίηση και μια δημόσια επιφάνεια API μέσα στη βιβλιοθήκη

Πλήρες OpenType Shaping + Τοποθέτηση

Μια πλήρης μηχανή αντικατάστασης GSUB που καλύπτει κάθε LookupType 1-8 (Single, Multiple, Alternate, Ligature, Contextual, Chained Contextual, Extension, Reverse Chained Contextual), σε συνδυασμό με μια μηχανή τοποθέτησης GPOS που καλύπτει και τους 9 LookupTypes (pair / single / συμφραζόμενο kerning, mark-to-base, mark-to-mark, mark-to-ligature ανά στοιχείο ligature, cursive attachment, distance, κάθετο vkrn/vpal). Όλη η τοποθέτηση εκδίδεται με τυπικούς τελεστές κειμένου PDF, ώστε κάθε αναγνώστης να αποδίδει πανομοιότυπα

Shaping πολύπλοκων γραφικών συστημάτων στην πλευρά του παραγωγού

20+ γραφικά συστήματα διαμορφώνονται στην πλευρά του παραγωγού, καθοδηγούμενα από την ίδια αλυσίδα χαρακτηριστικών GSUB της γραμματοσειράς: Αραβικά (συμπ. Supplement / Extended-A / Extended-B), Συριακά, Μογγολικά, N'Ko, Adlam, Hanifi Rohingya, στοίβαξη Θιβετιανής, Devanagari και η οικογένεια Ινδικών, Ιαβανικά, σειρά σημαδιών Ταϊλανδικών / Λαοτιανών, σειρά φωνηέντων Εβραϊκών, Χμερ, Βιρμανικά, Tai Viet, Meetei Mayek. Η έξοδος φέρει πλήρη αντίστροφη αντιστοίχιση /ToUnicode, ώστε η αντιγραφή / επικόλληση να ανακτά τα αρχικά codepoints

Στοίβα υπογραφής in-process

Το ASN.1, RSA, AES, PBES2 PKCS#12 unwrapping με προφίλ AES-128 / AES-192 / AES-256 CBC και HMAC-SHA-1 / SHA-256 / SHA-384 / SHA-512 PBKDF2, το unwrapping παλαιού τύπου PBE-SHA1-3DES PFX, και το CMS SignedData (RFC 5652) διαχειρίζονται όλα εντός του HotPDF. Το SignPDFWithPFX υπογράφει ταυτότητες RSA και ECDSA μέσω εγγενούς κώδικα και χρησιμοποιεί προαιρετικά το libcrypto του OpenSSL 3 για PureEdDSA Ed25519 ή Ed448· τα αρχεία PFX πολλαπλών ταυτοτήτων εκθέτουν αιτιοκρατική επιλογή localKeyId και ενσωματώνουν αυτόματα τη διαθέσιμη αλυσίδα πιστοποιητικών που ταιριάζει, με ακριβή αφαίρεση διπλότυπων DER, οι υπογράφοντες CMS μπορούν να χρησιμοποιήσουν ταυτότητες issuer-and-serial ή συμπαγές SubjectKeyIdentifier X.509, τα containers CMS πολλαπλών υπογραφόντων διατηρούν ανεξάρτητα attributes, αλγορίθμους, πιστοποιητικά, providers, και αποτελέσματα επικύρωσης, η επικύρωση πολιτικής υπογραφής PAdES υποστηρίζει ρητά αναγνωριστικά πολιτικής, δομημένους qualifiers, hashing εγγράφου πολιτικής, και pinning από τον καλούντα, και το preflight προφίλ PAdES αναφέρει κάθε απαίτηση baseline ή extended με ρήτρα, αντικείμενο, και στοιχεία αναθεώρησης, ενώ η επαλήθευση φορτωμένης υπογραφής υποστηρίζει RSA PKCS#1 v1.5, RSA-PSS με επικυρωμένες παραμέτρους, NIST και Brainpool ECDSA, Ed25519, Ed448, και πολιτικές digest SHA-2, SHA3, και SHAKE256, tokens χρονοσφραγίδας RFC 3161, διαδρομές πιστοποιητικών ελεγχόμενες από τον καλούντα, offline επικύρωση OCSP ή CRL, και διαγνωστικά fail-fast, μηχανικά αναγνώσιμα για ασυνεπείς αλγορίθμους digest CMS

PAdES Μακροπρόθεσμης Εγκυρότητας, από άκρη σε άκρη

Οι ροές εργασίας PAdES B-B, B-T, B-LT, και B-LTA καλύπτονται πλήρως, με επαλήθευση χρονοσφραγίδας υπογραφής και εγγράφου SHA-2 ή SHA3 RFC 3161, ανανέωση archive timestamp μόνο-για-προσθήκη με στοιχεία DSS πιστοποιητικού, OCSP, και CRL παρεχόμενα από τον καλούντα, ακριβή αφαίρεση διπλότυπων στοιχείων μεταξύ αναθεωρήσεων, επικύρωση DSS / VRI, trust anchors παρεχόμενα από τον καλούντα, περιορισμούς Seed Value, δηλώσεις επέκτασης ISO 32001, και XAdES-in-PDF

Συμμόρφωση τριών αξόνων + Preflight

Ανεξάρτητο gating προφίλ για PDF/A-1/-2/-3, PDF/X-1a/-3/-4, και PDF/UA-1 ταυτόχρονα - μη συμμορφούμενες κλήσεις εγείρουν διαγνωστικές εξαιρέσεις αντί να γράφουν σιωπηλά μη συμμορφούμενα PDF. Το CreatePreflightReport εκδίδει αναφορές text / JSON / HTML / CSV / XML με σταθερά IDs κανόνων και θέσεις, ενώ το CreatePreflightMRR προσθέτει αιτιοκρατικά, οριοθετημένα plugins χαρακτηριστικών και επικύρωσης για προσαρμοσμένες πολιτικές CI

Multi-Gigabyte Direct File API

Λειτουργεί απευθείας πάνω στο PDF στον δίσκο χωρίς να κατασκευάζει το γράφημα αντικειμένων στη μνήμη. Σε ένα έγγραφο 2 GB με 1,67 εκατομμύρια αντικείμενα: κρυπτογράφηση AES-256 ~14 δευτ., αποκρυπτογράφηση ~16 δευτ., πλήρης επανεγγραφή ~6 δευτ.· η ανάγνωση του αριθμού σελίδων ενός εγγράφου 1,25 GB διαρκεί χιλιοστά του δευτερολέπτου. Κλασικοί πίνακες xref, streams XRef, αρχεία υβριδικής αναφοράς, και έγγραφα με αυξητικές ενημερώσεις παραμένουν όλα στην απευθείας διαδρομή

Οριοθετημένη ανάκτηση κατεστραμμένου PDF

Εντοπίζει εκ νέου άθικτους πίνακες ή streams xref μετά από κατεστραμμένο startxref, και μετά υποχωρεί σε έναν σαρωτή τμημάτων 1 MiB με επίγνωση tokens που ανακατασκευάζει offsets απευθείας αντικειμένων με ρυθμιζόμενους προϋπολογισμούς byte και αντικειμένων, προτεραιότητα στον νεότερο ορισμό, φιλτράρισμα ψευδώς θετικών στο σώμα stream, οριοθετημένα γεγονότα εμπιστοσύνης με εύρος byte, και υποχρεωτική πλήρη επανεγγραφή κατά την αποθήκευση

CFF / OpenType-CFF / CID Subsetting

Οι γραμματοσειρές TrueType, OpenType-CFF, και CID-keyed CFF είναι όλες subsettable διατηρώντας τα IDs γλυφών για κείμενο Type0 / Identity-H. Έγγραφα CJK που παλαιότερα ενσωμάτωναν προγράμματα CID-keyed CFF 14 MB τώρα παραδίδονται στα 500 KB - 2 MB χωρίς να χάνεται καμία αποδοσμένη γλυφή· τα ενσωματωμένα προγράμματα γραμματοσειράς είναι πάντα συμπιεσμένα με Flate, οι γραμματοσειρές πολλών σελίδων ενσωματώνονται μία φορά ανά έγγραφο, και τα subset tags είναι αιτιοκρατικά για αναπαραγώγιμη έξοδο. Οι προαιρετικές συμπαγείς TrueType subsets επαναριθμούν τα glyphs που κρατούνται, οπότε λίγοι CJK χαρακτήρες χρειάζονται μόνο λίγα kilobytes δεδομένων γραμματοσειράς, και ένας μόνο διακόπτης CompressDocument τους συνδυάζει με συμπίεση Flate και object streams για τη μικρότερη δυνατή έξοδο· τα φορτωμένα PDF παίρνουν την ίδια lossless μεταχείριση μέσω του CompressLoadedDocument

Ενοποιημένη πρόσοψη καταγραφής χρόνου εκτέλεσης

Το THPDFLogger + το καθολικό HPDFLog προσφέρουν μια διαγνωστική πρόσοψη με δυνατότητα εναλλαγής κατά τον χρόνο εκτέλεσης: φιλτράρισμα σοβαρότητας Error / Warning / Info / Debug, ταυτόχρονους στόχους αρχείου + OutputDebugString + κονσόλας, ασφάλεια για threads, rollover 10 MB με ένα αντίγραφο ασφαλείας, και μηδενικό overhead στην απενεργοποιημένη γρήγορη διαδρομή. Τα LoadFromFile, οι αναφορές preflight, και η εναλλακτική διαδρομή object-stream διαθέτουν ήδη δομημένα διαγνωστικά που μπορούν να εναλλάσσονται κατά τον χρόνο εκτέλεσης χωρίς επαναμεταγλώττιση - μια λειτουργική δυνατότητα που λείπει εντελώς από τα περισσότερα ανταγωνιστικά εξαρτήματα

Τέσσερις προσαρμογείς μηχανών αναφορών

Έτοιμα backends PDF για το FastReport (TfrxHotPDFExport), το QuickReport (TQRHotPDFExportFilter), το ReportBuilder (TppHotPDFDevice), και το DevExpress ExpressPrinting (καλύπτοντας cxGrid / cxRichEdit / cxScheduler / cxPivotGrid). Οι υπάρχουσες διατάξεις αναφορών συνεχίζουν να λειτουργούν - αλλάζει μόνο ο εκδότης PDF, με εγγενή έξοδο κειμένου / εικόνας / σχήματος / γραμμής / συνδέσμου / barcode του FastReport συμπεριλαμβανομένης περικοπής και πλαισίων εικόνας, καταχώρηση παλέτας σχεδίασης του FastReport, φιλτράρισμα εύρους σελίδων με βάση το ένα, εγγενή έξοδο κειμένου / διανύσματος / εικόνας / συνδέσμου / barcode του ReportBuilder, και προαιρετικές πύλες συμμόρφωσης PDF/A και PDF/X σε όλους τους τέσσερις προσαρμογείς αναφορών

Αυτές είναι παραδομένες δυνατότητες, όχι υποσχέσεις οδικού χάρτη. Κάθε στοιχείο παραπάνω είναι υλοποιημένο στην τρέχουσα βιβλιοθήκη, μεταγλωττίζεται καθαρά, και περνάει τα tests DUnitX καθώς και επικύρωση veraPDF από άκρη σε άκρη. Όταν αξιολογείτε ανταγωνιστικά εξαρτήματα, ζητήστε απόδειξη πλήρους κάλυψης LookupType GSUB/GPOS, μιας αλυσίδας PAdES B-LTA in-process, και μετρημένης απόδοσης κρυπτογράφησης πολλών gigabyte

Βασικές δυνατότητες

  • Χτίστε τον φορητό πυρήνα Linux με εγγενή αντιστοίχιση αρχείων POSIX, ανάλυση αντικειμένων και αποκωδικοποίηση περιεχομένου PDF, κοινόχρηστα δεδομένα γραμματοσειρών sfnt, συμπίεση, κρυπτογραφία, και κλασική σειριοποίηση PDF· η πλήρης ανάπτυξη εξαρτήματος σε Linux βρίσκεται ακόμη υπό ενσωμάτωση
  • Συγκρίνετε διατύπωση συμβολαίων κατά παραγράφους και tokens λέξεων ή προτάσεων, διατηρήστε αμφίπλευρες θέσεις πηγής, ανιχνεύστε αναδιάταξη ρητρών, εξαιρέστε ρητό boilerplate, και δημιουργήστε εξόδους επισκόπησης HTML ή σχολιασμένου PDF
  • Δημιουργήστε αρχεία PDF, προσθέστε σελίδες, σχεδιάστε κείμενο, σχεδιάστε διανυσματικά γραφικά, και αποθηκεύστε σε αρχεία ή σε streams που ανήκουν στον καλούντα
  • Μετατρέψτε και αποδώστε XPS, EPUB και CBZ μέσω προαιρετικών χειριστών βαθμολογημένων ως προς το περιεχόμενο, με οριοθετημένη εργασία αρχειοθήκης και μετατροπής
  • Εισάγετε σελιδοποιημένα μέσα HTML5 με ανεκτικό DOM, καταρράκτη CSS εκτύπωσης, πίνακες, εμφωλευμένα επιχειρηματικά πάνελ flex/grid, γραμμές με αναδίπλωση, spans στηλών, εικόνες και προαιρετικά στοιχεία ελέγχου AcroForm σε παράλληλα κουτιά, πόρους γραμματοσειρών sfnt ελεγχόμενους από callback, και οριοθετημένους προϋπολογισμούς parser, διάταξης, πόρων, και αποκωδικοποιημένων εικόνων
  • Εισάγετε SVG ως επαναχρησιμοποιήσιμα Form XObjects με εγγενή γεωμετρία, CSS, διαβαθμίσεις, μάσκες, κείμενο Base 14, συνδέσμους με επίγνωση τοποθέτησης, και αυστηρούς προϋπολογισμούς parser και πόρων
  • Σελιδοποιήστε περιεχόμενο RichEdit και RTF μέσω της μηχανής μορφοποίησης των Windows, διατηρώντας παράλληλα διανυσματικό κείμενο, γραμματοσειρές, εικόνες, υποστηριζόμενες παρουσιάσεις OLE, και ρητούς προϋπολογισμούς πόρων
  • Αποδώστε εγγενή διανυσματικά διαγράμματα με σειρές γραμμής, ράβδων, περιοχής, πίτας, και διασποράς, αυτόματους ή χειροκίνητους άξονες, θέματα, υπομνήματα, ετικέτες, οριοθετημένα δεδομένα, και προαιρετικές εναλλακτικές Figure PDF/UA
  • Επιθεωρήστε οπτικά διαγνωστικά διάταξης με οριοθετημένη ανίχνευση επικάλυψης, διαδρομές στοιχείων, προαιρετική αντιστοίχιση πηγής, εγγενή διανυσματικά overlays, στατιστικά, και σύγχρονα callbacks προεπισκόπησης
  • Ελέγξτε τη σημασιολογία της συντεταγμένης Y του κειμένου σελίδας με το THPDFPage.TextFromBaseLine, εμπεριέξτε προηγμένους ακατέργαστους τελεστές PDF με το AppendScopedRawContent, και επερωτήστε την έξοδο αναδιπλωμένου text-box με τα TextOutBoxEx / WideTextOutBoxEx
  • Χειριστείτε κείμενο Unicode, κείμενο από δεξιά προς τα αριστερά, κάθετο κείμενο Identity-V, fallback γραμματοσειράς με επίγνωση γραφικού συστήματος, διαγνωστικά μη επιλύσιμων γλυφών, ενσωματωμένες γραμματοσειρές, subsets TrueType, subsets CFF/OpenType-CFF, μετρικές κειμένου, και παραγράφους
  • Εφαρμόστε το OpenType kerning της γραμματοσειράς, την τοποθέτηση combining-mark, τη σύνδεση cursive, το shaping πολύπλοκων γραφικών συστημάτων, και χαρακτηριστικά τυπογραφίας κατά την έξοδο κειμένου μέσω προαιρετικών επιλογών shaping
  • Προσθέστε μεταδεδομένα, επισημειώσεις, popup σχόλια, hyperlinks, συνημμένα, προτιμήσεις viewer, και τις έξι τυπικές διατάξεις σελίδων συμπεριλαμβανομένων διπλών σελίδων εξωφύλλου, συμπεριφορά εκτύπωσης, layers, και μεταβάσεις σελίδων
  • Εισάγετε και γράψτε ροές εργασίας εικόνων προσανατολισμένες σε JPEG, bitmap, TIFF, JPEG2000, JBIG2, WMF, και EMF, με επαναχρησιμοποίηση κωδικοποιημένου XObject εικόνας, βοηθητικές συναρτήσεις μασκών εικόνας, βοηθητικές συναρτήσεις διαφάνειας soft-mask, παρακάμψεις ποιότητας JPEG ανά εικόνα, επιλογές απόδοσης EMF/WMF ανά κλήση, έλεγχο στρωμάτωσης canvas, έλεγχο επανασχεδίασης, αποκοπή πλαισίου, διατήρηση μοτίβων hatch-brush, διαγνωστικά null-pen και null-brush, και προαιρετική αυτόματη επιλογή μονόχρωμης συμπίεσης
  • Αποκωδικοποιήστε πλακίδια codestream JPEG 2000 και περιοχές ανάλυσης ενδιαφέροντος μέσω οριοθετημένων, εγγενών, και απομονωμένων από κατάρρευση διαδρομών, με αυτόματη επιλογή ανάλυσης renderer, και παράλληλη ανακατασκευή πλακιδίων με επίγνωση προϋπολογισμού
  • Κωδικοποιήστε παρτίδες σελίδων JBIG2 με εκπαίδευση συμβόλων μεταξύ σελίδων, ένα κοινό global dictionary, επαναχρησιμοποίηση διπλότυπων σελίδων, οριοθετημένους προϋπολογισμούς εισόδου, εγγενές fallback, και ρητή τηλεμετρία συμπίεσης· αποκωδικοποιήστε refinement και συγκεντρωτικά symbol dictionaries και βελτιωμένα text instances μέσω του εγγενούς Pascal fallback τόσο για αριθμητικά όσο και για τυπικά Huffman streams, με διατηρούμενα contexts, οριοθετημένους πίνακες αναφοράς μακράς μορφής, αλυσιδωτά global dictionaries, και αποκωδικοποίηση ορατού πλακιδίου
  • Αποκωδικοποιήστε φορτωμένα streams εικόνων CCITT Group 3 και Group 4 με μονοδιάστατες και δισδιάστατες γραμμές, ασυμπίεστες επεκτάσεις T.4/T.6, αυστηρή αναγνώριση EOFB, πλήρη διαχείριση DecodeParms, και οριοθετημένο επανασυγχρονισμό κατεστραμμένων γραμμών
  • Φορτώστε υπάρχοντα PDF, αντιγράψτε σελίδες, προσθέστε σελίδες, διαγράψτε σελίδες, συγχωνεύστε έγγραφα, ενημερώστε πληροφορίες, επεξεργαστείτε μεταδεδομένα και εμφάνιση επισημειώσεων, σφραγίστε σελίδες, επιθεωρήστε, συμπληρώστε, ή flatten φόρμες, και μετακωδικοποιήστε φορτωμένα streams με συμπίεση Flate με επίγνωση επιπέδου συμπίεσης ή αποσυμπίεση ασφαλή για predictor
  • Επεξεργαστείτε PDF πολλών gigabyte μέσω του Direct File API: διαβάστε αριθμούς σελίδων, αντιγράψτε, επανεγγράψτε πληροφορίες εγγράφου, και εφαρμόστε ή αφαιρέστε την προστασία AES-256 απευθείας από αρχείο σε αρχείο μέσα σε δευτερόλεπτα, χωρίς να φορτώσετε το γράφημα αντικειμένων του εγγράφου
  • Εφαρμόστε κωδικούς πρόσβασης, AES-128, AES-256, PDF 2.0 AES-256 R6, κρυπτογράφηση δημοσίου κλειδιού, έλεγχο κρυπτογράφησης μεταδεδομένων, σημαίες προστασίας, και έλεγχο δικαιωμάτων
  • Δημιουργήστε πεδία AcroForm, αυτόματα streams εμφάνισης φόρμας, πεδία υπογραφής, placeholders εξωτερικής υπογραφής CMS, και αυξητικές ενημερώσεις πολλαπλών υπογραφών

Πλεονεκτήματα για προγραμματιστές

  • Η ενσωμάτωση προσανατολισμένη στον πηγαίο κώδικα κρατά το debugging και την ανάπτυξη υπό τον δικό σας έλεγχο
  • Τα κοινά παραδείγματα Delphi και C++Builder διευκολύνουν την επαλήθευση της συμπεριφοράς και στις δύο στοίβες γλωσσών
  • Η στατική ενσωμάτωση βιβλιοθηκών C τρίτων κρατά τις εξαρτήσεις συμπίεσης και απεικόνισης αναπαραγώγιμες
  • Στοχευμένα βοηθητικά API καλύπτουν φίλτρα PDF, οριοθετημένη αντιστροφή predictor TIFF και PNG, αυστηρή αποκωδικοποίηση stream LZW, FlateDecode, CCITT, μάσκες εικόνας, barcodes, subsetting γραμματοσειρών, και ροές εργασίας περιεχομένου σελίδας
  • Οι πύλες έκδοσης PDF μπορούν να αναβαθμίσουν αυτόματα την έκδοση εξόδου ή να επιβάλουν αυστηρή συμμόρφωση PDF 1.3/1.4/1.5/1.6/1.7 μέσω του StrictVersionLock
  • Έτοιμα προς χρήση έργα πακέτων Delphi και C++Builder καλύπτουν τις τρέχουσες γενιές RAD Studio, συμπεριλαμβανομένης της 13.1 Florence

Πρόσφατα σημαντικά νέα της βιβλιοθήκης

Lossless επεξεργασία content-stream

Το THPDFContentStreamAST διατηρεί κάθε byte κενού διαστήματος, σχόλιο, οριοθέτη, ορθογραφία τελεστέου, και payload ενσωματωμένης εικόνας, ενώ εκθέτει συνδεδεμένους κόμβους λειτουργίας και container, οριοθετημένη ανάλυση, ταξινομημένα overlays επεξεργασίας, και σειριοποίηση σε μνήμη ή ως stream· οι visitors τελεστών περιεχομένου προσθέτουν οριοθετημένα callbacks επιθεώρησης, μέτρησης, αντικατάστασης, διαγραφής, διακοπής, και απόρριψης με αιτιοκρατικά στιγμιότυπα κατάστασης και επικυρωμένες, ατομικές ενημερώσεις φορτωμένης σελίδας· η σημασιολογική σύγκριση κανονικοποιεί αριθμούς, strings, ενσωματωμένες εικόνες, ενεργούς πίνακες, περιττά setters, και save/restore κατάστασης γραφικών πριν από την ακριβή σύγκριση γεγονότων· η αντικατάσταση κειμένου φορτωμένης σελίδας αλλάζει μόνο τα spans τελεστέων που ταιριάζουν

Multi-Gigabyte Direct File API

Η οικογένεια DAOpenFileReadOnly / DACopyFile / DASetDocumentInfo / DASaveAsFile και οι κλήσεις αρχείου-σε-αρχείο EncryptFile / DecryptFile λειτουργούν απευθείας πάνω στο αρχείο PDF αντί να κατασκευάζουν το γράφημα αντικειμένων στη μνήμη. Σε ένα δοκιμαστικό έγγραφο 2 GB με 1,67 εκατομμύρια αντικείμενα, η κρυπτογράφηση AES-256 διαρκεί περίπου 14 δευτερόλεπτα, η αποκρυπτογράφηση περίπου 16 δευτερόλεπτα, και μια πλήρης επανεγγραφή περίπου 6 δευτερόλεπτα· το άνοιγμα ενός εγγράφου 1,25 GB για τον αριθμό σελίδων του διαρκεί χιλιοστά του δευτερολέπτου. Κλασικοί πίνακες, streams cross-reference, αρχεία υβριδικής αναφοράς, και έγγραφα με αυξητικές ενημερώσεις παραμένουν όλα στην απευθείας διαδρομή

Αναφορές Preflight

Τα CreatePreflightReport και CreatePreflightReportWithProfile ελέγχουν ένα PDF έναντι των υποστηριζόμενων ελέγχων PDF/A, PDF/X, και PDF/UA, και εκδίδουν αναφορές text, JSON, HTML, CSV, ή XML. Το ValidatePDFWithPluginBundle συνδυάζει τις ίδιες ενσωματωμένες πολιτικές με έμπιστα, οριοθετημένα plugins χαρακτηριστικών και κανόνων σε ένα ενιαίο, αιτιοκρατικό XML MRR

Toolkit φορμών φορτωμένου εγγράφου

Η ανταλλαγή αρχείων και streams FDF και η ανταλλαγή πολλαπλών τιμών XFDF διατηρούν ξεχωριστά επιλεγμένα στοιχεία σε πεδία επιλογής πολλαπλής επιλογής, συμπεριλαμβανομένων τιμών επιλογής που περιέχουν αλλαγές γραμμής, και ανακατασκευάζουν τους δείκτες επιλογής κατά την εισαγωγή

Τα HasFormFields και FormFieldExists απαντούν σε ερωτήματα φόρμας για ένα φορτωμένο PDF πριν το αγγίξετε, η δημιουργία φορτωμένου πεδίου απορρίπτει διπλότυπα ριζικά ονόματα πριν καταχωρήσει widgets, οι τιμές πεδίων μπορούν να διαβαστούν και να γραφτούν με δείκτη ή όνομα, και το FlattenFormFields ενσωματώνει τα διαδραστικά πεδία AcroForm στο περιεχόμενο σελίδας και αναφέρει πόσα πεδία flatten-άρισε - παράλληλα με το flattening XFA-σε-AcroForm που κρατά χρησιμοποιήσιμες σε οποιονδήποτε αναγνώστη τις ένθετες, wrapped, σταθερής στήλης, και αυτόματης στήλης φόρμες πίνακα XFA

Υπογραφή PFX / PKCS#12 in-process

Το THotPDF.SignPDFWithPFX(InputPDF, OutputPDF, PFXFile, Password) υπογράφει ένα υπάρχον placeholder PDF σε μία κλήση. Οι ροές εργασίας αρχείου, stream, εξωτερικού υπογράφοντα, και provider επιλέγουν digest SHA-256, SHA-384, SHA-512, SHA3-256, SHA3-384, SHA3-512, ή το απαιτούμενο για Ed448 SHAKE256 512-bit, αντιγράφουν με οριοθετημένα buffers 256 KB, κάνουν seek-patch σε σταθερού πλάτους πεδία /ByteRange και /Contents, και υποστηρίζουν υπογραφή στο ίδιο stream χωρίς να διατηρούν ένα πλήρες δεύτερο PDF στη μνήμη. Η στοίβα ASN.1, AES, και PBES2 PKCS#12 δέχεται ιδιωτικά κλειδιά RSA, ECDSA με named-curve, Ed25519, και Ed448, καθώς και AES-128 / AES-192 / AES-256 CBC με HMAC-SHA-1 / SHA-256 / SHA-384 / SHA-512 PBKDF2· η υπογραφή RSA και ECDSA χρησιμοποιεί εγγενείς διαδρομές, ενώ η υπογραφή Ed25519 και Ed448 χρησιμοποιεί προαιρετικά το libcrypto του OpenSSL 3. Τα HPDFEnumeratePFXIdentities, HPDFParsePFXByLocalKeyID, και THPDFCMSSignOptions.PFXLocalKeyID επιλέγουν αιτιοκρατικά credentials πολλαπλών ταυτοτήτων και μεταφέρουν την αντίστοιχη διαθέσιμη αλυσίδα πιστοποιητικών στο CMS· ασυνεπή αναγνωριστικά υπογράφοντα, container, μήκους κλειδιού, μηχανισμού υπογραφής, ή αλγορίθμου RFC 6211 αποτυγχάνουν πριν από το hashing του εγγράφου ή την εργασία του provider

PAdES Μακροπρόθεσμης Εγκυρότητας

Οι ροές εργασίας PAdES B-B, B-T, B-LT, και B-LTA καλύπτουν τη δημιουργία και κρυπτογραφική επαλήθευση χρονοσφραγίδας SHA-2 ή SHA3 RFC 3161, την ανανέωση archive timestamp μόνο-για-προσθήκη που επεκτείνει το DSS πριν σφραγίσει τη νέα αναθεώρηση, τη μακροπρόθεσμη επικύρωση DSS / VRI με offline στοιχεία πιστοποιητικού, OCSP, και CRL, διαδρομές πιστοποιητικών ελεγχόμενες από τον καλούντα, περιορισμούς Seed Value, και XAdES-in-PDF

Συμμόρφωση PDF/A, PDF/X και PDF/UA

Το HotPDF κάνει gate στις μεθόδους χαρακτηριστικών έναντι των προφίλ PDF/A-1 / -2 / -3 / -4 / -4e / -4f, PDF/X-1a / -3 / -4, και PDF/UA-1 / -2, ενώ η δημιουργία PDF/A-4 εκτελεί έναν οριοθετημένο επικυρωτή γραφήματος αντικειμένων πριν από τη σειριοποίηση. Κλήσεις που θα παραβίαζαν το επιλεγμένο προφίλ εγείρουν διαγνωστικές εξαιρέσεις αντί να παράγουν σιωπηλά μη συμμορφούμενα PDF

Προσαρμογείς μηχανών αναφορών τρίτων

Έτοιμα backends PDF για τις τέσσερις πιο συνηθισμένες μηχανές αναφορών Delphi: το TfrxHotPDFExport (FastReport 4 / FastReport VCL, συμπεριλαμβανομένης εγγενούς εξόδου αντικειμένου για κείμενο, εικόνες, σχήματα, γραμμές, συνδέσμους, και υποστηριζόμενα barcodes, φιλτραρίσματος εύρους σελίδων, ελέγχων ενσωμάτωσης γραμματοσειράς, ασφάλειας κωδικού πρόσβασης, προαιρετικών πυλών PDF/A ή PDF/X, και της μονάδας καταχώρησης χρόνου σχεδίασης frxHotPDFDesign), το TQRHotPDFExportFilter (QuickReport με προαιρετικές πύλες PDF/A ή PDF/X), το TppHotPDFDevice (ReportBuilder, συμπεριλαμβανομένης προαιρετικής εγγενούς εξόδου εντολών σχεδίασης για κείμενο, διανυσματικά primitives, εικόνες, συνδέσμους, υποστηριζόμενα barcodes, και προαιρετικών πυλών PDF/A ή PDF/X), και το dxHotPDFExportReportLinkToFile/Stream (DevExpress ExpressPrinting System, καλύπτοντας cxGrid / cxRichEdit / cxScheduler / cxPivotGrid με προαιρετικές πύλες PDF/A ή PDF/X). Οι υπάρχουσες αναφορές συνεχίζουν να λειτουργούν - αλλάζει μόνο ο εκδότης PDF

Μηχανή τοποθέτησης OpenType GPOS

Προαιρετική τοποθέτηση κειμένου καθοδηγούμενη από τα ίδια δεδομένα GPOS της γραμματοσειράς: pair και συμφραζόμενο kerning για κείμενο από αριστερά προς τα δεξιά και από δεξιά προς τα αριστερά, τοποθέτηση mark-to-base, mark-to-mark, και mark ανά στοιχείο ligature, ευθυγράμμιση εισόδου/εξόδου cursive, distance positioning, και κάθετο kerning για κάθετες γραμματοσειρές. Η τοποθέτηση εκδίδεται με τυπικούς τελεστές κειμένου PDF, ώστε κάθε αναγνώστης PDF να αποδίδει το ίδιο αποτέλεσμα

Κάλυψη shaping πολύπλοκων γραφικών συστημάτων

Το shaping στην πλευρά του παραγωγού αποδίδει σωστά συνδεδεμένο και αναδιαταγμένο κείμενο για Αραβικά (συμπεριλαμβανομένων των blocks Supplement, Extended-A, και Extended-B), Συριακά, Μογγολικά, N'Ko, Adlam, Hanifi Rohingya, Θιβετιανά, Devanagari και τα υπόλοιπα Ινδικά γραφικά συστήματα, Ιαβανικά, Ταϊλανδικά, Λαοτιανά, Εβραϊκά, Χμερ, Βιρμανικά, Tai Viet, και Meetei Mayek, χωρίς να βασίζεται σε shaper στην πλευρά του viewer. Κάθε γραφικό σύστημα είναι ένας προαιρετικός διακόπτης, ώστε η υπάρχουσα έξοδος να παραμένει byte-ίδια μέχρι να ενεργοποιηθεί, και η αντιγραφή/επικόλληση να ανακτά τους αρχικούς χαρακτήρες

Αυτόματα χαρακτηριστικά τυπογραφίας OpenType

Προαιρετικοί διακόπτες shaping εφαρμόζουν αυτόματα κατά την έξοδο κειμένου τα τυπικά, discretionary, και ιστορικά ligatures της γραμματοσειράς, μικρά κεφαλαία, ψηφία oldstyle / lining / proportional / tabular, εκθέτες, δείκτες, τακτικά αριθμητικά, κλάσματα, επιστημονικούς δείκτες, αριθμητές, παρονομαστές, στυλιστικές και συμφραζόμενες εναλλακτικές, τοπικές μορφές, μορφές με διάκριση πεζών-κεφαλαίων, μηδενικό με κάθετο, και κάθετες εναλλακτικές, με την εξαγωγή κειμένου να αντιστοιχίζεται πίσω στους αρχικούς χαρακτήρες

Συμπαγής έξοδος γραμματοσειράς

Τα ενσωματωμένα προγράμματα γραμματοσειράς είναι πάντα συμπιεσμένα με Flate, μια γραμματοσειρά που χρησιμοποιείται σε πολλές σελίδες ενσωματώνεται μία φορά για ολόκληρο το έγγραφο, και τα subset tags προέρχονται αιτιοκρατικά από τις γλυφές που χρησιμοποιούνται πραγματικά, ώστε επαναλαμβανόμενες εκτελέσεις να παράγουν πανομοιότυπη έξοδο. Μια προαιρετική λειτουργία γράφει απλό κείμενο ASCII με τυπικές γραμματοσειρές ως συμπαγές, μη ενσωματωμένο κείμενο WinAnsi, συρρικνώνοντας μια σελίδα απλού κειμένου από εκατοντάδες kilobytes σε λίγα kilobytes

Shaping πολλαπλών γραφικών συστημάτων στην πλευρά του παραγωγού

Το shaping στην πλευρά του παραγωγού διπλώνει τις ακολουθίες εισόδου Unicode στις Presentation Forms τους πριν από την έκδοση κειμένου PDF. Τα Αραβικά καλύπτουν τον πλήρη πίνακα κλάσης σύνδεσης U+0672-06D5 συν 40+ αντιστοιχίσεις Forms-A, με αυτόματο post-pass ligature για LAM-ALEF, YEH-HAMZA + φωνήεντα (U+FBEA-FBFB), Allah (U+FDF2), και Bismillah (U+FDFD). Επιφάνειες δυνατότητας για Συριακά (GetSyriacJoiningClass), Μογγολικά (GetMongolianJoiningClass), και Devanagari (GetDevanagariCategory / ApplyDevanagariReorder) επιτρέπουν στους καλούντες να οδηγήσουν μη αραβικά πολύπλοκα γραφικά συστήματα μέσα από την ίδια μηχανή GSUB

Αυτόματο pipeline shaping (Φάση 8)

Η προαιρετική ιδιότητα ShapingFeatures + η απαρίθμηση THPDFShapingFeature (sfArabicGSUB / sfCursiveAttachment / sfStandardLigatures / sfContextualLigatures / sfContextualAlternates / sfIndicShaping) αναβαθμίζει τις μηχανές OpenType GSUB και GPOS σε ένα αυτόματο pipeline στην πλευρά του παραγωγού. Τα εγγενή Αραβικά init / medi / fina / isol, rlig, calt, rclt, το GPOS cursive attachment, τα Latin liga / clig, και η αναδιάταξη Devanagari Indic συμβαίνουν καθώς εκδίδεται το κείμενο, με πλήρη αντίστροφη αντιστοίχιση /ToUnicode για ορθότητα αντιγραφής / επικόλλησης

Latin Standard Ligatures + συνθετικό codepoint PUA

Τα Latin Standard Ligatures (ff / fi / fl / ffi / ffl / ſt / st μέσω U+FB00-FB06) εκδίδονται αυτόματα μέσω του ApplyLatinLigatureRefinement όταν είναι ενεργοποιημένο το sfStandardLigatures. Για GIDs αντικατάστασης GSUB χωρίς φυσικό codepoint Unicode - σχήματα clusters Devanagari, στυλιστικές εναλλακτικές, ιδεογραφικές ακολουθίες παραλλαγής CJK - το AssignSyntheticCodepointForGID εκχωρεί ένα codepoint Private-Use-Area (U+E000-F8FF) με αντικατοπτριζόμενη ενσωμάτωση /CIDToGIDMap + /W + /ToUnicode

Μηχανή αντικατάστασης OpenType GSUB

Κάθε OpenType GSUB LookupType 1-8 (Single, Multiple, Alternate, Ligature, Contextual, Chained Contextual, Extension, Reverse Chained Contextual) υλοποιείται ως μια επιφάνεια ερωτήματος μόνο-δυνατότητας (GetSingleSubstituteGlyph, ApplyLigatureSubstitution, ApplyContextualSubst, ApplyReverseChainedContextualSubst, και οι βοηθητικές συναρτήσεις Multiple / Alternate / Script / LangSys / Feature). Το MarkUnicodeGlyphUsed τραβάει κάθε γλυφή αντικατάστασης μέσα στον TTF subsetter, ώστε τα ενσωματωμένα subsets γραμματοσειράς να παραμένουν αυτόνομα

Page Actions + XFA Forms + AcroForm Triggers + Unicode /DR

Οι πρόσθετες ενέργειες κύκλου ζωής εγγράφου PDF εκθέτουν τα triggers καταλόγου /AA /WC, /AA /WS, /AA /DS, /AA /WP, και /AA /DP μέσω βοηθητικών συναρτήσεων ορισμού και εκκαθάρισης βασισμένων σε builder, ενώ οι πρόσθετες ενέργειες σε επίπεδο σελίδας εκθέτουν τα triggers ανοίγματος /AA /O και κλεισίματος /AA /C μέσω των THPDFPage και των wrappers THotPDF με ευρετηρίαση σελίδας. Τα πακέτα container XFA PDF 1.7 §12.7.6 / §12.7.8 συνυπάρχουν με (ή αντικαθιστούν) τα στατικά /Fields μέσω του AddXFAPacket. Ολόκληρη η οικογένεια triggers πεδίων φόρμας AcroForm (/AA /K Keystroke, /F Format, /V Validate, /C Calculate) εκτίθεται ως μέθοδοι wrapper, τα triggers ποντικιού, εστίασης, και ορατότητας widget (/E, /X, /D, /U, /Fo, /Bl, /PO, /PC, /PV, /PI) μπορούν πλέον να ορίζονται με όνομα πεδίου, και αντίστοιχες βοηθητικές συναρτήσεις εκκαθάρισης διατηρούν τα dictionaries triggers εύκολα στην αντικατάσταση. Το THPDFActionBuilder καλύπτει ενέργειες κύκλου ζωής εγγράφου, σελίδας, φόρμας, επισημείωσης, layer, πολυμέσων, μετάβασης, προβολής 3D, και ενσωματωμένης πλοήγησης GoToE, ενώ το API φορτωμένου γραφήματος ενεργειών επιθεωρεί με ασφάλεια όλους τους 18 τυπικούς τύπους ενεργειών και τις διατεταγμένες αλυσίδες /Next

Ετικέτες σελίδας + νήματα άρθρων

Το THotPDF.SetPageLabel και οι βοηθητικές συναρτήσεις ειδικές ανά στυλ γράφουν εγγραφές δέντρου αριθμών /PageLabels στον κατάλογο για δεκαδική, ρωμαϊκή, και αλφαβητική αρίθμηση σελίδων, ενώ το RegisterArticleThread μαζί με το THPDFPage.AddArticleBead εκδίδουν dictionaries νημάτων άρθρων και αλυσίδες beads για καθοδηγούμενη πλοήγηση αναγνώστη

Subsetting γραμματοσειράς και PDF CJK

Το THotPDF.EnableFontSubsetting κάνει subset σε γραμματοσειρές TrueType, OpenType-CFF, CID-keyed CFF, και CFF2 διατηρώντας τα IDs γλυφών για κείμενο Type0 / Identity-H. Τα περιγράμματα gvar και τα phantom points του TrueType, τα blends του CFF2, οι αντιστοιχισμένοι άξονες, και οι οριζόντιες, κάθετες, και καθολικές μετρικές ενσωματώνονται σε ένα στατικό sfnt με σωστό checksum πριν από την ενσωμάτωση

Υπογραφές πιστοποίησης και κλειδώματα πεδίων

Τα AddCertificationSignatureField, ConfigureCertificationSignature, και AttachSignatureFieldLock δημιουργούν δομές δικαιωμάτων DocMDP και FieldMDP με σύνδεση Catalog και πολιτικές κλειδώματος πεδίων, ενώ το GetLoadedSignaturePermissions επιθεωρεί κάθε τυπική μέθοδο μετασχηματισμού συμπεριλαμβανομένης της χρήσης UR/UR3 usage rights και των εμβελειών Identity, το AnalyzeLoadedSignatureRevisions ταξινομεί μεταγενέστερες αλλαγές επικύρωσης, φόρμας, υπογραφής, επισημείωσης, ενσωματωμένου αρχείου, και άλλες έναντι των πολιτικών που ανακατασκευάστηκαν από το υπογεγραμμένο στιγμιότυπο, και το SaveIncrementalUpdateAuthenticated πιστοποιεί κάθε ελέγχουσα υπογραφή πριν δημοσιεύσει ατομικά μια επιτρεπόμενη αναθεώρηση

Προηγμένη κάλυψη χαρακτηριστικών PDF

  • Πύλες API ειδικές ανά έκδοση για PDF 1.3 / 1.4 / 1.5 / 1.6 / 1.7 + επιλεγμένο PDF 2.0, για Catalog, ViewerPreferences, επισημειώσεις, JavaScript, γραμματοσειρές Type0, χάρτες ToUnicode, διαφάνεια, layers, και κρυπτογράφηση
  • Πύλες συμμόρφωσης PDF/A-1 / -2 / -3 / -4 / -4e / -4f, PDF/X-1a / -3 / -4, και PDF/UA-1 / -2, μαζί με οριοθετημένη δομική επικύρωση PDF/A-4 που αρνείται κλήσεις χαρακτηριστικών ή έξοδο μη συμμορφούμενη αντί να παραβιάζει σιωπηλά το προφίλ
  • Tagged δέντρα δομής PDF με χάρτες ρόλων, StructParents, έξοδο ParentTree, και στοιχεία δομής για ροές εργασίας προσανατολισμένες στην προσβασιμότητα
  • OutputIntents, προφίλ ICC, page boxes, περιστροφή, UserUnit, σειρά Tabs, μοτίβα tiling, άλφα ExtGState, λειτουργίες ανάμειξης, soft masks φωτεινότητας με διαχείριση χρώματος σε περιεχόμενο ICCBased, Lab, Separation, και DeviceN, εκτελέσιμα halftones Type 1 / 5 / 6 / 10 / 16 με ανεξάρτητα screens ανά στοιχείο χρώματος, συμπαγείς cached πίνακες κατωφλίου, πλήρεις πίνακες transfer-function, cached δειγματοληπτημένες συναρτήσεις με κάθε τυπικό packed βάθος και σειρά παρεμβολής, και αναφορές Function για black-generation / under-color-removal
  • Ενσωματωμένες εικόνες, multi-stop axial διαβαθμίσεις, radial διαβαθμίσεις, πλέγματα τριγώνων Gouraud ελεύθερης μορφής και lattice-form, προσαρμοστικά τεμαχισμένα πλέγματα Coons και tensor-product patch, εικόνες soft-mask για άλφα ανά pixel τύπου PNG, και επαναχρησιμοποιήσιμα γεμίσματα μοτίβων
  • Επώνυμοι προορισμοί, thumbnails σελίδων, στυλιζάρισμα περιγράμματος σε επίπεδο σελίδας (χρώμα, έντονα, πλάγια), μητρώο επώνυμου JavaScript σε επίπεδο εγγράφου, και η πλήρης οικογένεια extras Line / PolyLine / Polygon (λεζάντα, άκρα γραμμής, πρόθεση, εφέ περιγράμματος)
  • Το shaping Αραβικών στην πλευρά του παραγωγού καλύπτει τον πλήρη πίνακα κλάσης σύνδεσης U+0672-06D5 συν 40+ στατικές αντιστοιχίσεις Arabic Presentation Forms-A, με post-pass ligature folding για LAM-ALEF, ζεύγη YEH-HAMZA + φωνήεν (U+FBEA-FBFB), το ligature Allah (U+FDF2), και τη φράση Bismillah (U+FDFD)
  • Επιφάνειες δυνατότητας shaping πολλαπλών γραφικών συστημάτων: Συριακά (GetSyriacJoiningClass / GetSyriacPosition), Μογγολικά (GetMongolianJoiningClass / GetMongolianPosition), Devanagari (GetDevanagariCategory / ApplyDevanagariReorder) - οδηγούν την ίδια μηχανή GSUB για πολύπλοκα μη αραβικά γραφικά συστήματα
  • Αυτόματο pipeline shaping Φάσης 8 καθοδηγούμενο από την προαιρετική ιδιότητα ShapingFeatures: το sfArabicGSUB εφαρμόζει τα εγγενή Αραβικά init / medi / fina / isol συν rlig / calt / rclt για να εκδώσει IDs γλυφών συμφραζόμενα και ειδικά ανά γραμματοσειρά, το sfCursiveAttachment εφαρμόζει άγκυρες GPOS cursive, τα sfStandardLigatures / sfContextualLigatures εκδίδουν Latin liga / clig (FB00-FB06: ff / fi / fl / ffi / ffl / ſt / st), και το sfIndicShaping αναδιατάσσει clusters Devanagari (Repha + pre-base I-matra) πριν από την έκδοση
  • Μηχανή αντικατάστασης OpenType GSUB πλήρης σε χαρακτηριστικά (LookupType 1-8) με επιλογή Script / LangSys, closure του TTF subsetter (MarkUnicodeGlyphUsed), κάλυψη Cmap format 12 SMP, ανάλυση GDEF, αυτόματη έκδοση ToUnicode CMap με 35 εγγραφές αντίστροφης αντιστοίχισης ligature, και μια αναζήτηση GetUnicodeGlyphForCodepoint για καλούντες που οδηγούν την έκδοση γλυφή-προς-γλυφή
  • Η έκδοση συνθετικού codepoint PUA (AssignSyntheticCodepointForGID / GetSyntheticCodepointForGID) επιτρέπει στους παραγωγούς να εκδώσουν οποιοδήποτε GID αντικατάστασης GSUB (σχήματα clusters Devanagari, στυλιστικές εναλλακτικές, ιδεογραφικές ακολουθίες παραλλαγής CJK) μέσω της περιοχής Private Use U+E000-F8FF, με αντικατοπτριζόμενη ενσωμάτωση /CIDToGIDMap + /W. Το GetCodepointAdvance εκθέτει το cached κλάσμα em /W για υπολογισμούς αναδίπλωσης
  • Μηχανή τοποθέτησης OpenType GPOS πίσω από προαιρετικούς διακόπτες shaping: pair, single, και συμφραζόμενο (Context / Chained Context) kerning τόσο για κείμενο από αριστερά προς τα δεξιά όσο και από δεξιά προς τα αριστερά, τοποθέτηση mark-to-base / mark-to-mark / mark-to-ligature με ακρίβεια ανά στοιχείο σε ligatures, cursive entry-exit attachment, distance positioning, και κάθετο kerning vkrn / vpal που εφαρμόζεται στην κάθετη έξοδο κειμένου
  • Shaping πολύπλοκων γραφικών συστημάτων στην πλευρά του παραγωγού για Arabic Supplement / Extended-A / Extended-B, Συριακά, Μογγολικά, N'Ko, Adlam, Hanifi Rohingya, στοίβαξη Θιβετιανής, την οικογένεια Ινδικών γραφικών συστημάτων μέσω της αλυσίδας χαρακτηριστικών Indic της γραμματοσειράς, Ιαβανικά, σειρά σημαδιών Ταϊλανδικών / Λαοτιανών, σειρά φωνηέντων Εβραϊκών, Χμερ, Βιρμανικά, Tai Viet, και Meetei Mayek, κάθε ένα πίσω από τον δικό του προαιρετικό διακόπτη με αντίστροφη αντιστοίχιση ToUnicode για αντιγραφή / επικόλληση
  • Αυτόματα χαρακτηριστικά τυπογραφίας OpenType κατά την έξοδο κειμένου: ligatures liga / clig / dlig / hlig, μικρά κεφαλαία smcp / c2sc, στυλ ψηφίων onum / lnum / pnum / tnum, sups / subs / ordn / frac / sinf / numr / dnom, στυλιστικές εναλλακτικές salt, συμφραζόμενες εναλλακτικές calt / rclt, τοπικές μορφές locl, μορφές case, μηδενικό με κάθετο zero, και κάθετες εναλλακτικές vert / vrt2, με αλυσιδωτές αντικαταστάσεις που επιλύονται πίσω στο αρχικό κείμενο μέσα στο ToUnicode CMap
  • Βελτιστοποίηση ενσωμάτωσης γραμματοσειράς: πάντα συμπιεσμένα ενσωματωμένα προγράμματα γραμματοσειράς, ένα ενσωματωμένο αντίγραφο ανά έγγραφο για γραμματοσειρές που χρησιμοποιούνται σε πολλές σελίδες, αιτιοκρατικά subset tags για αναπαραγώγιμη έξοδο, και μια προαιρετική, μη ενσωματωμένη λειτουργία WinAnsi για απλό κείμενο ASCII με τυπικές γραμματοσειρές
  • Πεδία κειμένου, list boxes, combo boxes, check boxes, radio buttons AcroForm, ενέργειες push-button (συμπεριλαμβανομένων εκτεταμένων Named / Hide / Show / ImportData / SubmitForm με /Flags ελεγχόμενα από τον χρήστη, και προηγμένων αλυσίδων ενεργειών THPDFActionBuilder), πεδία υπογραφής, και παραγόμενα streams εμφάνισης (πολλαπλών γραμμών + comb + rich-text Tx + CID-font /AP)
  • Οικογένεια triggers πεδίων φόρμας AcroForm (/AA /K Keystroke, /F Format, /V Validate, /C Calculate) με μία μέθοδο wrapper ανά trigger JavaScript, έναν οριοθετημένο, τυποποιημένο evaluator για εκφράσεις υπό συνθήκη, string, ημερομηνίας, και array, επώνυμες βοηθητικές συναρτήσεις ορισμού και εκκαθάρισης THPDFActionBuilder, wrappers ονόματος πεδίου για triggers ποντικιού και εστίασης widget (/E, /X, /D, /U, /Fo, /Bl), καταχώρηση γραμματοσειράς πολλαπλού Unicode /DR μέσω του RegisterAcroFormFont, υποστήριξη container XFA (XML Forms Architecture) (PDF 1.7 §12.7.6 / §12.7.8) με AddXFAPacket / ClearXFAPackets / XFAPacketCount, ερωτήματα και επεξεργασίες DOM σε stream XDP και packet-array με ακριβή διατήρηση byte, οριοθετημένη κανονική σειριοποίηση namespace, CDATA, και entity, και πύλες συμμόρφωσης PDF/A + PDF/X, καθώς και flattening XFA-σε-AcroForm (ApplyXFAAsAcroForm για ακατέργαστα bytes XDP, FlattenLoadedXFA για την ενσωματωμένη φόρμα ενός φορτωμένου PDF) που μετατρέπει στατικά XFA σε εγγενή πεδία AcroForm, στυλιζάρισμα, ένθετα layout="tb" με μέτρηση ροής, wrapped layout="lr-tb", πεδία κειμένου γραμμής πίνακα σταθερής στήλης και αυτόματης στήλης, και γραφικά σελίδας, ώστε η φόρμα να παραμένει ορατή και συμπληρώσιμη σε αναγνώστες χωρίς μηχανή XFA
  • Μεταδεδομένα πλοήγησης παραγόμενου εγγράφου: εύρη /PageLabels καταλόγου μέσω των THPDFPageLabelStyle, SetPageLabel, και των βοηθητικών μεθόδων δεκαδικής / ρωμαϊκής / αλφαβητικής αρίθμησης, καθώς και /Threads καταλόγου και beads άρθρων ανά σελίδα μέσω των RegisterArticleThread και THPDFPage.AddArticleBead
  • Πρόσθετες ενέργειες κύκλου ζωής εγγράφου καταλόγου /AA /WC, /AA /WS, /AA /DS, /AA /WP, και /AA /DP μέσω βοηθητικών συναρτήσεων THotPDF, καθώς και πρόσθετες ενέργειες σε επίπεδο σελίδας /AA /O και /AA /C μέσω των THPDFPage.SetPageAdditionalAction και THotPDF.SetPageAdditionalAction, συμπεριλαμβανομένων αλυσίδων /Next και βοηθητικών συναρτήσεων εκκαθάρισης του THPDFActionBuilder
  • Επιφάνεια προσβασιμότητας tagged-PDF PDF/UA-1: ιδιότητες ακολουθίας marked-content §14.8.4 στο BeginTaggedContent (/Lang / /Alt / /ActualText / /E), setters attributes στοιχείων δομής (/Lang / /E / /T), τυπική απαρίθμηση τύπου δομής του Πίνακα 333 (THPDFStandardStructureType) καθώς και μια typed υπερφόρτωση AddStructureElement
  • Υποστήριξη επισημειώσεων για highlights, ελεύθερο κείμενο, συνδέσμους, συνημμένα αρχεία, popups, redaction, υδατογράφημα, rich media, 3D / U3D / PRC, στυλ περιγράμματος, και συνδεδεμένα popups σχολίων
  • Τυπική ασφάλεια κωδικού πρόσβασης, handlers ασφαλείας AES-128 / AES-256, hashing PDF 2.0 R6, κρυπτογράφηση δημοσίου κλειδιού με παραλήπτη πιστοποιητικού μέσω φακέλων PKCS#7 παρεχόμενων από τον καλούντα, ρητή εκκαθάριση αντιγράφων κωδικού πρόσβασης, παράγωγων κλειδιών αρχείου και αντικειμένου, cached προγραμμάτων AES, PKCS#12 plaintext, και streamed plaintext scratch σε κάθε διαδρομή επιτυχίας ή αποτυχίας, και ασφαλή για δυαδικά δεδομένα διαχείριση ονομάτων colorant / γραμματοσειράς εκτός ASCII
  • Ψηφιακές υπογραφές PAdES B-B, B-T, B-LT, και B-LTA με επαλήθευση χρονοσφραγίδας SHA-2 ή SHA3 RFC 3161, ανανέωση LTA μόνο-για-προσθήκη με στοιχεία DSS πιστοποιητικού και ανάκλησης παρεχόμενα από τον καλούντα, αφαίρεση διπλότυπων στοιχείων μεταξύ αναθεωρήσεων, επικύρωση DSS / VRI, trust anchors παρεχόμενα από τον καλούντα, περιορισμούς Seed Value, δηλώσεις ISO 32001, και XAdES-in-PDF
  • Υπογραφή PFX / PKCS#12 in-process: η στοίβα ASN.1, RSA, AES, PBES2 με προφίλ AES-128 / AES-192 / AES-256 CBC και HMAC-SHA-1 / SHA-256 / SHA-384 / SHA-512 PBKDF2 ενσωματωμένη στη βιβλιοθήκη, το παλαιού τύπου PBE-SHA1-3DES PFX, η αιτιοκρατική επιλογή πολλαπλών ταυτοτήτων localKeyId, η διατήρηση της αντίστοιχης διαθέσιμης αλυσίδας πιστοποιητικών, και η στοίβα CMS SignedData υπογράφουν RSA και ECDSA εγγενώς ή Ed25519 και Ed448 μέσω του προαιρετικού libcrypto του OpenSSL 3
  • Έτοιμα backends PDF για FastReport 4 / FastReport VCL, QuickReport, ReportBuilder, και DevExpress ExpressPrinting System, καθώς και έναν εξαγωγέα πίνακα VCL TDBGrid με προαιρετικές πύλες PDF/A και PDF/X

Στοίβα συμπίεσης και απεικόνισης υψηλής απόδοσης

Οι τρέχουσες εκδόσεις (builds) του HotPDF χρησιμοποιούν το zlib-ng σε λειτουργία συμβατή με zlib για το ενσωματωμένο backend Flate. Τα streams σελίδας, τα ενσωματωμένα streams γραμματοσειράς, τα ToUnicode CMaps, τα streams εικόνων Flate, η σχετική με TIFF έξοδος, και οι βοηθητικές συναρτήσεις FlateDecode δρομολογούνται μέσω του επιπέδου zlib του HotPDF

Οι εκδόσεις zlib-ng για Win64x και το διαγνωστικό MSVC Win64 περιλαμβάνουν CPU dispatch κατά τον χρόνο εκτέλεσης για διαδρομές SSE2, SSSE3, SSE4.1, SSE4.2, PCLMULQDQ, και AVX2, διατηρώντας γενικά fallbacks. Το Win32 παραμένει στο γενικό σύνολο αντικειμένων OMF zlib-ng μέσω του bcc32c, ενώ τα αντικείμενα JPEG και TIFF για Win32 συνεχίζουν να χρησιμοποιούν την κλασική διαδρομή OMF bcc32

Οι τυπικές ροές εργασίας JPEG χρησιμοποιούν το ενσωματωμένο σύνολο αντικειμένων libjpeg-turbo 3.1.90 μέσω του API συμβατού με libjpeg που εκθέτει το HPDFJpeg.pas. Οι εγγενείς εκδόσεις (builds) Win32, Win64, και Win64x περιλαμβάνουν πλέον τα σχετικά σύνολα αντικειμένων NASM SIMD, και το ίδιο εγγενές backend JPEG είναι διαθέσιμο στο επίπεδο ενσωμάτωσης TIFF για τη διαχείριση TIFF συμπιεσμένων με JPEG

Η γέφυρα C runtime στο HPDFCLibs.pas επιλύει πλέον τα malloc, free, realloc, calloc, memcpy, memmove, και memset μέσα από ένα ενιαίο επίπεδο προσανατολισμένο στην Pascal, με κατανομή ευθυγραμμισμένη σε 32 byte για εγγενή buffers φιλικά προς SIMD

Το repository περιλαμβάνει αναπαραγώγιμα scripts κατασκευής αντικειμένων: τα Lib\thirdparty\build-bcc32.bat, Lib\thirdparty\build-bcc64x.bat, και Lib\thirdparty\build-vc64.bat για το πλήρες σύνολο εγγενών βιβλιοθηκών C, καθώς και scripts αποκλειστικά για το zlib-ng για στοχευμένες ανακατασκευές συμπίεσης

Γρήγορο παράδειγμα Delphi

program HelloHotPDF;

uses
  System.SysUtils,
  HPDFDoc;

var
  PDF: THotPDF;
begin
  PDF := THotPDF.Create(nil);
  try
    PDF.AutoLaunch := False;
    PDF.FileName := 'HelloHotPDF.pdf';
    PDF.Compression := cmFlateDecode;
    PDF.EnableFontSubsetting := True;
    PDF.BeginDoc;
    PDF.CurrentPage.SetFont('Arial', [], 18);
    PDF.CurrentPage.TextOut(50, 50, 0, 'Hello HotPDF');
    PDF.EndDoc;
  finally
    PDF.Free;
  end;
end.

Περιεχόμενα πακέτου

Τυπικές περιπτώσεις χρήσης