Aperçu du projet
HotPDF est une bibliothèque de composants PDF au niveau source pour Delphi et C++Builder. Elle est conçue pour les logiciels bureautiques qui ont besoin d’une sortie PDF déterministe, d’un dessin de pages direct, d’une forte intégration RAD Studio et d’un déploiement compact
Le composant couvre la génération PDF quotidienne, l’assemblage avancé de documents, l’édition PDF, la sortie riche en images, les formulaires avec garde-fous contre les noms de champs dupliqués, les annotations, les wrappers de champs AcroForm à la création, les chaînes réutilisables de builders d’actions pour les actions d’ouverture, les actions de cycle de vie de document, les actions additionnelles de page, les actions d’annotation, les actions additionnelles d’annotation, les actions additionnelles AcroForm, le chiffrement, les flux de signature, l’optimisation des polices et les flux orientés streams depuis une seule surface d’API native
La boîte à outils de documents chargés ajoute la suppression par plages de pages, la fusion consciente des signets et d’AcroForm, la contrainte de formulaires multi-widgets, l’édition de géométrie, visibilité, rotation, bordure et couleur, l’édition complète d’annotations, l’activation automatique des adresses web et e-mail nues, la recherche sans état du match suivant, les instantanés complets typés de signets, la signature depuis le magasin de certificats Windows, l’impression collationnée déterministe avec découverte des capacités du papier, les instantanés Viewer pleine page, région bornée et bornés en pixels, le préchargement de pages adjacentes conscient du cache, les surlignages de pages persistants, la sélection au lasso consciente de la rotation, l’impression de la vue courante, la navigation clavier et molette, et des composants Viewer VCL
Les versions récentes de la bibliothèque ont élargi HotPDF d’un écrivain PDF classique en une boîte à outils PDF native plus large couvrant le verrouillage de fonctionnalités PDF 1.3 / 1.4 / 1.5 / 1.6 / 1.7 spécifique à la version, la sortie PDF 2.0 native, la conformité aux normes PDF/A-1 / -2 / -3 / -4 + PDF/X-1a / -3 / -4 + PDF/UA-1 / -2, les signatures numériques PAdES baseline / étendue / validation à long terme, un pipeline de signature PFX / PKCS#12 en cours de processus avec RSA et ECDSA natifs plus Ed25519 et Ed448 OpenSSL 3 optionnels, les mises à jour incrémentales Standard et à clé publique chiffrées préservant les identifiants avec IDs permanents stables, IDs de modification tournants, préfixes de source à l’octet exact et enregistrements no-op à l’octet exact, la création de sous-ensembles de polices CFF / OpenType / CID-keyed CFF, et des adaptateurs d’export PDF pour FastReport, QuickReport, ReportBuilder et DevExpress ExpressPrinting qui routent leurs rapports existants via HotPDF comme unique backend PDF. Une API fichier directe traite des PDF multi-gigaoctets à millions d’objets de fichier à fichier - nombres de pages, copies, réécritures d’informations de document, chiffrement ou déchiffrement AES-256 - en quelques secondes, tandis que le chargeur de récupération borné peut relocaliser une section xref valide ou reconstruire les offsets d’objets directs après des données startxref et xref endommagées sans se fier au texte ou aux données binaires ressemblant à des objets imbriqués, et publie des événements de récupération par plages d’octets avec des niveaux de confiance explicites
L’écrivain en opt-in LinearizeOutput ajoute une sortie fast web view avec une section de dépendances de première page, un groupement d’objets partagés, des tables d’indices de page primaire et d’objets partagés, et une table de références croisées de compatibilité précoce tout en conservant les destinations fichier et flux directes
HotPDF est une bibliothèque de composants PDF au niveau source pour Delphi et C++Builder ; elle est conçue pour les logiciels de bureau qui nécessitent une sortie PDF déterministe, un tracé de page direct, une forte intégration de RAD Studio et un déploiement compact
Le composant couvre la génération de PDF quotidienne, l'assemblage de documents avancé, l'édition de PDF, la sortie à forte intensité d'images, les formulaires, les annotations, le chiffrement, les flux de travail de signature, l'optimisation des polices et les flux de travail basés sur les flux à partir d'une seule interface API native
Les récentes versions de la bibliothèque ont étendu HotPDF d'un classique éditeur PDF à un outil PDF natif plus large couvrant le contrôle des fonctionnalités spécifiques aux versions PDF 1.3 / 1.4 / 1.5 / 1.6 / 1.7, le chiffrement PDF 2.0 sélectionné, la conformité aux normes PDF/A-1 / -2 / -3 + PDF/X-1a / -3 / -4 + PDF/UA-1, les signatures numériques de validation à long terme PAdES baseline / extended / long-term-validation, un pipeline de signature PFX / PKCS#12 en cours de processus qui ne dépend pas d'OpenSSL ou de binaires natifs externes, la sauvegarde des mises à jour incrémentielles, le sous-ensemblement de polices CFF / OpenType / CFF à clé CID, et des adaptateurs d'exportation PDF pour FastReport, QuickReport, ReportBuilder et DevExpress ExpressPrinting qui acheminent leurs rapports existants via HotPDF en tant que backend PDF unique ; une API Direct File traite les PDF de plusieurs gigaoctets et de millions d'objets de fichier à fichier — nombre de pages, copies, réécritures d'informations de document, et chiffrement ou déchiffrement AES-256 — en quelques secondes, et le chargeur récupère désormais également les documents enveloppés dans des conteneurs de transport avec des décalages obsolètes et les fichiers mis à jour de manière incrémentielle avec des objets orphelins ou remplacés
Les documents locaux volumineux utilisent un mapping mémoire fenêtré borné avec un cache LRU partagé pour les lectures de l’analyseur et des plages de flux paresseuses immuables, tandis que les seuils de mapping et la géométrie des fenêtres restent configurables et que les échecs retombent automatiquement en arrière ; les plages compressées brutes, images décodées, display lists compilées et pages raster rendues ont des limites indépendantes de nombre d’entrées, d’octets totaux et d’admission par entrée, combinent récence et admission fréquentielle à mémoire fixe vieillissante pour résister à la pollution par scans, et exposent des statistiques d’occupation, de trafic et de fréquence ; un ordonnanceur de pic mémoire équitable à l’échelle du processus retarde les chargements de documents concurrents, rendus, optimisations de flux et optimisations d’images parallèles avant que leurs ensembles de travail principaux ne se chevauchent, tout en préservant l’annulation et en rapportant la pression d’admission ; la sérialisation de flux non chiffrés et les transferts dirigés par l’appelant écrivent des octets mémoire, fichier mappé, fichier paresseux, cache adaptatif et cache de plages sans copie intermédiaire complète du flux ; les tokens et tampons de l’analyseur à courte vie utilisent une arène de blocs retenue à travers les chargements, les dictionnaires et tableaux simples scannent des plages immuables avec conversion numérique directe et imbrication en une passe, des budgets configurables d’octets, de tokens agrégés, d’entrées de conteneurs et de tokens malformés arrêtent les entrées hostiles avec une télémétrie typée, les clés de dictionnaire n’exigent plus d’objets de noms temporaires, et les noms répétés, opérateurs de contenu et chaînes courtes immuables partagent un pool borné à portée document ; les flux chargés modifiés utilisent LoadedStreamMemoryThreshold pour choisir la mémoire ou un flux temporaire compressé possédé dont les blocs bruts et compressés partagent une file d’écriture asynchrone bornée ; les membres des flux d’objets sont indexés par numéro d’objet et analysés seulement lorsqu’ils sont référencés, tandis que LoadFromRandomAccessSource connecte les lecteurs de plages HTTP et le stockage personnalisé, fusionne les lectures adjacentes via un cache borné, agrandit adaptativement la lecture anticipée asynchrone pendant une analyse avant soutenue, supprime le transport spéculatif après des sauts aléatoires, annule coopérativement le travail en vol pour les seeks du premier plan, récupère les clés de mots de passe depuis des plages bornées du trailer, de la xref, de l’ID de document et du dictionnaire de chiffrement sans demander la source complète, capture les entrées binaires exactes du gestionnaire de sécurité depuis l’offset d’objet faisant foi afin que le déchiffrement différé n’exige aucune relecture de la source, expose la première page linéarisée depuis son préfixe autoportant, et planifie des plages minimales bornées d’amorçage, d’indices, de pages, d’objets partagés et de références croisées pour toute page ultérieure tout en acceptant des lectures courtes légales et les dispositions d’indices interopérables et de l’annexe F sous des limites strictes de mémoire et de structure
Les fichiers locaux mappés s’adaptent désormais dans le plafond d’octets configuré : les lectures avant soutenues utilisent des vues plus grandes pour réduire le remapping, les lectures lointaines ou arrière soutenues retiennent jusqu’à 16 vues MRU plus petites, les changements de mode exigent des preuves répétées, et THPDFMappedFileStatistics rapporte la géométrie active, les octets mappés au pic, les comptes de motifs d’accès et les transitions
HotPDFABI.dll expose une ABI C plate versionnée avec des structures de callbacks Win32 et Win64 vérifiées en disposition, des handles opaques validés, des codes de statut fixes, des lectures à accès aléatoire 64 bits directement dans les tampons de l’analyseur, des écritures en flux reprise-possible, des longueurs d’octets explicites, l’annulation, la progression et les diagnostics ; build-HotPDF-ABI.cmd produit la DLL et la bibliothèque d’import pour chaque plateforme
Les opérations documentaires JSON et ABI C partagent la découverte de capacités, le rendu, le texte Unicode et les formulaires, les couches OCR, la caviardure, la signature PFX et la conversion d’archivage raster PDF/A-4 bornée via un schéma versionné, des budgets de ressources, un rollback par callback et une sortie fichier atomique ; les demandes d’archivage acceptent explicitement la perte d’informations et préservent leur source chargée
Les runs de texte enrichi JSON typés Windows et Linux acceptent des hauteurs de ligne normal, numérique, point, pourcentage et em explicites avec métriques calculées bornées, admission de police parente fournie et apparences sauvegardées transactionnelles ; Linux rejette les runs rich sur les champs non textuels et préserve les octets source exacts pour les remplissages rich-seuls inchangés
Le texte enrichi natif et le CSS inline importé préservent la hauteur de ligne explicite, les facteurs hérités, les longueurs calculées et les métriques de police parente entre les lignes coupées, les apparences sauvegardées et les champs en lecture seule ; les records natifs, les jobs de fichiers et callbacks Windows et les imports JSON FDF/XFDF Linux partagent une admission de polices bornée et une planification sûre à l’annulation
Les champs XFA legacy texte, numérique, date et mot de passe créent de vraies apparences de polices Unicode avec styles d’instance effectifs, ressources de polices éditables et adoption sûre à l’annulation ; les apparences de mots de passe comptent les caractères Unicode supplémentaires comme scalaires uniques
Les fonctions de couleur échantillonnées natives prennent en charge l’interpolation cubique multidimensionnelle bornée avec la convention existante à quatre nœuds, le repli linéaire en dimension courte, des échantillons compactés et l’annulation entre l’évaluation de teinte et d’ombrage
Le rendu JPEG 2000 Cairo natif accepte une précision source signée et non signée jusqu’à 26 bits, des profondeurs de composantes mixtes, le sous-échantillonnage et l’opacité, et honore la sémantique de déclaration d’images JPX via les API natives Windows et Linux
Les builds Free Pascal exigent FPC 3.3.1 ou plus récent sur chaque plateforme ; l’acceptation courante consigne le build réel du compilateur, et les résultats existants de compilateurs plus anciens restent des preuves historiques
Les backends natifs FPC fournissent TIFF, JPEG/JPX, ICC, JBIG2 et Zopfli via un pont de codecs Windows validé, ainsi que les rendus parallèles réels de pages, de pages ordonnées, de tuiles, de bandes et de tuiles JPEG 2000
Les sondes de régression différentielle déterministes comparent les moteurs nommés à travers les domaines d’analyse, de rendu, de texte et d’enregistrement, répètent chaque résultat pour détecter l’instabilité, isolent les exceptions, imposent des bornes d’entrée et de sortie, fournissent des empreintes HotPDF SHA-256 intégrées, et émettent le schéma JSON ordonné hotpdf.differential.v1
Le harnais natif de régression de performances statistique isole les workloads Win32 et Win64 de chargement, de sauvegarde, de rendu et d’extraction, enregistre les warmups plus 30 échantillons bruts avec p50, p95, variance d’échantillon, RSS, E/S processus, identité déterministe des fixtures et métadonnées d’environnement, et échoue contre des seuils JSON versionnés
Le stockage du corpus continu de PDF malformés revalide et re-minimise chaque cas d’échec sous des bornes configurables, garde la plus petite entrée équivalente en signature entre les exécutions, sérialise les écrivains concurrents avec un verrou sûr pour les processus, et publie atomiquement des fichiers PDF adressés par SHA-256 et des métadonnées hotpdf.corpus.case.v1
La télémétrie d’opérations unifiée sépare la réservation de l’ordonnanceur et le délai de file, le temps mural du temps CPU du thread courant, la mémoire de composants retenue portable de l’ensemble de travail du processus échantillonné, et l’entrée encodée de la sortie décodée finale, tout en rapportant aussi les allocations vivantes supplémentaires au pic, les deltas d’octets d’E/S du processus, l’activité de cache, le travail agrégé des filtres et l’expansion de décodage
Les journaux de replay déterministe borné capturent les points de contrôle d’annulation, la disponibilité des plages à accès aléatoire et les issues de callbacks booléens ou entiers dans un schéma JSON ordonné ; le replay strict valide chaque signature d’événement et substitue les décisions enregistrées, si bien que le timing externe intermittent et le comportement des callbacks peuvent être reproduits sans changer les opérations documentaires
Le chargement conscient des révisions valide désormais les listes libres xref et les transitions de génération tout en retenant des détails bornés pour les définitions d’objets dupliquées et masquées ; les éditions incrémentales destructrices fusionnent les objets existants et nouvellement libérés en une chaîne libre complète et déterministe, avancent les générations avec saturation, préservent les générations des objets sales, et exposent des statistiques de reconstruction ; les états d’objets explicites propre, sale, libéré et à écrire prennent en charge la libération du cache de flux d’objets après enregistrement à faible mémoire, tandis que l’ordre déterministe des dictionnaires, les instantanés JSON versionnés en flux du graphe d’objets et les mises à jour incrémentales, la sortie diagnostique QDF éditable avec réparation bornée des longueurs de flux et de la xref, les arêtes de dépendances bornées et l’attribution de mémoire retenue par dominateurs rendent l’inspection structurelle reproductible
Les couches de texte OCR interrogeables connectent un moteur de reconnaissance choisi par l’application à un rendu de pages borné, valident confiance, Unicode et géométrie des pixels, inversent la rotation de page pour un texte invisible aligné, lient optionnellement la sortie à un seul OCG, et valident chaque page sélectionnée via une seule transaction de graphe ; les couches OCR HotPDF marquées peuvent être remplacées en toute sécurité après enregistrement et rechargement, les mots latins et cyrilliques adjacents gagnent des espaces Unicode explicites, et l’exemple console SearchableOCR génère des échantillons de scans et convertit les pages sélectionnées avec l’OCR intégré, RapidOCR ou les moteurs Tesseract DLL/CLI, des limites configurables et des statistiques de conversion
Le prétraitement de scan et l’OCR structuré ajoute une orientation de page fondée sur des preuves, un redressement à angle continu, un nettoyage des bords et des ombres, une rectification explicite de perspective, une géométrie raster/page réversible et une sortie texte/DOM sémantique via un moteur OCR choisi par l’application
Le moteur OCR intégré reconnaît du texte ASCII régulier, gras, italique et gras italique, y compris les lettrages délavés et le texte clair sur une page majoritairement sombre ; les mots contenant des glyphes retenus incertains sont omis en entier afin d’éviter de perdre des caractères en silence
L’adaptateur Tesseract DLL natif optionnel fournit une segmentation de page et des modes de moteur configurables, une reconnaissance Unicode multilingue, la confiance, les bornes de mots et les lignes de base via HPDFCreateTesseractDLLOCREngine dans les builds Delphi, C++Builder et FPC/Lazarus Windows
L’adaptateur Tesseract CLI local accepte aussi THPDFTesseractOptions pour les dispositions ligne unique, mot unique, texte épars et bloc vertical, avec mode de moteur, délai d’attente et limites de pixels d’entrée explicites ; l’adaptateur DLL natif utilise la direction de la ligne de base pour éviter que la longueur des mots verticaux ne gonfle la taille du texte consultable
L’adaptateur RapidOCR à modèles locaux ajoute des chemins de modèles ONNX explicites, une classification d’angle optionnelle, des dictionnaires et polices locaux, des contrôles de threads CPU, un preflight hors ligne et une reconnaissance Unicode bornée via THPDFRapidOCROptions dans les builds Delphi, C++Builder et FPC/Lazarus Windows
L’adaptateur RapidOCR DLL natif conserve les modèles ONNX CPU en process et reconnaît des instantanés mémoire via HPDFCreateRapidOCRDLLOCREngine, avec des préréglages THPDFRapidOCRDLLOptions.ForLanguage pour le chinois simplifié et traditionnel, l’anglais, le japonais, le coréen, le russe, les langues latines courantes, l’arabe et l’hindi, des paquets de modèles locaux vérifiés, un ordre de lecture horizontal, une classification d’angle optionnelle, du texte Unicode, une sortie bornée et une annulation coopérative dans les builds Delphi, C++Builder et FPC/Lazarus Windows
Les adaptateurs locaux optionnels Tesseract et RapidOCR fournissent un OCR de chinois annulable avec chemins explicites d’exécutables et de modèles ; les jobs OCR JSON et ABI C exposent les adaptateurs CLI et DLL via des réglages de moteur explicites et une sortie PDF interrogeable bornée ; le moteur par défaut intégré reste inchangé, et les moteurs externes, paquets Python, modèles et le prérequis Arial local de RapidOCR doivent être provisionnés séparément
L’OCR valide l’encodage TSV local et les contrats de tenseurs de détection natifs avant d’utiliser les résultats, comptabilise les mots écartés contre les limites de reconnaissance multi-pages et s’arrête atomiquement quand le budget restant ne peut plus couvrir une autre page éligible
SetLoadedFreeTextPlainText remplace explicitement l’apparence d’une annotation FreeText chargée prise en charge par du texte ASCII Helvetica aligné à gauche pour la réécriture ou l’enregistrement incrémental, tandis que SetLoadedAnnotationContents ne change que ses contenus stockés
SetLoadedFreeTextText reconstruit les apparences FreeText Unicode et enrichies chargées avec polices embarquées, retour à la ligne, alignement, opacité, rotation et gestion atomique du débordement ; SetLoadedFreeTextRichText met désormais à jour l’apparence visible et le contenu stocké
Le décodage de codes-barres de pages chargées rend une page complète ou une région contenue dans le media box en tranches bornées progressives, prête chaque raster original ou tourné d’un quart de tour à un décodeur choisi par l’application, valide Unicode, octets bruts, confiance et bornes, inverse les rotations de raster et de page vers l’espace utilisateur PDF, et déduplique les charges utiles qui se chevauchent
La détection de caviardure avec relecture préalable combine les motifs de PII intégrés conscients des checksums avec des détecteurs d’entités et de visages choisis par l’application, projette chaque plage ou rectangle raster accepté dans l’espace de pages PDF, démarre chaque constatation en attente, et ne met en scène atomiquement que les constatations portant à la fois une approbation explicite et l’identité du relecteur, sans incruster le contenu
La réécriture de couleur de pages chargées convertit les peintures sélectionnées vers DeviceGray, DeviceRGB ou DeviceCMYK, retient le texte et les chemins de couleurs périphériques ordinaires comme vecteurs interrogeables, rend les images, Forms, motifs, shadings, transparence, ICC et couleur Type 3 via une seule image process sans perte lorsque nécessaire, préserve par défaut les pages portant des encres spot, et valide le lot borné complet atomiquement
L’export structuré de pages chargées écrit les pages sélectionnées en HTML, XHTML, XML ou JSON UTF-8 depuis un seul modèle de lecture accessible, en préférant l’ordre balisé et en retenant la langue et le titre du document, titres, listes, tableaux, figures, alternatives, signets, étiquettes de pages, liens sûrs, annotations et contrôles de formulaires non sensibles sous annulation atomique et budgets d’octets
L’extraction typée de tableaux convertit la géométrie détectée des tableaux en une grille canonique publique, joint les fragments compatibles et les pages adjacentes, marque les en-têtes répétés et les plages de colonnes fusionnées, déduit les valeurs entières, numériques, booléennes, de date, date-heure, monétaires et de pourcentages contrôlées par la locale avec confiance, et écrit atomiquement du CSV borné ou du JSON riche en métadonnées
Les gestionnaires de documents optionnels reconnaissent XPS, EPUB et CBZ depuis le contenu inspecté, préservent l’ordre de pages fixes, de spine ou naturel des images, convertissent les chemins XPS abrégés et les pinceaux pleins, linéaires multi-arrêts ou radiaux elliptiques d’éléments de propriété en vecteurs PDF natifs et motifs de shading, remplissent les chemins depuis des ressources ImageBrush de paquets JPEG, PNG, TIFF ou JPEG XR en cache avec mapping borné de viewbox et viewport, transformations locales au pinceau, motifs d’images répétés ou réfléchis natifs et alpha de soft-mask PNG, appliquent les valeurs Path.OpacityMask pleines, de dégradé ou d’image via alpha replié ou groupes DeviceGray partagés, composent les descendants Canvas qui se chevauchent une seule fois via des groupes DeviceRGB isolés pour Opacity et Canvas.OpacityMask, compilent les arbres VisualBrush XPS en ligne ou adossés aux ressources en Form XObjects réutilisables et motifs de tiling bornés, projettent la géométrie Canvas.Clip bornée transformée et structurée vers des chemins de rognage PDF natifs imbriqués, préservent les amas Glyphs XPS bornés, les programmes de polices exacts du paquet et les IDs de glyphes, les avances explicites, offsets, origines RTL, opacité, réutilisation de ressources, extraction Unicode et la navigation transformée HTTP, HTTPS, mail, page de paquet et LinkTarget via des annotations PDF natives rognées, héritent la navigation à portée Canvas à travers les visuels descendants avec dérogations imbriquées, émettent des séquences TJ positionnées, imposent les budgets partagés d’archives, de ressources, de reflow, de pages, de liens, d’URI, de géométrie, de contenu de groupes, de pixels, de sortie et d’annulation, et réutilisent un seul cache PDF immuable pour l’export et le rendu atomiques
La signature distante CSC connecte le pipeline de fournisseurs CMS existant aux services CSC API v2 via un transport HTTP possédé par l’application, avec rafraîchissement OAuth, découverte de chaîne d’identifiants, gestion de SAD épinglés par hash exacte, lots multisign ordonnés bornés, signature synchrone ou asynchrone, scrutation bornée, horodatages RFC 3161, annulation, clés d’idempotence SHA-256 adressées par contenu et un cache fini d’opérations achevées
Les transactions de graphe d’objets copy-on-write imbriquées font un instantané de chaque racine indirecte touchée une fois par point de sauvegarde, préservent les adresses des racines pendant l’annulation, restaurent l’allocation des numéros d’objets, retirent les racines ajoutées, débordent l’historique des grands flux au-delà d’un seuil configurable, et exposent des statistiques d’instantanés résidents et adossés aux fichiers
Les éléments de mise en page réutilisables prennent en charge une mesure sans effets de bord, des têtes de scission vérifiées et des continuations de débordement possédées pour les paragraphes, lignes, conteneurs et contenus personnalisés ; les callbacks de pages déclaratifs composent arrière-plans, en-têtes, contenu du document, pieds de page et premiers plans dans un ordre stable, tandis que les rapports non bornés retiennent la mise en scène de pages adossée aux fichiers, les contraintes de paragraphes, les diagnostics bornés, les helpers sémantiques et le contrôle de direction bidi
Le rendu de pages chargées exécute les motifs de tiling colorés et non colorés plus les shadings axiaux, radiaux, Gouraud à forme libre et en lattice, Coons patch et tensor-product patch pour remplissages et traits, honore les matrices de motifs dans le système de coordonnées par défaut du contenu parent, prend en charge les trois types de tiling et les pas signés, isole chaque chemin de cellule, applique les tints de base non colorés aux opérations de remplissage et de trait, et borne la profondeur de récursion des motifs, l’exécution de tuiles, le décodage des maillages et la tessellation adaptative face aux ressources hostiles
Le replay de bitmaps de production, de contexte de périphérique direct, de Forms et de display lists partage désormais un seul interpréteur de tokens de contenu avec annulation par opérateur ; les display lists compilées mettent en cache les index d’opérateurs pour un replay sans scan d’opérandes et exposent le nombre de commandes via THPDFPageDisplayList.OperatorCount et THPDFDisplayListInfo.OperatorCount, tandis que le renderer retient sa machine à états complète de graphique et de ressources
Les groupes de transparence isolés et knockout se rendent via des tuiles bornées de 768 pixels avec continuité absolue en coordonnées périphérique, stockage d’alpha et de soft-mask local aux tuiles, décodage et tokenisation de Forms en une passe, restauration déterministe de l’état des groupes imbriqués, et statistiques d’ensemble de travail au pic disponibles via GetLastTransparencyGroupTileStats
Les épreuves de surimpression en opt-in préservent les plaques process qu’une peinture ne nomme pas, appliquent la protection à composante nulle /OPM 1 pour DeviceCMYK, traitent DeviceGray comme la plaque process du noir, et combinent les tints spot Separation et DeviceN via leurs transformations de couleurs alternatives
Les glyphes Type 3 répétés réutilisent des display lists CharProc bornées indexées par police, glyphe, matrice linéaire et état de couleur, évitant les décodages et tokenisations répétés de flux tout en préservant la translation, le rognage, les ressources imbriquées, les règles de couleur d0/d1 et les limites de récursion
Les sessions de pages chargées progressives décodent les images DCTDecode progressives éligibles un scan par continuation bornée pour des aperçus visibles plus précoces, exposent les compteurs de scans et d’images via THPDFLoadedPageRenderSession, et fournissent des notifications annulables THPDFProgressiveJPEGScanEvent tout en retenant le repli d’image complète pour un état de peinture non pris en charge ou des échecs de décodage
Les sessions de régions progressives n’allouent que la fenêtre d’espace utilisateur demandée, retiennent l’état graphique et de texte à travers les continuations bornées, utilisent des bornes conservatrices de display lists pour éliminer les chemins, textes, images, Forms et shadings sans rapport, et exposent les comptes de peintures visibles et éliminées pour la télémétrie
Le décodage JPEG 2000 valide les tuiles individuelles des codestreams, combine la reconstruction de régions sources et d’intérêt à résolution, et décode concurremment les tuiles visibles indépendantes avec état de codec privé, annulation, limites de workers CPU et utilisateur, composition déterministe et repli automatique au budget de pic mémoire
Les hits du cache d’images chargées renvoient désormais des handles immuables de bitmaps décodés à comptage de références qui survivent à l’éviction et à la destruction du document, prennent en charge le dessin direct thread-safe, préservent des copies mutables isolées à la demande, et éliminent les copies répétées de pixels des chemins chauds du renderer
Le rendu parallèle de pages chargées chevauche désormais la compilation de display lists et le replay à travers des workers équilibrés dynamiquement, compile les pages sans rapport hors du verrou du cache, démarre la sortie avant que l’ensemble d’entrée complet ne soit compilé, préserve l’ordre d’entrée, et rapporte la concurrence des étapes, l’usage du cache, la complétion et la latence via THPDFParallelRenderPipelineInfo ; RenderLoadedPagesParallelOrdered ajoute des callbacks sur le thread appelant avec une file bornée de bitmaps achevés, une contre-pression de fenêtre ordonnée, une annulation coopérative des callbacks et des durées de vie de bitmaps empruntés pour les travaux dont la sortie raster complète ne doit pas rester résidente
Les deux API de pages parallèles utilisent désormais l’ordonnanceur de pic mémoire à l’échelle du processus pour réduire les workers demandés depuis des estimations conservatrices de pages, réservent chaque page revendiquée, retardent le travail équitablement sous pression, et rapportent la concurrence dérivée de la mémoire, les octets réservés au pic, les admissions, les retards et le temps d’attente ; les callbacks ordonnés gardent les réservations de sortie actives jusqu’à la libération des bitmaps afin que les rasters en file et les workers actifs partagent un budget unique
RenderLoadedPageTilesParallel et RenderLoadedPageBandsParallel mettent en flux une page à travers des workers isolés avec livraison de tuiles ligne-major ou de bandes de haut en bas, durées de vie de bitmaps empruntés, annulation coopérative, mémoire en vol contrôlée par l’appelant, et un cache immuable borné pour les séquences de tokens de glyphes Type 3 et les écrans de seuillage de halftone
SaveLoadedPageToPng, SaveLoadedPageToPngStream, SaveLoadedPagesToTiffBanded et SaveLoadedPagesToTiffStreamBanded alimentent le même renderer de bandes vers des encodeurs PNG ou TIFF en flux, émettant des lignes compressées sans framebuffer complet et rapportant la télémétrie de bandes, de lignes, de workers, de mémoire, de sortie, de timing et d’annulation
Les backends de rendu de pages chargées enfichables reçoivent des display lists compilées et un accès aux ressources du document, annoncent leurs capacités de concurrence et de gestion des couleurs, participent au rendu synchrone et parallèle, invalident les caches raster périmés lorsqu’ils sont remplacés, et exposent des statistiques déterministes d’échec, de repli et d’exécution ; le backend GDI natif intégré préserve la sortie existante sans prétendre à une accélération périphérique
Le préchargement de pages chargées compile et rend désormais hors du verrou du cache avec des points de contrôle d’annulation coopérative, cède immédiatement la place au rendu de pages au premier plan, et rapporte la progression des requêtes, l’usage du cache, les échecs, les comptes de préemptions et la latence d’annulation via THPDFLoadedPagePrefetchInfo
Les rendus depuis le cache au premier plan acquièrent leur réservation mémoire normale avant de chevaucher une copie de bitmap existante avec l’annulation du prefetch, conservent un ordre strict des cache miss et une télémétrie d’opération fidèle, et revérifient l’annulation après une attente de réservation ou du verrou du cache
La validation du graphe de segments JBIG2 vérifie désormais les flux d’images et globaux avant le décodage natif ou externe, rejette les dépendances malformées et l’organisation embarquée invalide dans des budgets explicites de segments, d’arêtes, de profondeur et de symboles, et empêche les dictionnaires partagés invalides d’entrer dans le cache des globals
L’encodage de lots JBIG2 entraîne désormais les symboles sur l’ensemble complet des pages via le backend statique externe, partage un dictionnaire global entre chaque XObject image, réduit les pages dupliquées exactes, retombe sur l’accumulateur natif lorsque c’est permis, et publie la télémétrie de backend, de taille, de symboles et de budget
Le rendu vectoriel et d’images basé sur ICC applique des pipelines complets de couleurs source, d’épreuve, de sortie et sRGB avec intention de rendu et compensation du point noir sélectionnables, tandis qu’un cache LRU borné thread-safe réutilise les transformations entre instances de documents et de renderers
La recompression d’images chargées et le downsampling à DPI effectif retiennent les définitions de sortie calibrées, tandis que l’aplatissement de transparence émet du RGB calibré et préserve les pages Separation ou DeviceN comme contenu vectoriel au lieu de jeter l’identité des encres spot
Les actions de calcul et de validation AcroForm des documents chargés peuvent utiliser un sous-ensemble typé borné d’expressions avec booléens, nombres, chaînes, null, undefined, tableaux, opérateurs conditionnels et à court-circuit, dates UTC déterministes, et helpers de chaînes, tableaux, conversions et Math sur liste blanche, tandis que le scripting actif non pris en charge échoue de façon fermée sans démarrer de moteur JavaScript
Les liaisons runtime QuickJS optionnelles exécutent un JavaScript plus large contrôlé par l’application via des objets statiques ou une DLL de pont neutre à l’ABI sous Win32 et Win64, avec des limites configurables de mémoire, de pile, de script, de temps et d’interruption plus une sémantique explicite de statut et de récupération
Le scripting de formulaires XFA étend FormCalc borné avec logique conditionnelle, tableaux numériques répétés et callbacks d’instances validés, tandis qu’un bac à sable QuickJS explicitement activé ajoute un flux de contrôle complet et des tableaux typés natifs sans exposer les objets de fichiers, de processus, de navigateur ou de réseau ; le runtime XFA dynamique interactif ajoute un focus neutre à l’hôte, l’édition Unicode, le hit testing, la validation et le calcul conscient des instances, l’annulation atomique et un reflow borné sans aplatissement
Les fenêtres de sélection de listes XFA natives utilisent les métriques de ligne réelles des polices embarquées pour garder les options sélectionnées visibles, sauvegardent l’index supérieur avec les tableaux complets d’options et de valeurs, et préservent les changements de polices par instance répétée et le rollback d’événements avec une préparation bornée des glyphes visibles
SanitiseLoadedDocument applique aux PDF chargés des politiques JavaScript seul, de contenu actif ou de document non fiable strict, retire les objets de charge utile inatteignables, compacte les numéros d’objets vivants, et réécrit en place en toute sécurité via un remplacement atomique de fichier
Les constatations preflight JSON, HTML et façon veraPDF exposent des identifiants de règles stables namespacés et des emplacements PDF structurés avec portée logique, chemin, clé et coordonnées exactes d’objet, de page ou d’octet lorsqu’elles sont disponibles, tandis que la compatibilité texte et CSV reste inchangée
Les politiques de validation réutilisables combinent désormais le preflight structurel avec des exigences d’intégration strictes ou WTPDF, extraient les métadonnées canoniques de déclaration et de revendication, exécutent des lots de fichiers ordonnés à travers des limites bornées de workers et de files, préservent les erreurs conscientes de la source, et offrent les modes inspect, ajout des manquants et synchronisation pour la réparation XMP indépendamment de la réparation structurelle du PDF
L’intégration Factur-X et ZUGFeRD recouvre désormais le type MIME de la pièce jointe de facture principale et les noms de FileSpec contre les enregistrements EmbeddedFiles et AF du Catalogue, expose le type MIME décodé et l’URI d’espace de noms XMP, et rejette les types de documents XMP ou espaces de noms d’extensions incohérents
La validation intégrée des règles métier de facturation électronique exécute tous les contrôles Schematron spécifiques aux profils avec une compatibilité XPath 2 revue, des bases de codes externes, des identifiants de règles stables, des erreurs d’évaluation explicites, une analyse XML sûre et des verdicts combinés à échec fermé
Les jobs de signature incrémentale conservent les signatures antérieures et remplissent les champs existants via des identifiants PFX, tandis que les jobs de comparaison de deux documents exposent six modes de comparaison et des artefacts de contrat JSON, HTML et PDF annoté bilatéraux via un JSON versionné et des dispositions ABI v1 inchangées
Les apparences AcroForm Unicode natives remplissent les champs monoligne pris en charge avec de vraies polices TrueType embarquées, des largeurs de glyphes exactes, un mapping CID-vers-glyphe et un ToUnicode complémentaire, mettent à jour chaque widget de façon transactionnelle, préservent la sécurité AES et rendent de manière cohérente avant et après la sauvegarde atomique
L’ABI C Linux native versionnée délivre de vraies opérations de texte, de formulaires, de PNG et de signature chiffrée via des callbacks bornés ; de vrais clients C et Python tournent sous Ubuntu 24.04, Ubuntu 26.04 et Debian 12, avec usage concurrent des handles, annulation et rollback d’échec
Le rendu PDF-vers-PNG Linux natif utilise des surfaces CPU Cairo/FreeType et une interprétation de contenu bornée partagée pour les chemins, le texte, les images, les Forms et les apparences d’annotations existantes, avec des avances de polices standard canoniques, une annulation coopérative, une protection des sources et une publication PNG atomique
La signature PDF headless native remplit un champ de signature non signé existant, préserve la révision d’origine et la sécurité AES-256, vérifie le CMS/CAdES résultant contre les octets exacts du fichier et publie atomiquement un vrai PDF signé incrémentalement depuis des identifiants PEM explicites
Le CMS headless natif streame les segments ByteRange partagés via OpenSSL 3, vérifie les révisions de signatures PDF existantes, génère des CMS/CAdES détachés depuis des identifiants PEM explicites et distingue l’intégrité de la confiance CA explicite
La sécurité AES-256 headless native ouvre les documents R5/R6 avec des mots de passe utilisateur ou propriétaire, authentifie les permissions chiffrées, déchiffre les objets et contenus compressés et publie des valeurs de formulaires incrémentales chiffrées tout en préservant le préfixe source d’origine sous Linux et Windows
La présentation d’instances XFA dynamiques prend en charge des événements conditionnels bornés, une liaison de données répétées explicite, une présence et un accès indépendants, des identités persistées stables, la peinture sur canvas hôte et des enregistrements d’accessibilité ; ce helper interprète sa propre extension de paquet de formulaires, que les lecteurs XFA externes n’appliquent pas automatiquement
L’édition bornée de paragraphes reformente le texte sélectionné à travers les lignes de base et les invocations partagées de Form prises en charge avec des contrôles explicites de police et de rectangle, des rapports de collision conservateurs, et un preview, commit et rollback scellés ; les sauvegardes répétées conservent le graphe édité sérialisé
Version 2.825.0 : signe les documents chiffrés via les jobs JSON et ABI C Windows tout en préservant les révisions d’origine, les réglages de sécurité AES, les IDs de document et les permissions de signature
Version 2.826.0 : lit et écrit les sélections de choix à valeurs tableaux Unicode, maintient des index d’options triés et génère des apparences correspondantes pour les sélections de listes visibles et défilées
Version 2.827.0 : exécute les pictures XFA de date, d’heure, numériques et texte sensibles aux locales avec des jeux de locales embarqués, des requêtes de locale transactionnelles bornées et une arithmétique IEEE JavaScript protégée
Version 2.828.0 : rend les groupes de transparence et de page CMYK à quatre composantes et ICC avec tous les modes de fusion, une géométrie knockout imbriquée et des budgets partagés de profils de couleurs
Version 2.829.0 : importe des graphes de ressources de pages natives et des apparences d’annotations transformées dans des documents simples ou chiffrés et convertit les entrées compatibles en texte interrogeable et PDF/A-4 vectoriel avec une vraie validation avant publication atomique
Version 2.830.0 : exécute des clauses picture XFA avancées numériques, calendaires, texte et composées via de vrais événements de formulaires, en préservant la précision d’entrée, la sémantique de locale et le replay transactionnel des scripts
Version 2.831.0 : applique de manière cohérente les contraintes de seed, de verrou et de lecture seule de signature aux noms PDF encodés, rejette les clés sémantiquement dupliquées et valide les dictionnaires de politique hérités
Version 2.832.0 : signe via l’ABI de callbacks Linux native avec des identités PEM ou PFX bornées, de nouveaux champs d’apparence Unicode et de certification, et conserve le document signé préparé comme contexte courant après une publication réussie
Version 2.833.0 : rend les CMaps Identity-V verticales et Unicode prédéfinies avec de vraies origines W2/DW2, matrices, déplacements de texte et clipping, et décode correctement les flux de CMaps Encoding embarquées
Version 2.834.0 : valide les identifiants de certificats de signature CAdES contre le signataire réel indépendamment de la confiance optionnelle des certificats, et résout les flux de CMaps Encoding embarquées via l’adaptateur de polices natif
Version 2.835.0 : exécute l’état hôte XFA transactionnel, les drapeaux de page et de cycle de vie, les changements de focus par instance, la validation des éditions en attente et les opérations de reset avec une identité stable et un replay d’état lexical
Version 2.836.0 : fournit un transport d’horodatage RFC 3161 synchrone via un enregistrement d’opération de signature native étendu compatible, avec des réponses bornées, une annulation partagée et une validation explicite de confiance et de révocation TSA
Version 2.837.0 : génère des apparences Unicode embarquées via le remplissage de formulaires JSON Linux natif pour les champs texte, choix et multisélection, les états checkbox et radio et les légendes de boutons poussoirs, en conservant la publication transactionnelle et le chiffrement
Version 2.838.0 : exécute des programmes FormCalc Eval générés à l’exécution avec des scopes de calcul isolés, une évaluation imbriquée, une source Unicode, des retries de compilation bornés et un replay transactionnel des réponses hôtes
Version 2.839.0 : implémente la copie de valeurs FormCalc et les références de nœuds stables avec affectation par référence, rebinding et détachement null, égalité d’identité numérique, handles retenus et rollback transactionnel
Version 2.840.0 : rend les couleurs sources CalGray, CalRGB et Lab calibrées, les fusions de groupes et de pages calibrées, les bases Indexed, les échantillons d’images 16 bits et les soft masks de luminance XYZ avec une conversion bornée et une évaluation gamma sûre
Version 2.841.0 : authentifie les révisions CMS et CAdES d’origine avant les mises à jour natives de formulaires, applique les permissions DocMDP et FieldMDP d’origine et les champs verrouillés, préserve le contenu et les ressources signés et synchronise atomiquement les métadonnées de légendes des boutons poussoirs
Version 2.842.0 : fournit une comparaison sémantique de contrats native en ABI C bi-documents et Pascal via un cœur portable partagé, avec géométrie de glyphes sources, entrées chiffrées et à contenu imbriqué, sortie de revue JSON ou HTML préparée et ordre de verrous concurrents stable
Version 2.843.0 : résout les chemins SOM XFA dynamiques avec occurrences inférées et relatives, prédicats à scope, sélecteurs de classe et de descendants, collections wildcard et affectations transactionnelles de propriétés d’objets de script
Version 2.844.0 : rend les tints alternatifs Separation et DeviceN avec des fonctions vectorielles bornées, des images packées et une fusion de groupes CMYK, préserve la géométrie knockout None et mappe de manière cohérente les couleurs d’enregistrement All
Version 2.845.0 : émet des références FieldMDP authentifiées depuis des verrous de champs de signature existants ou hérités, préserve les noms de champs Unicode chiffrés et les références de certification, et applique les niveaux de permission de verrou sans affaiblir les politiques signées d’origine
Version 2.846.0 : expose les datasets et nœuds de données XFA natifs avec des liaisons de formulaires bidirectionnelles, un miroir dynamique des données d’instance, des références retenues stables, des valeurs de formulaires non liées indépendantes et un replay transactionnel des scripts
Version 2.847.0 : applique les contraintes de seed et de certificats de signature native héritées avec de vraies chaînes d’émetteurs, des politiques de subject et de key usage, des digests CMS sélectionnables, des métadonnées de signature Unicode chiffrées et des transformations de documents verrouillés
Version 2.848.0 : résout les suffixes de chemins descendants XFA complets dans chaque contexte wildcard, préserve les frontières d’occurrences locales et exécute les prédicats dans le scope d’événement courant avec un rollback transactionnel exact
Version 2.849.0 : rend les polices Type1 et Type1C simples embarquées avec les encodages de glyphes Adobe déclarés ou intégrés exacts, garde l’extraction ToUnicode séparée des contours affichés et accepte un état graphique neutral stroke-adjustment et relative colorimetric validé
Version 2.850.0 : convertit les documents compatibles à polices manquantes en texte interrogeable et PDF/A-4 vectoriel avec un embarquement de polices Ghostscript explicite borné, une vraie validation veraPDF et une publication atomique, et sélectionne de manière cohérente des polices TrueType Unicode natives entre les distributions
Version 2.851.0 : rend les couleurs sources ICC Lab physiques et les entrées de compatibilité XYZ bornées dans les chemins, le texte, les images packées et les palettes Indexed, préserve les tints alternatifs calibrés et ICC à travers les groupes RGB ou CMYK et applique les profils JPX embarqués avec alpha séparé ou associé
Version 2.852.0 : écrit des attestations légales Unicode authentifiées dans les signatures de certification, honore les exigences de Legal seed certification-only, préserve les statistiques légales et les permissions de catalogue existantes et conserve les politiques de chaînes chiffrées
Version 2.853.0 : embarque de vraies preuves de révocation Adobe comme attributs signés CMS authentifiés, valide les chaînes complètes de certificats et d’horodatages contre une confiance explicite et des preuves CRL ou OCSP courantes avant publication, et applique l’embarquement de révocation requis par le seed de signature
Version 2.854.0 : expose les objets de propriétés et d’attributs XFA natifs avec des liaisons de formulaires persistantes par instance, des écritures valeur/données synchronisées et de vrais effets de police, de bordure, de paragraphe et de mise en page UI, en préservant le rollback transactionnel et les budgets de focus sans script
Version 2.855.0 : applique les valeurs par défaut de schéma de propriétés XFA natives et préserve les valeurs vides explicites, les styles par instance et les mesures fractionnaires en points de police, de bordure et de draw à travers la sortie AcroForm réelle et le PDF aplati
Version 2.856.0 : sélectionne de vrais presets d’apparence de signature native par nom de profil enregistré, génère des mises en page d’approbation, de certification et compactes distinctes, préserve les métadonnées de profil authentifiées et les politiques chiffrées et rejette les profils inconnus avant publication
Version 2.857.0 : compare nativement les documents par comptages de pages et d’objets, texte Unicode, graphes structurels normalisés et vrais pixels RGB ou de luminance rendus, avec équivalence sémantique des flux, entrées chiffrées authentifiées et préparation bornée avant publication par callback
Version 2.858.0 : décode exactement une fois les noms de polices, d’encodages, de glyphes, de couleurs et de ressources PDF échappés dans le rendu natif et l’extraction de texte partagée, préserve les clés de ressources hash littéraux et garde les noms équivalents alignés avec les contours réels et les métriques de glyphes
Version 2.859.0 : applique les surcharges XFA vivantes par instance de police, de paragraphe et de corps scalaire au vrai dessin et à la vraie mesure de texte enrichi, préserve la priorité du CSS inline et le contenu vide explicite via la persistance XDP native et conserve un rollback transactionnel exact
Version 2.860.0 : lie les options de signature et de vérification Linux natives à la sélection réelle de digest, aux métadonnées de signature Unicode, aux profils d’apparence nommés, aux octets de confiance explicites, à l’identité de transport d’horodatage et aux preuves de révocation authentifiées, avec une préparation privée bornée avant publication
Version 2.861.0 : exporte de vrais PDF de revue de contrats annotés natifs et des surlignages Unicode explicites avec des apparences normales visibles, en préservant le contenu source et les révisions de signatures incrémentales, en appliquant les permissions d’annotations P3 authentifiées et les droits utilisateur chiffrés, et en préparant des sorties bornées avant publication par callback
Version 2.862.0 : rend de vrais shadings PDF natifs de fonctions, axiaux et radiaux avec géométrie et évaluation de fonctions bornées, clipping hérité, sémantique Domain, Matrix, Extend et BBox, couleurs calibrées et spéciales, transparence, soft masks, fusion et groupes knockout
Version 2.863.0 : honore les contraintes de seed et de certificats de signature Windows héritées valides avec une vraie sélection de digest et de CAdES, des informations de signature Unicode, des verrous de champs indirects normalisés, des permissions de verrous historiques authentifiées, des secondes signatures permises et des politiques de formulaires chiffrées
Version 2.864.0 : préserve l’échéance de scan de codes-barres d’origine en priorisant les rasters linéaires complets et les groupes candidats de quiet zone, et rejette les bordures de finder DataMatrix projectives invalides avant l’échantillonnage des modules intérieurs sans changer les tolérances de finder
Version 2.865.0 : demande et authentifie des horodatages RFC 3161 pour des empreintes de message SHA256, SHA384 et SHA512 explicites sans re-hacher l’empreinte, en préservant des longueurs de digest strictes, des nonces frais, un transport borné, des chaînes de confiance et une validation de révocation
Version 2.866.0 : aligne les runs de texte enrichi XFA de tailles mixtes sur une baseline commune de PDF sauvegardé, préserve le mode de positionnement de texte de l’appelant et applique la marge de paragraphe adjacente plus grande, transitions de paragraphes vides comprises
Version 2.866.1 : authentifie les tokens RFC 3161 de signature brute selon leur véritable algorithme d’empreinte SHA256, SHA384 ou SHA512 pris en charge tout en conservant la valeur par défaut de requête SHA256 existante et les contrôles complets de confiance et de révocation du token
Version 2.867.0 : enveloppe le texte enrichi XFA à travers les styles inline avec des frontières de mots mesurées, des sauts de ligne explicites, des baselines et un alignement de ligne partagés, de vrais espaces de mots justifiés et une géométrie de liens de fragments, en préservant la persistance XDP native par instance répétée
Version 2.868.0 : génère des apparences de champs mot de passe masqués et de sélection de fichiers littéraux avec valeurs Unicode préservées et politiques AES-256, transporte l’Unicode supplémentaire échappé via l’ABI JSON native, retient les tokens source décimaux PDF subnormaux et crée des buffers de prefetch RGB sans DC d’écran
Version 2.869.0 : signe les documents Windows avec de vrais callbacks de transport RFC 3161 synchrones en ABI C et des empreintes SHA256, SHA384 ou SHA512, une confiance TSA authentifiée et des contrôles CRL, des contraintes de seed d’horodatage requises et une publication transactionnelle bornée
Version 2.870.0 : rend une vraie sortie Cairo Windows native avec des contours explicites de polices standard GDI et des conventions d’appel Win32 OpenJPEG correctes, en utilisant des dépendances natives épinglées reproductibles et une acceptation de sortie indépendante
Version 2.871.0 : crée les propriétés XFA manquantes de police, de paragraphe, de fill, de couleur, de bordure, d’edge et de coin via de vrais scripts d’événements natifs, persiste des liaisons de formulaires stables par instance avec un rollback exact et régénère les apparences optionnelles de widgets après des changements de style effectifs
Version 2.871.1 : exécute les corps d’événements XFA dans leur propre scope lexical et strict tout en préservant les alias de champs du scope externe, la valeur this de l’événement, les returns explicites et un rollback exact des échecs
Version 2.872.0 : crée de vraies signatures de certification Windows DocMDP avec permissions P1, P2 ou P3 et attestations légales Unicode authentifiées, honore les politiques de seed requises et les verrous FieldMDP, et ne permet les signatures ultérieures que là où la politique signée les autorise
Version 2.873.0 : crée des choix UI XFA persistants par instance via des scripts natifs et consomme de vrais widgets texte, mot de passe et choix avec des apparences multiline et à mots longs mesurés
Version 2.874.0 : édite les champs de texte enrichi natifs avec des runs de styles Unicode typés, de vraies polices embarquées regular, bold, italic et bold-italic, des baselines d’apparence à tailles mixtes mesurées, des décorations et des valeurs V/RV synchronisées à travers les widgets et la sortie chiffrée
Version 2.875.0 : résout les vraies valeurs par défaut des champs XFA sans fabriquer de données à la lecture, préserve les valeurs d’instance vides explicites et garantit que les éditions écrivent des données d’instance indépendantes sans modifier les templates partagés
Version 2.876.0 : embarque des preuves CRL et OCSP authentifiées dans les attributs RevocationInfoArchival Adobe Windows signés, applique les vraies politiques de seed et valide le statut de confiance, l’autorisation des réponses et la fraîcheur avant de publier les signatures
Version 2.876.1 : préserve la liaison SOM XFA complète et la vraie sélection de données d’instance émises tout en appliquant les valeurs par défaut de formulaire et de template aux instances manquantes, sans emprunter de valeurs à une autre occurrence répétée
Version 2.877.0 : rend de vrais patterns PDF de tiling et de shading colorés et non colorés avec des origines de patterns héritées, des cellules imbriquées, du chevauchement, des peintures stroke et stencil, de la transparence et une annulation bornée sur les cibles Linux et Windows natives
Version 2.878.0 : génère de vrais profils d’apparence de signature Windows avec polices Unicode embarquées pour les widgets fusionnés et séparés, les workflows de rotation, de chiffrement et de certification, et applique le AppearanceFilter requis contre le profil réellement généré
Version 2.879.0 : crée des enfants de valeurs scalaires XFA natifs persistants avec synchronisation immédiate champ, données et alias partagés, persistance typée des formulaires, commits de widgets, isolation par instance répétée et rollback transactionnel exact
Version 2.880.0 : rend de vraies valeurs de draw et de légendes scalaires XFA natives après leur création par script, préserve les valeurs vides explicites et l’isolation par instance répétée, et conserve un rollback exact quand un dessin natif ultérieur épuise son budget
Version 2.880.1 : observe l’annulation avant l’allocation du renderer de page et l’installation du contexte ainsi que pendant l’initialisation, préserve un contexte de couleur d’appelant actif quand la construction est rejetée initialement, et libère les display lists empruntées sans publier de bitmaps partiels
Version 2.880.2 : conserve l’alignement des paragraphes enrichis à travers les runs initiaux vides, les changements de style inline et les sauts de ligne explicites, et peint les bordures rectangulaires ou circulaires demandées et les lignes surlignées mesurées au lieu de les omettre silencieusement
Version 2.881.0 : authentifie automatiquement les signatures CAdES détachées standard avec la liaison de certificat de signature requise et lit de manière cohérente les chaînes Contents hexadécimales ou littérales échappées réelles pour la vérification, les mises à jour de formulaires permises et les preuves de validation à long terme
Version 2.882.0 : hérite des ressources de polices de flux enfants et des paramètres de texte PDF réels dans le rendu des Forms, Type3 et Patterns, préserve les sauvegardes de texte de l’état graphique, honore le texte Type3 invisible et réinitialise les valeurs par défaut indépendantes d’apparences d’annotations
Version 2.883.0 : crée des enfants de valeurs d’images et géométriques XFA natifs persistants et rend le vrai canal alpha PNG, le DPI d’image et la géométrie d’aspect, en préservant l’isolation par instance répétée et le rollback transactionnel ; corrige les pixels d’images FPC qui rendaient auparavant en noir
Version 2.884.0 : expose les frontières de graphèmes étendus par défaut d’Unicode 17 portables et enveloppe les mots enrichis trop larges à des clusters complets, en conservant le vrai contenu d’apparence Unicode et en corrigeant les changements de largeur des formes de liaison après le façonnage de sous-chaînes
Version 2.885.0 : expose les occasions de coupure de ligne par défaut d’Unicode 17 et les consomme dans de vrais champs enrichis natifs, en préservant les groupes d’espaces insécables, de traits d’union et de ponctuation et les séparateurs explicites Unicode avec les valeurs V et RV d’origine exactes
Version 2.886.0 : crée et authentifie des horodatages de documents PDF RFC3161 autonomes avec streaming borné, empreintes SHA256, SHA384 ou SHA512, identité TSA de confiance et liaison par nonce, déclarations d’extensions ESIC requises et exceptions de certification ou de verrou de champ authentifiées
Version 2.887.0 : importe et sérialise du XML exData XFA natif persistant avec des lectures immédiates par script, une préservation des namespaces et du contenu mixte, des identités d’instances répétées retenues, un rollback transactionnel et un vrai rendu XHTML sauvegardé
Version 2.888.0 : applique les propriétés Unicode 17 complètes et la coupure de ligne contextuelle via les API de documents existantes, expose des requêtes de propriétés portables brutes ou résolues selon LB1, préserve les ordinaux d’enum établis et les contrats de tailoring, et honore les interdictions de trait d’union conditionnel
Version 2.889.0 : synchronise les alias scalaires XFA hidden et invisible matérialisés après les commits visibles de champs tout en préservant les scopes de données répétées natifs, les valeurs vides explicites et un rollback transactionnel exact
Version 2.890.0 : préserve les groupes Unicode légaux de mots, d’espaces insécables, de ponctuation et de numériques à travers les runs de styles enrichis typés, ajuste des groupes entiers avec les vraies avances de polices stylées, conserve les baselines à tailles mixtes et fusionne les CRLF aux coutures de styles
Version 2.890.1 : récupère les verrous transitoires de publication atomique Windows avec au plus huit tentatives de remplacement annulables tout en préservant les cibles exactes, les octets préparés, les erreurs permanentes du système d’exploitation et le nettoyage du staging possédé
Version 2.891.0 : préserve les commentaires XML XFA natifs et les instructions de traitement ordonnés à travers l’import d’événements, la sérialisation, le clonage et le rollback transactionnel, tout en les excluant du texte scalaire, du texte enrichi et de la sélection d’éléments SOM
Version 2.892.0 : rend des shadings triangle mesh bornés free-form et lattice avec une vraie sémantique de coordonnées, de drapeaux, de fonctions, de couleurs et de transparence, et décode exactement une fois les flux de palettes Indexed hexadécimales
Version 2.893.0 : lit et écrit des données de champs scalaires FDF et XFDF natives bornées et importe transactionnellement de vraies apparences Unicode, de choix et de boutons dans des PDF publiés indépendamment, en préservant les politiques de signature authentifiées et le chiffrement AES
Version 2.893.1 : authentifie les preuves CRL et OCSP signées Adobe requises à l’intérieur de vrais horodatages de documents RFC3161 avant d’accepter des mises à jour de formulaires protégées par politique de signature, en préservant le refus transactionnel pour des preuves manquantes, révoquées, expirées ou non fiables
Version 2.894.0 : enveloppe le texte enrichi typé trop large aux frontières de graphèmes Unicode complètes à travers les styles de police et de couleur, mesure les vraies plages stylées avant l’affectation des lignes et préserve les clusters surdimensionnés indivisibles, les tailles de points mixtes et l’espacement explicite des caractères
Version 2.895.0 : importe et exporte de vrais octets FDF et XFDF via les callbacks JSON Linux natifs versionnés existants, préserve les valeurs de champs Unicode, la sécurité AES et les politiques de signature authentifiées, et annule le document courant après un échec de publication de sortie ou de résultat
Version 2.895.1 : compile le support d’événements XFA natifs statiques une fois par moteur JavaScript possédé et rejoue des arguments d’événements dynamiques compacts complets, en préservant les closures, les réponses hôtes enregistrées, l’isolation d’instance, les budgets de journal d’origine et les échéances transactionnelles pendant le rollback
Version 2.896.0 : résout le binding SOM XFA natif à travers les scopes de données répétées avec un parcours borné des descendants, des noms échappés, du matching Unicode, des fallbacks de feuilles manquantes par instance et une synchronisation transactionnelle des valeurs d’exécution
Version 2.897.0 : façonner les spans de styles Unicode sélectionnés avec un vrai contexte HarfBuzz environnant, expose des API natives d’ordre et de direction de paragraphes et place les items enrichis typés dans de vraies lignes physiques enveloppées tout en préservant les styles logiques et la propriété des objets
Version 2.898.0 : lit et écrit du texte enrichi FDF et XFDF borné, décode les spans de styles XHTML natifs en quatre vraies polices embarquées stylées et importe transactionnellement de vraies apparences dans des PDF signés ou chiffrés, avec comparaison canonique des valeurs enrichies existantes en lecture seule
Version 2.899.0 : attache les signes combinants stylés aux vrais ancres GPOS de base, de ligature et de marque avec des échelles de polices indépendantes, préserve les contours de glyphes à origine négative à l’intérieur des clips de widgets enrichis et réserve des étendues de ligne ajustées pour les marques empilées visibles
Version 2.900.0 : charge et sauvegarde transactionnellement du XML Data DOM XFA natif conscient des namespaces, préserve le contenu mixte ordonné et les identités de liaison de données, quote les valeurs hôtes en temps linéaire et conserve un bail exact de module JavaScript par session via un replay borné du moteur
Version 2.901.0 : rend les shadings mesh Coons et tensor patch avec une géométrie cubique bornée, une interpolation de couleurs dans l’espace source, des arêtes de continuation, une gestion des plis et des limites transactionnelles de ressources et d’annulation
Version 2.902.0 : importe et exporte du FDF et du XFDF stylés via de vrais callbacks JSON Linux en ABI C, embarque les faces de polices configurées réelles, préserve les politiques de signature et les octets sources privés exacts pour les imports no-op, et ne publie l’état du document courant qu’après le succès des deux sorties de callbacks
Version 2.903.0 : préserve les embeddings directionnels, les overrides, les isolates et le contexte de paragraphes à paires de crochets à travers les lignes de styles enrichis enveloppées, expose des API bornées d’ordre des lignes physiques dérivées des paragraphes et en cache, et façonner de vrais items de ligne avec les niveaux et scripts résolus
Version 2.903.1 : garde les clusters de façonnage à direction pure Unicode à une avance d’espacement de caractères nulle tout en conservant les contrôles logiques, l’identité des glyphes et l’espacement normal des clusters visibles et des mots
Version 2.904.0 : exécute le runtime JavaScript XFA natif, journal d’événements, Data DOM, XML, FormCalc et locales ICU sur Linux avec des baux de modules partagés possédés et de vraies horloges monotones tout en préservant l’initialisation Unicode Windows existante
Version 2.904.1 : préserve les contrôles complets de direction de paragraphes et les paires de crochets à travers le façonnage autonome automatique et l’enveloppement simple des champs multiline, avec des contextes de jointure de lignes physiques, un cache de paragraphes immuable et une sortie totale de glyphes bornée
Version 2.904.2 : lit les vrais dictionnaires externes de cross-reference streams sans confondre les réglages de chiffrement imbriqués, résout les noms d’entrées échappés et préserve les dictionnaires de chiffrement directs dans les révisions incrémentales Windows ordinaires
Version 2.905.0 : crée des arbres de pages PDF natifs, des champs éditables répétés, des boutons poussoirs et du texte statique Unicode directement depuis le XDP et les valeurs d’exécution sauvegardées sur Linux et Windows, avec de vraies apparences embarquées et une préparation bornée des candidats avant la sortie de l’appelant
Version 2.905.1 : résout les paramètres de prédicteur échappés dans le vrai dictionnaire DecodeParms et localise le vrai token de stream après une syntaxe de dictionnaire externe équilibrée, en préservant les payloads xref binaires à valeur d’espace blanc dans le chargement Windows ordinaire
Version 2.906.0 : positionne les signes combinants inter-styles en utilisant les vraies bornes de glyphes sélectionnées et les classes combinantes canoniques quand les ancres d’attachement sont absentes, avec des échelles de polices indépendantes, un empilement du même côté et de vraies directions d’items résolues pour les doubles marques
Version 2.907.0 : rend de vraies identités de glyphes CFF à clé CID et des substitutions notdef bornées via les vrais mappings CID-vers-GID des polices, en préservant une extraction de texte indépendante et des contrôles d’annulation pendant tout le parsing des CMaps échappées
Les CMaps legacy intégrées décodent les codes de caractères PDF d’un à quatre octets pour le rendu natif et l’extraction Unicode, préservent les modes d’écriture parents et enfants, récupèrent de façon déterministe les séquences de codes malformées et bornent un héritage annulable ; les paquets de redistribution incluent la notice de données CMap complète
Les imports Windows FDF et XFDF sélectionnent de vraies familles nommées fournies et des styles de polices depuis des chemins de fichiers imbriqués ou des callbacks V1 inchangés, en préservant les révisions signées ou chiffrées AES et la publication en deux phases ; les lectures aléatoires synchronisées d’entrées utilisent un curseur source indépendant afin que les lectures en arrière-plan ne puissent pas corrompre les copies de sortie séquentielles
Version 2.907.1 : décode les vrais échappements hexadécimaux PDF et les octets UTF-8 dans les champs de formulaires à valeurs de noms et hérités, en préservant les états d’export de boutons espacés, ponctués et Unicode via le rechargement natif de documents sauvegardés
Version 2.908.0 : crée de vraies combo boxes XFA natives, list boxes, champs multi-sélection, checkboxes et groupes radio à scope structurel directement depuis les données d’exécution sauvegardées, avec des paires de libellés display/export, des items par instance, des drapeaux d’accès et des états d’apparences natives indépendants
Version 2.908.1 : applique les déclarations de texte enrichi inline valides avec une priorité important indépendante, des bases de font-size calculées englobantes et des propriétés héritées explicites, en préservant les frontières de commentaires CSS et de déclarations quotées/fonctions
Le fallback de polices enrichies fourni sélectionne des graphèmes Unicode stylés complets dans de vrais programmes de familles candidates tout en préservant les valeurs d’origine et des styles d’apparence précis ; le fallback JSON Linux natif expose le même comportement en opt-in via des enregistrements V1 inchangés et conserve l’allocation globale de polices à travers les allocations réelles des fournisseurs
Version 2.909.0 : sélectionne de vraies familles TrueType nommées fournies par run enrichi et déclaration XHTML bornée de font-family, préserve les métriques de styles et les caches de marques par famille, et importe de vraies valeurs enrichies FDF ou XFDF avec une comparaison canonique consciente des familles
Version 2.910.0 : ajuste les apparences d’annotations NoZoom et NoRotate autour de l’ancre rectangulaire transformée du coin supérieur gauche, en préservant le UserUnit, la géométrie ajustée des formulaires, l’opacité et le vrai clip de page à travers l’échelle et la rotation
Version 2.911.0 : crée des draws XFA natifs de rectangles, lignes et arcs et des images PNG ou JPEG inline avec un vrai décodage d’échantillons, des masques alpha, un aspect ajusté et un placement pivoté, une préparation bornée et une propriété transactionnelle sous annulation
Version 2.912.0 : importe et exporte de vrais FDF ou XFDF via des jobs de fichiers Windows et des callbacks V1 avec une entrée possédée immuable, une préparation du graphe non sauvegardé courant, de vraies apparences enrichies à quatre polices, des politiques AES signées authentifiées et un commit de contexte seulement après le succès des deux callbacks de sortie
Version 2.913.0 : sélectionne des familles de polices enrichies natives configurées via des callbacks JSON Linux V1 inchangés pour les remplissages typés et les imports FDF ou XFDF, charge les vrais programmes de familles et de styles requis avec des budgets globaux, et annonce les deux profils enrichis implémentés
Version 2.913.1 : résout les valeurs XFA implicites existantes via des contextes de données vivants bornés sans répéter le parsing de sélecteurs imputé au quota d’opérations de script, en préservant les échéances transactionnelles d’origine et le comportement de liaison explicite
Version 2.913.2 : décode les codes-barres matriciels pivotés complets avant les fragments déconnectés et rejette les mismatches exacts de finder QR avant l’échantillonnage de la grille complète, en conservant un groupement plus serré, le comportement d’origine des barres linéaires, des budgets de scan atomiques et l’échéance inchangée de deux secondes
Version 2.914.0 : crée des apparences Booléennes XFA natives avec six marques personnalisées, des bordures rondes ou carrées, des couleurs et tailles de marques, cinq placements de légendes et des polices de légendes embarquées partagées ; préserve des alias d’export Unicode réversibles et des états neutres légaux distincts à travers l’exécution d’événements et le rechargement du PDF sauvegardé
Version 2.914.1 : chevauche les hits de cache mémoire au premier plan avec l’annulation coopérative du prefetch après acquisition de la vraie réservation mémoire, préserve la télémétrie de cache d’opération et revérifie l’annulation après des attentes de verrou de cache ou de réservation tout en conservant l’ordre strict des cache miss et les joins de threads
Version 2.915.0 : garde les options de listes XFA natives sélectionnées visibles via des fenêtres de sélection à métriques de police et des index supérieurs persistés, préserve les tableaux complets d’options et de valeurs, et retient les changements de polices par instance répétée et le rollback d’événements avec une préparation bornée des glyphes visibles
Version 2.916.0 : décode et rend 182 CMaps legacy intégrées avec des codes bornés d’un à quatre octets, des modes d’écriture parents et enfants exacts, des mappings Unicode, une récupération déterministe des codes malformés, un héritage annulable et des notices de redistribution groupées
Version 2.917.0 : sélectionne de vrais programmes de familles et de styles nommés pour les imports Windows FDF et XFDF via des chemins de fichiers imbriqués ou des callbacks de polices versionnés existants, et isole les lectures aléatoires synchronisées des sources de la publication transactionnelle séquentielle
Version 2.918.0 : rend les légendes Booléennes XFA natives depuis le XHTML effectif et des polices de styles nommées fournies, préserve les superpositions par instance répétée et le XML d’exécution sauvegardé, et mesure les réserves automatiques de légendes avec les étendues finales de lignes de texte logiques
Version 2.919.0 : résout des graphèmes Unicode stylés complets via des familles de polices candidates explicitement fournies, préserve les valeurs d’origine et des styles d’apparence précis, expose le fallback JSON Linux natif en opt-in via des callbacks V1 inchangés et conserve la vraie allocation globale de polices pendant le chargement des programmes configurés
Version 2.920.0 : sauvegarde les champs scalaires mixtes et les runs de texte enrichi typé d’origine dans une seule transaction atomique de document indépendante, conserve des valeurs d’apparence précises et les programmes de polices fournis, préserve les politiques authentifiées et les éditions courantes du graphe, et reconnaît les vrais no-op d’apparence en lecture seule
Version 2.920.1 : garde les mutations PDF réussies en ABI C Linux natives alignées avec leur snapshot source commité, si bien que des imports FDF ou XFDF ultérieurs de mêmes valeurs préservent les valeurs de formulaires publiées exactes, les apparences typées, le texte dessiné et les pages importées au lieu de restaurer des octets d’entrée périmés
Version 2.921.0 : rend les légendes scalaires et XHTML des boutons poussoirs XFA natifs avec de vrais programmes de familles et de styles fournis, des séparateurs inline préservés et un padding d’origine, de vraies apparences normal/down/rollover, la visibilité des légendes et des surcharges persistantes par instance répétée
Version 2.922.0 : sélectionne la visibilité de vue ou d’impression des annotations natives avec les règles Invisible de PDF 2.0, reconnaît les apparences statiques RichMedia et Projection et les transformations Text implicites, et conserve un remplacement atomique Windows PNG borné et annulable avec de vrais diagnostics d’erreurs OS
Version 2.923.0 : préserve les listes ordonnées de familles de polices candidates de texte enrichi via les apparences natives et le JSON Linux V1, et lie les runs scalaires mixtes et typés d’origine aux jobs de fichiers Windows et aux callbacks V1 inchangés avec une peinture précise, des programmes de styles fournis et une publication en deux phases
Version 2.924.0 : rend les groupes d’optional content par défaut du document et les expressions d’appartenance à travers le contenu de pages marqué, les form XObjects et les annotations, préserve l’état des graphiques et du texte masqués, et expose l’usage explicite de vue ou d’impression via l’interface JSON Linux native V1
Version 2.925.0 : sélectionne des familles de polices ordonnées fournies par l’appelant pour des graphèmes de texte enrichi stylés complets via des jobs de fichiers Windows et des callbacks V1, en préservant les candidats CSS et typés, de vraies transactions à valeurs vides et des budgets globaux de polices
Version 2.926.0 : développe le shorthand CSS de polices inline borné en candidats indépendamment cascadés de taille, de graisse, d’italique et de famille fournie, en préservant le dimensionnement relatif hérité, les resets de styles omis, les priorités important des composants et de vraies apparences de polices sauvegardées
Version 2.927.0 : peint les légendes scalaires et enrichies d’origine des boutons poussoirs Windows ApplyXFAAsAcroForm avec de vrais programmes de familles/styles installés, des surcharges persistantes par instance et des bundles d’apparences natives normal/down/rollover, en enregistrant de vraies ressources de polices AcroForm
Version 2.928.0 : rend les tableaux et phases de dash ExtGState avec un scanning borné de tableaux PDF typés, en préservant les commentaires, une validation stricte des opérandes, la géométrie de stroke héritée, l’annulation et les tableaux de texte ordinaires
Version 2.929.0 : construit le texte scalaire, les cellules comb, les libellés de choix et les marques de boutons depuis des familles de polices regular fournies ordonnées à travers les setters natifs, les jobs Windows et les callbacks Windows/Linux versionnés ; préserve les métadonnées scalaires ordinaires et distingue une sélection de choix vide d’un export vide sélectionné
Version 2.930.0 : évalue les applications automatiques d’usage d’optional content avec un contexte explicite de zoom, de langue et d’utilisateur, des sélections manuelles natives persistantes et un état borné des opérations JSON Linux ; invalide les contextes de rendu empruntés après des changements du document
Version 2.931.0 : préserve les états d’export XFA legacy on, off et neutre des checkboxes, les légendes Unicode stylées et les bundles d’apparences natives, encode les noms PDF spéciaux de manière cohérente et restaure les ressources directes de pages après une adoption annulée de widgets
Version 2.932.0 : décode les composantes JPEG 2000 signées et non signées jusqu’à26 bits avec précision mixte, sous-échantillonnage et opacité, normalise les échantillons bornés et ignore les déclarations JPX BitsPerComponent des images avant le rendu
Version 2.933.0 : évalue les fonctions de couleur cubiques échantillonnées multidimensionnelles avec la convention scalaire existante à quatre nœuds, le repli linéaire en dimension courte, un travail tensoriel borné, l’annulation et une interpolation scalaire inchangée
Version 2.934.0 : crée de vraies apparences XFA legacy Unicode texte, numérique, date et mot de passe avec famille et style de police effectifs par instance, ressources de polices embarquées éditables, masquage scalaire des mots de passe et adoption transactionnelle de ressources
Version 2.935.0 : préserve la hauteur de ligne du texte enrichi, les longueurs CSS calculées, les facteurs hérités et les métriques de police parente entre le layout natif, les apparences sauvegardées, les jobs de fichiers et callbacks Windows et les imports JSON FDF/XFDF Linux avec une planification bornée des polices à métriques
Version 2.935.1 : compte une seule fois les caractères Unicode supplémentaires dans les apparences XFA portables de mots de passe, conserve les valeurs d’origine et applique les budgets agrégés de glyphes avant d’allouer des masques avec une annulation à granularité scalaire
Version 2.936.0 : lie les hauteurs de ligne de texte enrichi JSON typées explicites aux apparences sauvegardées Windows et Linux, en préservant les runs rédigés, les métriques parentes fournies, une planification agrégée bornée et des mises à jour transactionnelles de champs mixtes
Les groupes radio XFA legacy préservent les portées d’instances répétées, les exports exacts et les captions Unicode stylées, avec un rollback de groupe entier et une fabrique d’apparences de membre native à police fournie
Version 2.936.1 : analyse les dictionnaires et trailers PDF valides avec vérification de débordement arithmétique activée en retenant explicitement les 32 bits bas de la multiplication de hachage FNV
Les intentions de rendu natives préservent l’intention de couleur des états graphiques, des images et des groupes de transparence via des transformations ICC bornées
Version 2.937.0 : crée des groupes radio XFA legacy indépendants depuis de vraies portées d’instances répétées, en préservant les exports exacts, les états sélectionnés et les captions Unicode stylées avec un rollback d’adoption de groupe entier et une API native d’apparence de membre à police fournie détachée
Les champs choice XFA legacy préservent les valeurs d’instances répétées, les libellés d’affichage, les fenêtres de sélection de listes et les apparences Unicode stylées, avec un rollback par champ et une fabrique détachée à police fournie
Version 2.938.0 : rend les quatre intentions de couleur standard à travers les états graphiques, formulaires, images, ombrages, motifs et groupes de transparence avec overrides d’images, repli relatif pour les noms inconnus et un cache borné annulable de transformations ICC
L’échange FDF binaire d’annotations préserve les dictionnaires d’annotations fournis, les états d’apparences, les ressources partagées de polices et d’images et les cibles GoTo locales explicites via des API natives bornées, l’échange moderne Windows de documents chargés, les jobs de fichiers et les callbacks versionnés Windows/Linux
Des noms d’annotations correspondants sur la même page sélectionnent des remplacements ; les annotations sans nom ou sans correspondance sont ajoutées, tandis que la politique authentifiée, la publication atomique et les octets no-op commités exacts restent appliqués
L’échange XFDF d’annotations natives ajoute dix-huit types d’annotations mappés avec des données binaires bornées, des contenus rich Unicode, des objets popup et reply, des permissions authentifiées et une publication transactionnelle par callbacks natifs/Linux
Version 2.939.0 : crée des champs XFA legacy combo et list avec exports exacts d’instances répétées, libellés d’affichage, indices sélectionnés, positions de scroll et apparences Unicode stylées, en préservant les flags de champs hauts et un rollback par champ avec une fabrique de choice détachée à police fournie et un mode métadonnées-seules
Version 2.940.0 : échange dix-huit types d’annotations mappés via des opérations XFDF natives bornées et JSON V1 Linux, en préservant les contenus rich Unicode, les callouts, les couleurs transparentes, les pièces jointes binaires, les liens popup et forward-reply, les permissions authentifiées et une publication transactionnelle d’ajouts
Version 2.941.0 : applique le CSS natif en cascade indépendante et l’espacement typé original de lettres et de mots aux runs façonnés, aux lignes physiques, à l’ajustement et aux apparences sauvegardées, avec sérialisation de points calculée, arrondi décimal exact et publication transactionnelle JSON Windows/Linux
Le repli d’annotations natives peint les annotations prises en charge sans apparences normales en utilisant une géométrie, un texte et des ressources de polices temporaires bornés
Les apparences par défaut FreeText appliquent un profil d’opérateurs DA borné, un ajustement automatique transformé, le word wrapping aux frontières de mots et un état de texte et de décoration à portée racine tout en préservant la géométrie d’annotation et les ressources sources ; les quatre contrôles finis Tr4 à Tr7 de peinture-et-clipping ont passé des lecteurs indépendants MuPDF 1.28.5 et Poppler, et les 90 images de lecteurs originales ont passé un modèle indépendant à cellule complète
Version 2.941.1 : valide l’unicité de sélection des choice XFA natifs avec un tri borné annulable tout en préservant les valeurs d’export exactes sensibles à la casse, l’ordre de sélection original et le comportement d’échec transactionnel
L’échange XFDF d’annotations Windows exporte les annotations mappées et ajoute du XFDF authentifié via des jobs de fichiers bornés et les callbacks V1 originaux avec publication atomique et octets no-op exacts
Version 2.942.0 : rend les annotations prises en charge sans apparences normales via une géométrie temporaire bornée, des extrémités de lignes, des icônes et du FreeText Unicode, en retenant les ressources sources, le texte enrichi, les flags view/print et l’annulation
La publication no-op de formulaires typés natifs conserve les octets PDF chargés exacts pour les mises à jour mixtes inchangées et les lots vides tout en préservant les éditions de graphe en attente, les politiques authentifiées et la publication atomique
Version 2.943.0 : échange le XFDF d’annotations mappées via les jobs de fichiers Windows et les callbacks V1 originaux avec des transactions d’ajout authentifiées, des données binaires et Unicode bornées, des octets no-op exacts et une publication atomique
Les items de choice XFA dynamiques mettent à jour les listes d’affichage et d’export live, préservent les alias de nœuds survivants et les sélections exactes, et sauvegardent les apparences choice PDF natives et legacy avec des opérations de script transactionnelles bornées
Version 2.943.1 : préserve les octets PDF chargés exacts quand des transactions natives mixtes scalaires et de texte enrichi typé ou des lots vides ne font aucun changement, en retenant les éditions de graphe en attente, les politiques authentifiées de signature et de chiffrement, les limites de ressources et la publication atomique
Les destinations locales d’annotations préservent huit modes de cibles de pages, les noms Unicode et la précision décimale rédigée à travers l’échange XFDF natif et legacy, avec du XML Adobe qualifié et des callbacks transactionnels Windows/Linux
Version 2.944.0 : gère les items d’affichage et d’export des choice XFA live via JavaScript et FormCalc, en préservant les alias survivants, les sélections exactes dupliquées ou vides, les listes natives par instance et les apparences PDF natives ou legacy sauvegardées sous des limites de mutation bornées
Les polices rich d’annotations en lecture seule prennent en charge l’embarquement Preview/Print et des polices complètes sans subsetting sous des permissions explicites par appel ; les annotations Screen préservent les apparences existantes et ne peignent aucun placeholder de médias implicite
Version 2.945.0 : préserve les destinations locales de pages et nommées des annotations à travers l’échange XFDF natif et legacy, avec des jetons décimaux exacts bornés, du XML Adobe qualifié, une validation des attributs dupliqués et une publication transactionnelle par callbacks Windows/Linux
Version 2.946.0 : rend le texte rich temporaire d’annotations avec des permissions de polices Preview/Print explicites en lecture seule et des octets de polices complètes inchangés, en préservant les politiques d’embarquement éditables et les apparences Screen existantes sans placeholders de médias implicites
Version 2.946.1 : préserve les attributs XFA présents-et-vides et les noms, valeurs, namespaces et requêtes indexées UTF-8 via la sérialisation XML native, les défauts persistants de propriétés, les événements de scripts répétés et le rollback transactionnel
Version 2.946.2 : corrige l’arithmétique de mots SHA-1, SHA-256, SHA-384 et SHA-512 avec les contrôles de plage et de débordement du compilateur activés, en préservant les digests valides et l’authentification par mot de passe AES-256 sans changer les interfaces publiques
Version 2.946.3 : applique xfa.host.resetData via des événements natifs sans le confondre avec un import Data XML, en préservant les défauts de template, les valeurs liées, les portées répétées, les éditions en attente et le rollback transactionnel
Version 2.947.0 : rend les bordures rectangulaires biseautées et en retrait des annotations et des captions de lignes Unicode ou rich mesurées, en préservant l’opacité, les offsets d’extrémités, les apparences existantes, les ressources de polices bornées et le clipping d’annotations
Version 2.947.1 : préserve les déclarations de namespaces XML par défaut vides explicites pendant le parsing et la sérialisation XFA, empêchant les sous-arbres de données non qualifiés d’hériter du namespace d’un ancêtre après sauvegarde et rechargement
Version 2.948.0 : rend les masques de glyphes remplis avec une couverture de clip fractionnaire capturée tout en préservant les tracés PDF, les motifs, les opérateurs alpha et de fusion, et vérifie la capacité de mémoire de travail raster avant allocation
Version 2.949.0 : préserve la distinction entre l’absence d’options choice sélectionnées et une valeur d’export vide sélectionnée via l’échange XFDF natif, Windows et Linux, avec une publication no-op exacte, une validation bornée et un chargement checked de documents chiffrés
Version 2.950.0 : crée, clone, renomme, insère et supprime des nœuds du Data DOM XFA natifs avec une propriété bornée, les namespaces hérités, des références importées stables, un rafraîchissement de binding et un rollback d’événements complet ; préserve les attributs UTF-8 et les références FormCalc retenues à travers les consommateurs XML sauvegardés et PDF natifs
Version 2.951.0 : rend des bordures cloudy bornées pour les annotations Square, Circle, Polygon et FreeText sans apparences normales, en préservant largeur, tirets, opacité et graphes sources ; partage les octets de polices générés immuables entre les vues FreeText sans frais répétés d’octets décodés tout en conservant les budgets de parsing et l’annulation
Version 2.952.0 : les destinations distantes d’annotations conservent les spécifications de fichiers Unicode et les coordonnées exactes à travers l’échange natif et par callbacks Windows/Linux ; les imports ordinaires d’annotations chargées préservent le chiffrement et les politiques de signatures authentifiées, les plages de signatures exactes et les valeurs de champs RC4 partagées
Version 2.953.0 : les collections de nœuds de requêtes XFA fournissent des listes retenues indépendantes, des métadonnées d’occurrences et des éditions transactionnelles bornées via des valeurs et apparences sauvegardées natives ; les managers retenus suivent le graphe d’événements courant et l’évaluation SOM ordinaire conserve les limites de pile d’origine
Version 2.954.0 : les feuilles de style de texte enrichi natives appliquent des sélecteurs internes bornés, l’importance, la spécificité et l’ordre du source via de vrais champs sauvegardés et des transactions FDF/XFDF Windows/Linux
Version 2.955.0 : les collections d’enfants live XFA suivent les enfants de formulaires et de propriétés courants, les instances répétées et les propriétés implicites entre les événements ; des clones indépendants référencent les valeurs natives réelles et les apparences PDF sauvegardées avec un rollback d’événements borné
Version 2.955.1 : l’arithmétique cryptographique checked et l’accord de clés préservent les échanges SHA3/SHAKE et de courbes pleine largeur avec les vérifications d’entiers activées, et rejettent les secrets partagés X25519/X448 canoniques tout-zéros
Version 2.956.0 : les apparences OpenType CFF de champs et d’annotations préservent les identités de charset réelles, les octets de polices complets, les métriques façonnées, le texte Unicode et les ressources de polices bornées
Version 2.956.1 : les collections d’enfants FormCalc résolvent les chemins de nœuds via le compilateur réel et conservent un replay d’événements borné, des valeurs sauvegardées et des apparences PDF natives
Version 2.957.0 : les sélecteurs de texte enrichi natifs étendus appliquent attributs, siblings, positions structurelles, langue et négation aux valeurs sauvegardées et aux apparences transactionnelles de champs
Version 2.958.0 : les indices d’enfants numériques du Data DOM live préservent l’ordre natif courant et appliquent l’accès en lecture seule dans les objets de script retenus, avec un rollback d’événements borné et des apparences PDF sauvegardées
Version 2.959.0 : les sélecteurs de texte enrichi logiques et relationnels appliquent les listes complexes not/is/where, les relations has ancrées et les positions nth-child filtrées aux valeurs sauvegardées réelles et aux apparences transactionnelles de champs
Version 2.960.0 : le transport d’apparences Stamp XFDF standard préserve les flux Form réels, les ressources bornées de polices et d’images, les permissions authentifiées et une publication atomique native ou par callback
Version 2.961.0 : les apparences brutes de polices par défaut d’annotations utilisent les programmes Type1C, CIDFontType0C et Type1 nus d’origine pour des apparences de texte temporaire et de captions rich bornées
Version 2.962.0 : le word wrapping des annotations raw-font préserve les cellules encodées complètes et les runs de style, avec un reflow borné et une annulation mesurée
Version 2.963.0 : les namespaces CSS de texte enrichi natifs appliquent des déclarations à portée et des sélecteurs qualifiés aux apparences sauvegardées réelles et aux transactions de formulaires Windows/Linux, avec une recherche bornée de namespaces hérités et une compatibilité checked-build
Version 2.964.0 : les apparences OpenType CFF2 à instance par défaut préservent l’identité des glyphes d’origine, le mapping Unicode et les permissions de polices tout en convertissant les contours par défaut complets en programmes CFF 1 statiques à CIDs clé pour les champs PDF sauvegardés
Version 2.965.0 : les arbres de formulaires XFA natifs transactionnels prennent en charge la création, le clonage et les éditions de propriété d’enfants avec des alias survivants stables, un rollback, des occurrences de fusion vide et une persistance de paquets de formulaires sauvegardés
Version 2.966.0 : les media queries de texte enrichi natives évaluent les profils d’hôte print/screen explicites, les attributs media des styles, les conditions booléennes imbriquées et les plages de fonctionnalités avant de sauvegarder les valeurs rich et les apparences calculées
Version 2.967.0 : les feuilles de texte enrichi externes fournies par l’appelant résolvent les feuilles liées et les imports, les ensembles de titres preferred ou alternate partagés et les bases de documents avant une publication transactionnelle native, Windows et Linux de form-data
Version 2.968.0 : les préférences explicites de texte enrichi ajoutent le schéma de couleurs, le mouvement/transparence/données réduits, le contraste, les couleurs forcées et inversées et la disponibilité du scripting, en retenant les valeurs inconnues quand elles sont omises
Version 2.969.0 : les calculs numériques CSS finis de texte enrichi ajoutent calc, min, max et clamp, les longueurs relatives à la racine et de viewport explicites, et les métriques de ligne et d’espacement calculées dans les apparences sauvegardées réelles
Version 2.970.0 : les requêtes de support CSS natives admettent les groupes de texte enrichi conditionnels et les imports avec la grammaire de déclarations et de sélecteurs prise en charge, des budgets partagés et des apparences sauvegardées transactionnelles
Version 2.971.0 : le scope racine et les sélecteurs statiques d’actions utilisateur préservent la correspondance logique des sélecteurs, l’admission conditionnelle des feuilles de style et les apparences sauvegardées calculées
Version 2.971.1 : le hachage du cache de shaped runs préserve l’arithmétique modulaire avec les contrôles de plage et de débordement activés dans les builds FPC 3.3.1 Windows
Version 2.974.0 : la suppression d’annotations par page et nom prépare des cascades bornées de popups et de réponses via les API natives, les transactions Windows, les jobs JSON et les callbacks versionnés, en préservant les permissions, les révisions signées et le rollback d’échec de publication
Version 2.973.0 : l’échange FDF binaire d’annotations préserve les ressources d’apparences, les graphes d’objets partagés et les destinations d’actions locales via des API natives bornées, l’échange Windows et les callbacks versionnés
Version 2.972.0 : les apparences par défaut d’annotations natives préservent l’état du texte, l’ajustement automatique, le texte enrichi et le clipping dans le rendu headless
Les workflows de documents Linux natifs créent des documents HTML avec polices Unicode embarquées et contrôles AcroForm, insèrent du texte de page visible ou interrogeable, exécutent un vrai OCR Tesseract avec des processus enfants bornés et annulables, et produisent une sortie PDF/A-4 raster validée indépendamment
Les preuves DSS/VRI headless valident les chaînes de certificats et l’autorisation OCSP/CRL fournie, les signatures, le statut et la fraîcheur avant la publication incrémentale de preuves, y compris pour les documents chiffrés
Le transport hôte XFA fournit des callbacks typés explicites pour les actions hôtes et le FormCalc Get/Post/Put, enregistre les réponses pour des retries de requêtes sûrs et un replay d’état de modules, et signale l’achèvement transactionnel pour la compensation applicative
Les horodatages RFC 3161 headless valident les empreintes de message, les nonces, l’autorisation TSA, la confiance des certificats et les preuves de révocation fournies, puis embarquent le vrai token d’horodatage dans les signatures CMS détachées ; les échecs d’horodatage requis préservent la destination
Les sessions JavaScript XFA persistantes retiennent l’état lexical des objets de script, les closures imbriquées et des modules indépendants par instance répétée avec un rollback transactionnel borné et déterministe
La préservation PDF/A-4 des documents chargés conserve les opérateurs de texte, vecteurs, images et programmes de polices embarqués d’origine ainsi que les couches OCR existantes ; elle compose les apparences visibles d’annotations/widgets, ajoute optionnellement un OCR interrogeable, signale explicitement les pertes d’interaction et de métadonnées, valide le résultat rechargé et publie les fichiers atomiquement dans son profil de polices et de couleurs documenté
La conversion d’archivage raster PDF/A-4 de documents chargés reconstruit le contenu visible des pages en images sRGB bornées dans un document PDF/A-4 nouvellement validé, en normalisant polices, transparence et couleurs peintes via le renderer natif strict ; l’API fichier met en scène et publie atomiquement le résultat, tandis que le rapport identifie les annotations, formulaires et pièces jointes retirés. Ce chemin d’archivage visuel en opt-in abandonne le texte vectoriel d’origine, le texte consultable, les signatures et le contenu interactif
La sortie PDF 2.0 prend désormais en charge l’identification et la validation PDF/A-4, PDF/A-4e, PDF/A-4f, PDF/UA-2, PDF/X-6, PDF/X-6p et PDF/X-6n, y compris le XMP conscient des révisions résolu par URI d’espace de noms, la réparation transactionnelle PDF/A-4 pour la normalisation sûre d’en-tête, trailer, métadonnées, Catalogue et présentation avec annulation à l’octet exact et contenu de pages préservé, les ensembles de règles PDF/X-6 ISO 15930-9:2020 et à errata résolus sélectionnables, les contrôles réels d’en-tête ICC et de canaux, les output intents de document et de page, la couleur peinte réelle et la surimpression à travers les tableaux de contenu, formulaires imbriqués, motifs de tiling et de shading, images, masques d’images, shadings, glyphes Type 3, soft masks et apparences d’annotations, état graphique et de transparence hérités, composition combinée remplissage-et-trait, relations CIDFont et CMap, travail borné d’octets décodés et de tokens de contenu, éléments de structure consciente des espaces de noms, contrôles de métadonnées et de chaînes du document, contenu optionnel, possession physique des annotations, sémantique de formulaires, destinations de structure, signets, étiquettes de pages imbriquées, création de fichiers associés, boîtes de page de production héritées, diagnostics consciente des clauses avec provenance d’ensembles de règles, validation de génération automatique à échec fermé, et réparation transactionnelle PDF/UA-2 pour espaces de noms, attributs, listes, tableaux, Ruby, Warichu, prononciation, texte alternatif, héritage de langue, ordre de titres et tags Artifact
Les tableaux PDF balisé 2.0 reçoivent une expansion bornée de grille, des contrôles d’intersection et de groupes de lignes, une association d’en-têtes locale au tableau et une détection de cycles, tandis que les listes reçoivent des contrôles complets de numérotation et de chaînes de continuation ; les séquences exactes de Ruby et Warichu sont imposées, et les applications peuvent écrire des indices de prononciation par élément ou des lexiques PLS embarqués ordonnés via SetStructurePronunciation et AddPronunciationLexicon
Le cycle v2.119.32-51 a ajouté le façonnage arabe / persan / ourdou côté producteur (ligature obligatoire LAM-ALEF, 9 lettres Arabic Presentation Forms-A), un moteur de substitution OpenType GSUB complet en fonctionnalités couvrant chaque LookupType 1-8 avec sélection Script / LangSys et closure du subsetter TTF pour les glyphes de substitution, le support des conteneurs XFA (XML Forms Architecture) (AddXFAPacket / ClearXFAPackets / XFAPacketCount), une famille de déclencheurs de champs de formulaire AcroForm /AA /K + /F + /V + /C, l’enregistrement de polices multi-Unicode /DR via RegisterAcroFormFont, les setters d’attributs d’accessibilité d’éléments de structure (/Lang / /E / /T) avec une énumération des types de structure standard de la table 333 et une surcharge typée AddStructureElement, et les propriétés de séquences de contenu marqué sur BeginTaggedContent
Le cycle v2.119.52-68 a achevé le pipeline de façonnage automatique de la Phase 8 et élargi la couverture des scripts : Arabic Extended-A (y compris Arabic Supplement U+0750-077F et Arabic Extended-A U+08A0-08FF) et Persian / Urdu Form-B ont été étendues à la table complète des classes de jonction U+0672-06D5 plus 26 nouveaux mappings Forms-A, avec pliage en post-passe pour LAM-ALEF, paires YEH-HAMZA + voyelle (8 ligatures en U+FBEA-FBFB), la ligature Allah autonome (U+FDF2) et la phrase Bismillah à 22 points de code (U+FDFD). La nouvelle propriété en opt-in ShapingFeatures + l’énumération THPDFShapingFeature (sfArabicGSUB / sfStandardLigatures / sfContextualLigatures / sfContextualAlternates / sfIndicShaping) fait émettre au producteur des substitutions GSUB rlig / liga / clig / rclt spécifiques à la police automatiquement, avec les ligatures latines standard (ff / fi / fl / ffi / ffl / ſt / st via U+FB00-FB06) et le réordonnancement syllabique Indic devanagari (Repha + I-matra pré-base) rejoignant le même pipeline. De nouvelles méthodes de capacité de façonnage pour le syriaque (GetSyriacJoiningClass / GetSyriacPosition), le mongol (GetMongolianJoiningClass / GetMongolianPosition) et le devanagari (GetDevanagariCategory / ApplyDevanagariReorder) permettent aux appelants de piloter les scripts complexes non arabes via le même moteur GSUB. GetCodepointAdvance expose la fraction d’em /W en cache pour les calculs d’enveloppage, et AssignSyntheticCodepointForGID / GetSyntheticCodepointForGID permettent au producteur d’émettre tout GID de substitution GSUB (formes d’amas devanagari, alternates stylistiques, séquences de variation CJK) via des points de code de Private-Use-Area avec intégration complète /CIDToGIDMap + /ToUnicode + /W. La CMap ToUnicode cumulative embarque désormais 35 entrées de mapping inverse de ligatures (8 LAM-ALEF + 18 de la famille YEH-HAMZA + 1 Allah + 1 Bismillah + 7 latines) afin que le copier / coller dans les lecteurs consommateurs restitue les points de code sources. Les squelettes documentaires du ChangeLog sont désormais livrés en 11 langues (EN / CN / AR / DE / ES / FR / IT / JA / KO / PT / RU) avec une interface de choix de langue ; la limite de rétention du ChangeLog a été portée de 250 à 500 sections de versions
Le cycle v2.152-v2.190 a construit un moteur complet de positionnement OpenType GPOS et élargi la couverture des scripts complexes. Les options de façonnage en opt-in appliquent désormais le kerning propre de la police (par paires, contextuel et de droite à gauche), le placement des signes combinants (mark-to-base, mark-to-mark et mark-to-ligature par composant), les ancres de connexion cursive et le kerning vertical pour le texte vertical, le tout écrit comme des opérateurs de texte PDF standard afin que tout lecteur rende le même résultat. Le façonnage côté producteur couvre désormais l’arabe (y compris les blocs Supplement, Extended-A et Extended-B), le syriaque, le mongol, le N'Ko, l’Adlam, le Hanifi Rohingya, l’empilement de consonnes tibétain, le devanagari et les autres scripts Indic via la chaîne de fonctionnalités Indic de la police, le javanais, l’ordre des signes thai et lao, l’ordre des voyelles hébraïques, le khmer, le birman, le Tai Viet et le Meetei Mayek. Une famille de fonctionnalités typographiques OpenType optionnelles - ligatures standard, discrétionnaires et historiques, petites capitales, chiffres oldstyle / lining / proportionnels / tabulaires, exposants, indices, ordinaux, fractions, inférieurs scientifiques, numérateurs, dénominateurs, alternates stylistiques et contextuels, formes localisées, formes sensibles à la casse, zéro barré et alternates verticaux - peut être appliquée automatiquement pendant la sortie de texte. Copier, coller et la recherche de texte restituent les caractères d’origine sur toute la sortie façonnée, y compris les ligatures et les substitutions de fonctionnalités chaînées. La sortie des polices est aussi devenue plus petite : les programmes de polices embarqués sont toujours compressés en Flate, une police utilisée sur plusieurs pages est embarquée une fois par document, les tags de sous-ensembles sont dérivés de façon déterministe pour une sortie reproductible, et un mode compact optionnel écrit le texte ASCII simple avec des polices standard comme texte WinAnsi non embarqué