Actualités

Hamlet : créer un éditeur professionnel de publication pour 4D

Hamlet est un éditeur natif de texte enrichi, de mise en page et de publication à partir de bases de données, conçu pour 4D. Son objectif : produire des documents professionnels avec de vraies données, directement dans un formulaire 4D.

Hamlet : créer un éditeur professionnel de publication pour 4D

Mise à jour du développement

Hamlet: Construire un éditeur d'édition professionnel pour 4D, WASM & ActiveX

Hamlet est l'un des développements les plus importants de notre feuille de route de produit actuel: un éditeur natif de texte riche, de mise en page et de publication de base de données construit d'abord pour 4D, avec un chemin futur vers le navigateur et d'autres environnements de base de données Windows. L'objectif est ambitieux mais clair: donner aux développeurs un éditeur de documents sérieux capable de travailler avec des données de base de données réelles et de produire des résultats professionnels pour les factures, les rapports, les lettres, les modèles et les flux de travail de publication.

L'idée derrière Hamlet
Les applications commerciales ont souvent besoin de beaucoup plus qu'un simple champ de texte. Ils ont besoin de documents structurés, de modèles sensibles à la base de données, de sorties stylées, de mise en page de page, de génération d'impression / PDF et d'un éditeur qui se sent intégré au lieu d'être connecté. Hamlet est notre réponse à ce besoin.

Pourquoi Hamlet existe- t- il ?

L'idée de base est simple: combiner un éditeur de documents riche avec la publication de bases de données. Un utilisateur devrait pouvoir concevoir un document visuellement, y placer des champs de base de données en direct, prévisualiser des données réelles, répéter des lignes de facture ou des enregistrements connexes, puis exporter ou imprimer le résultat sans perdre de fidélité.

Cela signifie que Hamlet n'est pas seulement un éditeur de texte. Il s'agit d'une surface de publication, d'un concepteur de modèle, d'un moteur de fusion de base de données et d'un composant d'application intégrable.

Ce qui a été mis en œuvre

  • Édition de texte riche: famille de polices, taille de polices, en gras, en italique, sous-ligne, frappe, superscript, sous-script, couleur de texte, mise en évidence, hauteur de ligne, espacement des lettres, déplacement de ligne de base et style.
  • Le formatage du paragraphe: l'alignement, l'espacement, les tirages, les listes, les arrêts des onglets, les arrière-plans des paragraphes et les limites des paragraphes.
  • L' aménagement de la page: des presets de papier, des tailles de page personnalisées, des marges, des trous, des en-têtes, des pieds de page, des numéros de page, des champs de compte de page, des modes de zoom, des régulateurs et du chrome de page.
  • Objets de documentation: les tableaux, les images, les fichiers PDF, les cases de texte, les lignes, les formes, les objets personnalisés et les espaceurs de données en ligne sont représentés comme de vrais objets de modèle de document.
  • Tableaux: l'édition de lignes et de colonnes, le texte des cellules, le style des cellules, le style des tables, les fusions et les non-fusions, les presets de style des tables, les liaisons entre les données des cellules des tables et les lignes des tables répétées pour la publication de la base de données.
  • Images et fichiers PDF: chargements d'images intégrés, importation de fichiers, modes d'ajustement, focalisation des cultures, importation de PDF, inspection de PDF, sélection de page, manipulation de boîte de page et rendu à l'échelle.
  • Publication de la base de données: champs, variables, méthodes, formules, expressions, identifiants de liaison en direct, mise à jour directe, résultats de résolutions structurées, protecteurs de réécriture, régions répétitives, régions de rangées de table et flux de travail de fusion des enregistrements courants.
  • Importation et exportation: Fichiers de paquets Hamlet, texte ordinaire, HTML, PDF, PNG pris en charge, png multi-pages d'exportation, RTF et DOCX voies de conversion.
  • Pipeline de sortie: une architecture de liste d'affichage de page enregistre la vérité de la page et la reproduit pour la sortie PDF, PNG et imprimante.

Direction de l'interface utilisateur

Hamlet se dirige vers un système d'outils flottant professionnel, similaire à l'esprit des applications de publication et de conception. Le système d'outils actuel comprend des panneaux pour le caractère, le paragraphe, les pages, l'objet, la couleur, les données et les styles. Ces panneaux partagent la même architecture interne pour le dessin, les tests d'impact, les dérapagements, le regroupement, l'accostement, l'effondrement, le mouvement et la persistance de l'état de zone.

Les pièces difficiles

Le plus grand défi n'est pas d'ajouter des fonctionnalités isolées. Le vrai défi est de faire fonctionner toutes les fonctionnalités ensemble en toute sécurité à l'intérieur d'un composant intégré. Le dessin doit être rapide et déterministe. Les grands documents doivent rester réactifs. L'aperçu de la base de données ne doit pas détruire le modèle. L'export doit correspondre à ce que l'utilisateur voit à l'écran.

  • Sécurité intégrée en temps d'exécution: L'éditeur doit se comporter correctement à l'intérieur des environnements hôtes tels que les formulaires 4D, les surfaces de navigateur futures et les conteneurs de composants Windows.
  • Les performances des documents à grande échelle: La mise en page du texte, l'état de la barre d'outils, la géométrie des pages et la visibilité de la page doivent éviter les scanners complets répétés.
  • Titulaires de la base de données: Les champs et les formules ne peuvent pas être des jetons de texte ordinaires, ils doivent être de vrais objets graphiques de document avec une identité stable.
  • Protection de la vue des données: La prévisualisation des données résolues ne doit pas muter secrètement le contenu caché du modèle.
  • Fidélité à l'exportation: PDF, PNG et sortie d'impression doivent provenir de la même page vérité que l'éditeur, pas d'un deuxième moteur de mise en page.

