Maîtriser la substitution de polices avec GroupDocs.Conversion pour Java

Dans ce tutoriel complet, vous découvrirez comment convertir une note en pdf en utilisant GroupDocs.Conversion pour Java tout en gérant les polices manquantes de manière fluide. Nous parcourrons la configuration Maven, la configuration de la substitution de polices et une stratégie de secours afin que vos PDF aient le même aspect sur tous les systèmes d’exploitation. À la fin, vous pourrez intégrer ce flux de conversion dans n’importe quel service Java ou tâche batch.

Réponses rapides

  • Quel est le but principal de la substitution de polices ? Elle remplace les polices indisponibles par celles que vous spécifiez, en conservant l’apparence du document.
  • Quelle bibliothèque gère la conversion ? GroupDocs.Conversion for Java.
  • Ai-je besoin d’une licence pour la production ? Oui – une licence complète ou temporaire est requise.
  • Puis-je définir une police par défaut pour les cas inconnus ? Absolument, en utilisant setDefaultFont() dans NoteLoadOptions.
  • Cette bibliothèque est‑elle compatible avec JDK 8 et supérieur ? Oui, la bibliothèque prend en charge Java 8+.

Qu’est‑ce que “convertir une note en pdf” ?

convertir une note en pdf est le processus de transformation des formats de fichiers de prise de notes (par ex., .ONE, .ENEX) en un PDF qui peut être ouvert sur n’importe quel appareil sans logiciel spécial. Cette conversion rencontre souvent des problèmes de polices manquantes parce que la note source peut référencer des polices qui ne sont pas installées sur la machine cible. La substitution de polices résout cela en associant les polices manquantes à des polices disponibles, garantissant la fidélité visuelle.

Pourquoi utiliser GroupDocs.Conversion pour Java ?

GroupDocs.Conversion pour Java offre la gestion automatique des polices pour plus de 50 + formats d’entrée et de sortie, et peut traiter des documents de plusieurs centaines de pages sans charger le fichier complet en mémoire. La bibliothèque fournit une sortie PDF à haute fidélité, consomme moins de 150 Mo de heap pour une note de 300 pages, et s’intègre via une seule dépendance Maven, ce qui en fait un choix prêt pour la production pour les développeurs Java.

Prérequis

  • Java Development Kit (JDK) version 8 ou supérieure.
  • Un IDE tel que IntelliJ IDEA ou Eclipse.
  • Maven installé pour la gestion des dépendances.
  • Connaissances de base en Java et concepts de conversion de documents.

Configuration de GroupDocs.Conversion pour Java

Ajoutez le dépôt GroupDocs et la dépendance à votre pom.xml :

<repositories>
   <repository>
      <id>repository.groupdocs.com</id>
      <name>GroupDocs Repository</name>
      <url>https://releases.groupdocs.com/conversion/java/</url>
   </repository>
</repositories>
<dependencies>
   <dependency>
      <groupId>com.groupdocs</groupId>
      <artifactId>groupdocs-conversion</artifactId>
      <version>25.2</version>
   </dependency>
</dependencies>

Acquisition de licence

GroupDocs propose un essai gratuit de 30 jours ainsi que des licences temporaires pour les tests, ou vous pouvez acheter une licence complète pour une utilisation en production.

  1. Essai gratuit : Téléchargez depuis ici.
  2. Licence temporaire : Demandez‑en une via ce lien.
  3. Achat : Pour des solutions à long terme, achetez une licence ici.

Comment substituer les polices lors de la conversion d’une note en pdf

Pour substituer les polices pendant la conversion, vous devez créer et configurer des options de chargement qui associent les polices manquantes à des remplacements disponibles et spécifier une police de secours. Cela garantit que chaque caractère est rendu correctement même si la police d’origine n’est pas présente sur le système.

Étape 1 : Configurer les substitutions de polices

NoteLoadOptions configure la façon dont un fichier de note est chargé, y compris les paramètres de substitution de polices. Créez un objet NoteLoadOptions, définissez les paires de polices que vous souhaitez remplacer, et définissez une police de secours pour les cas non correspondants :

import com.groupdocs.conversion.Converter;
import com.groupdocs.conversion.options.convert.PdfConvertOptions;
import com.groupdocs.conversion.options.load.NoteLoadOptions;
import com.groupdocs.conversion.contracts.FontSubstitute;

// Create font substitution options
NoteLoadOptions loadOptions = new NoteLoadOptions();
List<FontSubstitute> fontSubstitutes = new ArrayList<>();
fontSubstitutes.add(FontSubstitute.create("Tahoma", "Arial")); // Substitute Tahoma with Arial
fontSubstitutes.add(FontSubstitute.create("Times New Roman", "Arial")); // Substitute Times New Roman with Arial
loadOptions.setFontSubstitutes(fontSubstitutes);

