Hello world depuis le composant Delphi HotPDF

Hello World depuis le composant Delphi HotPDF

Bienvenue dans le guide complet du programme de démonstration HelloWorld du composant Delphi HotPDF !

À propos du composant HotPDF

Le composant HotPDF est une bibliothèque de traitement PDF puissante et polyvalente conçue spécifiquement pour les développeurs Delphi et C++Builder. Ce composant complet fournit une API étendue qui permet aux développeurs de créer, manipuler et modifier des documents PDF avec facilité et précision.

Fonctionnalités clés du composant HotPDF :

  • Création et génération de PDF : Créer des documents PDF à partir de zéro avec un contrôle total sur la mise en page, le formatage et le contenu
  • Support de texte et graphiques : Ajouter du texte, des images, des formes et des graphiques complexes aux pages PDF
  • Support multilingue : Support Unicode complet pour le rendu de texte international
  • Gestion des polices : Intégrer des polices pour une apparence cohérente du document sur différents systèmes
  • Options de compression : Multiples algorithmes de compression pour optimiser la taille du fichier
  • Fonctionnalités de sécurité : Chiffrement de document, protection par mot de passe et contrôles d’autorisation
  • Manipulation de documents : Fusionner, diviser et modifier des documents PDF existants
  • Support de tableaux et formulaires : Créer des tableaux complexes et des formulaires interactifs

Échantillon Hello World du composant HotPDF Delphi

Aperçu du programme HelloWorld.dpr

Le programme d’exemple HelloWorld.dpr sert d’excellente introduction à la fonctionnalité la plus basique et importante du composant HotPDF : La fonction TexOut. Ce programme de démonstration présente également la fonctionnalité de création PDF de base.

Fonctionnalité principale :

1. Création de document PDF

La fonction principale du programme est de générer des documents PDF contenant du texte “Hello World” multilingue. La procédure CreatePDF démontre :

  • Initialisation du composant : Configuration et paramétrage appropriés du composant THotPDF
  • Propriétés du document : Définition des métadonnées telles que les options de compression et l’intégration de polices
  • Rendu de texte multilingue : Affichage de texte en 11 langues différentes incluant l’anglais, l’espagnol, l’allemand, le français, l’italien, le portugais, le russe, le japonais, le turc, le chinois et le coréen
  • Gestion des polices : Utilisation d’Arial Unicode MS pour la plupart des langues et Malgun Gothic pour le texte coréen
  • Comparaison de compression : Création de versions compressées et non compressées pour démontrer les différences de taille de fichier

2. Gestion des fenêtres et intégration système

Le programme inclut une fonctionnalité sophistiquée d’énumération des fenêtres qui démontre :

  • Énumération des fenêtres système : Utilisation de la fonction API Windows EnumWindows pour itérer à travers toutes les fenêtres de niveau supérieur
  • Correspondance de titre de fenêtre : Implémentation de correspondance de sous-chaînes pour identifier les applications cibles
  • Fermeture automatique de fenêtre : Envoi de messages WM_CLOSE pour fermer les visualiseurs PDF qui pourraient avoir des fichiers ouverts
  • Prévention de conflits : S’assurer qu’aucun conflit d’accès aux fichiers ne se produit lors de la création de nouveaux fichiers PDF

3. Gestion d’erreurs et gestion des ressources

Le programme démontre les meilleures pratiques pour :

  • Gestion de la mémoire : Création et suppression appropriées des instances de composants
  • Sécurité d’exception : Utilisation de blocs try-finally pour assurer le nettoyage des ressources
  • Retour utilisateur : Fourniture de sortie console pour informer les utilisateurs du progrès du programme

Détails d’implémentation technique :

Technologie de compression

Le programme crée deux versions du même PDF pour démontrer l’efficacité de la compression FlateDecode :

  • Version non compressée : Temps de création plus rapide, taille de fichier plus grande
  • Version compressée : Temps de création légèrement plus long, taille de fichier significativement plus petite

Stratégie de gestion des polices

Le programme emploie une stratégie sophistiquée de sélection de polices :

  • Arial Unicode MS : Utilisé pour la plupart des langues en raison de son large support de caractères
  • Malgun Gothic Semilight : Spécifiquement choisi pour le rendu de texte coréen
  • Intégration de polices : Assure une apparence cohérente sur différents systèmes

Compatibilité inter-versions

Le code inclut des directives de compilation conditionnelle pour supporter les versions Delphi modernes et anciennes :

  • Support XE2+ : Utilise des unités avec espaces de noms (WinApi.Windows, System.SysUtils, etc.)
  • Support hérité : Revient aux noms d’unités traditionnels pour les anciennes versions Delphi
  • Intégration EurekaLog : Support optionnel de détection de fuites mémoire et de débogage

Valeur éducative

Cet exemple HelloWorld sert plusieurs objectifs éducatifs :

  • Introduction au composant : Fournit une introduction douce à l’utilisation du composant HotPDF
  • Meilleures pratiques : Démontre la gestion appropriée des ressources et la gestion d’erreurs
  • Intégration système : Montre comment intégrer la génération PDF avec les opérations système Windows
  • Internationalisation : Illustre la gestion de texte multilingue dans les documents PDF
  • Considérations de performance : Compare différentes stratégies de compression et leurs compromis

Commencer

Pour exécuter ce programme d’exemple :

  1. Assurez-vous que le composant HotPDF est correctement installé dans votre IDE Delphi
  2. Ouvrez le fichier de projet HelloWorld.dpr
  3. Compilez et exécutez le programme
  4. Le programme créera automatiquement deux fichiers PDF démontrant les différences de compression
  5. Examinez les fichiers générés pour voir le rendu de texte multilingue et comparer les tailles de fichiers

Code source

Ci-dessous se trouve le code source complet et bien documenté du programme de démonstration HelloWorld :

 


Discover more from losLab Software Development

Subscribe to get the latest posts sent to your email.