Le chemin à suivre

Hamlet est déjà un prototype puissant, mais il n'est pas terminé. La phase suivante concerne la polissage, la fidélité, l'exhaustivité de la plateforme et la profondeur du flux de travail.

  • Vérification visuelle: plus de captures d'écran et de tests de sortie dorée pour PDF, PNG, imprimante, panneaux d'outils, images, tables et layouts de pages complexes.
  • Échéance d'impression et d'exportation: une plus grande fidélité à la recherche / vecteur, une politique de ressources haute résolution, des sorties sensibles aux sections et des tests d'acceptation plus larges sur plusieurs pages.
  • RTF et DOCX fidélité: les premiers itinéraires d'importation/exportation existent, mais une couverture complète et une compatibilité plus large entre les voyages aller-retour restent des travaux futurs.
  • Interface utilisateur d'édition avancée: une analyse plus approfondie des relations, de meilleurs outils de formatage et des flux de travail de publication de bases de données plus guidés.
  • Polisseur d'édition d'objets: une image plus riche, un PDF, une table, une ligne, une forme et des commandes de boîte de texte.
  • Parité Windows: Le rendu Windows, les dialogues, le tableau de bord, l'impression et le support PDF/image doivent encore suivre la mise en œuvre macOS.

Au-delà du 4D: Browser et des ambitions ActiveX

Bien que Hamlet soit construit en premier lieu comme un composant 4D, la vision à plus long terme est plus large.

Objectifs futurs de la plateforme

  • La version WASM/browser: une édition WebAssembly qui peut être exécutée directement dans le navigateur, rendant Hamlet utilisable dans les applications Web tout en préservant le même modèle de document, les concepts de mise en page des pages et le flux de travail de publication.
  • Component ActiveX: une version Windows ActiveX pour les bases de données FoxPro et autres applications Windows qui prennent en charge les contrôles ActiveX, permettant aux systèmes de base de données anciens et de bureau d'intégrer Hamlet en tant qu'éditeur de documents professionnel et composant de publication.
  • Fondation de documents partagés: L'objectif est de maintenir le modèle de document, les concepts de modèle, le système de style, le modèle d'objet et la logique de publication cohérents sur les hôtes de composants 4D, navigateur et Windows.

Un Hamlet basé sur un navigateur ouvrirait la porte à l'édition de documents hébergés sur le Web, à la conception de modèles en ligne et aux flux de travail de publication connectés au serveur. Une version ActiveX rendrait Hamlet précieuse pour les applications de base de données Windows existantes, en particulier dans des environnements tels que Visual FoxPro où la génération de documents intégrés et les rapports basés sur la base de données sont encore importants.

Ces versions futures nécessiteront de sérieux travaux d'ingénierie. Une construction de navigateur signifie adapter le rendu, les entrées, les polices, le tableau de bord, l'accès aux fichiers et le comportement d'exportation à la plateforme Web. Une construction ActiveX signifie la création d'une surface de composants Windows stable, des API d'automatisation COM/ActiveX, de l'intégration de l'hôte, du comportement d'impression et des règles de déploiement. Mais la direction est claire: Hamlet devrait devenir un moteur d'édition réutilisable, pas seulement un éditeur à hôte unique.

L'avenir

La vision à long terme est que Hamlet devienne le moteur de document sur lequel les développeurs peuvent compter lorsque les espaces de texte ordinaires ne suffisent pas. Il devrait prendre en charge les modèles basés sur la base de données, l'édition professionnelle, la mise en page, les styles réutilisables, les médias intégrés, la sortie prête à l'impression et la génération automatisée de documents à partir du code.

Dans 4D, Hamlet peut devenir un éditeur de publication natif. Dans le navigateur, une future version WASM pourrait apporter le même modèle d'édition et de publication aux applications Web. Sur Windows, une future version ActiveX pourrait apporter Hamlet dans les bases de données FoxPro et d'autres applications capables ActiveX qui ont encore besoin de génération de documents sérieuses.

C'est pourquoi ce développement est important: Hamlet n'est pas une caractéristique cosmétique, c'est la base d'une nouvelle classe de documents basés sur des bases de données et d'applications de publication.

En résumé: Hamlet passe d'un riche prototype d'éditeur de texte à un moteur de publication complet pour 4D, avec un chemin futur vers WebAssembly dans le navigateur et ActiveX sur Windows. Il y a encore du travail sérieux à faire, mais l'architecture est maintenant assez forte pour porter l'avenir vers lequel nous construisons.

Retour aux actualités

À découvrir

Articles associés

2 mai 2026

Dix heures de débogage dans AccountView

La maintenance logicielle est parfois prévisible. Parfois, elle exige dix heures dans Visual FoxPro, d’anciens contrôles ActiveX, des fichiers DBF temporaires, du code compilé obscurci, des visionneuses cachées, des composants PDF instables et un système de gestion du transport particulièrement tenace.

Lire la suite

Vous souhaitez travailler avec nous ?

Contactez-nous pour échanger sur votre projet.