// Set the default font for unhandled substitutions
defaultFont = "YOUR_DOCUMENT_DIRECTORY/terminal-grotesque_open.otf";
  • NoteLoadOptions – La classe NoteLoadOptions est le point d’entrée pour configurer le chargement des fichiers de note, y compris les paramètres de substitution de polices.
  • FontSubstitute.create()FontSubstitute.create() crée un mappage qui indique au convertisseur quelle police de remplacement utiliser lorsque la police originale est manquante.
  • setDefaultFont()setDefaultFont() définit une police de secours que le moteur applique lorsqu’aucun mappage explicite n’existe, garantissant qu’aucun caractère ne reste non rendu.

Étape 2 : Convertir le document en PDF

Converter est le composant principal qui effectue la conversion en utilisant les options de chargement fournies. Passez les options de chargement configurées au Converter et exécutez la conversion :

// Initialize Converter with specified load options
converter = new Converter("YOUR_DOCUMENT_DIRECTORY/sample_note_document", () -> loadOptions);

// Set PDF conversion options
pdfOptions = new PdfConvertOptions();

// Perform conversion
coder.convert("YOUR_OUTPUT_DIRECTORY/converted_note.pdf", pdfOptions);
  • Converter – La classe Converter est le composant principal de GroupDocs qui charge le fichier source en utilisant les options fournies et le prépare à la conversion.
  • convert() – La méthode convert() écrit le fichier PDF à l’emplacement cible, en appliquant toutes les règles de substitution de polices que vous avez définies.

Conversion d’un document de note en PDF (sans polices personnalisées)

Si vous avez simplement besoin de document java en pdf sans substitutions personnalisées, les étapes sont encore plus courtes :

// Initialize Converter for a given document
converter = new Converter("YOUR_DOCUMENT_DIRECTORY/sample_note_document");
pdfOptions = new PdfConvertOptions(); // Configure conversion options
converter.convert("YOUR_OUTPUT_DIRECTORY/converted_note.pdf", pdfOptions);

Applications pratiques

  1. Partage de documents – Envoyez des PDF qui ont le même aspect sous Windows, macOS ou Linux.
  2. Archivage – Conservez la fidélité visuelle des fichiers de notes anciens pour la conformité.
  3. Compatibilité multiplateforme – Assurez‑vous que chaque partie prenante voit les mêmes polices, quel que soit les types de caractères installés.

Possibilités d’intégration

Vous pouvez intégrer ce flux de conversion dans un système de gestion de contenu d’entreprise, un micro‑service qui traite les téléchargements, ou une tâche batch qui migre les archives de notes anciennes vers le PDF.

Considérations de performance

  • Gestion de la mémoire – Diffusez les gros fichiers au lieu de les charger entièrement en mémoire.
  • Mise en cache – Mettez en cache les fichiers de polices fréquemment utilisés pour éviter les accès disque répétés.
  • Bonnes pratiques Java – Optimisez le ramasse‑miettes et réutilisez les instances de Converter lorsque c’est possible.

Problèmes courants et solutions

ProblèmeCause probableSolution
Police manquante après conversionAucune substitution définie pour la policeAjoutez une entrée FontSubstitute ou définissez une police par défaut appropriée.
NullPointerException sur loadOptionsloadOptions non passé à ConverterAssurez‑vous d’utiliser la lambda () -> loadOptions lors de la construction du Converter.
Conversion lente pour les gros fichiersChargement du document complet en mémoireUtilisez les API de diffusion ou augmentez la taille du heap JVM de manière appropriée.

Questions fréquemment posées

Q : Puis‑je substituer plusieurs polices à la fois ?
R : Oui, ajoutez plusieurs entrées FontSubstitute à la liste fontSubstitutes.

Q : Que se passe‑t‑il si la police par défaut n’est pas trouvée ?
R : La conversion revient à la police par défaut du système, qui peut varier selon les plateformes.

Q : Comment dépanner les erreurs de conversion ?
R : Vérifiez les chemins de fichiers, assurez‑vous que toutes les dépendances Maven sont résolues, et consultez la console pour les traces de pile.

Q : GroupDocs.Conversion est‑il compatible avec toutes les versions de Java ?
R : Il prend en charge JDK 8 et supérieur.

Q : La substitution de polices peut‑elle être utilisée avec d’autres formats comme Word ou Excel ?
R : Absolument – le même mécanisme FontSubstitute fonctionne pour de nombreux types de documents, y compris DOCX et XLSX.

Ressources


Dernière mise à jour : 2026-07-29
Testé avec : GroupDocs.Conversion 25.2 for Java
Auteur : GroupDocs

Tutoriels associés