Générer du HTML à partir de PDF et désactiver le groupement avec GroupDocs Viewer pour Java
Dans de nombreux projets, vous devez générer du HTML à partir de PDF tout en conservant chaque glyphe exactement à sa place. C’est particulièrement vrai pour les scripts complexes, les langues anciennes ou les documents juridiques où un seul caractère mal placé peut changer le sens. Dans ce tutoriel, nous vous guiderons à travers le processus complet de rendu de PDF en HTML avec GroupDocs Viewer pour Java et vous montrerons comment désactiver le groupement afin que chaque caractère soit traité comme un élément indépendant.

Réponses rapides
- Que fait « désactiver le groupement » ? Cela force le moteur de rendu à traiter chaque caractère comme un élément indépendant, en préservant la mise en page exacte.
- Quelle option API contrôle cela ?
viewOptions.getPdfOptions().setDisableCharsGrouping(true). - Ai-je besoin d’une licence ? Un essai fonctionne pour les tests, mais une licence complète est requise pour la production.
- Puis-je générer du HTML à partir de PDF en même temps ? Oui — utilisez
HtmlViewOptionspour créer une sortie HTML tout en désactivant le groupement. - Cette fonctionnalité est‑elle limitée aux PDF ? Elle est principalement destinée aux PDF, mais le visualiseur prend en charge de nombreux autres formats.
Introduction
Lorsqu’on travaille avec des documents PDF, la précision du rendu est cruciale — surtout lorsqu’on traite des structures de texte complexes comme les hiéroglyphes ou les langues qui nécessitent une représentation précise des caractères. La fonctionnalité « Groupement de caractères » cause souvent des problèmes en regroupant les caractères de manière incorrecte, entraînant une mauvaise interprétation du contenu du document. Cela peut être particulièrement problématique pour les utilisateurs qui ont besoin d’une réplication exacte de la mise en page du texte de leurs documents.
Prérequis
- Bibliothèques et dépendances : Vous aurez besoin de GroupDocs.Viewer pour Java version 25.2 ou ultérieure.
- Configuration de l’environnement : Assurez‑vous d’avoir un Java Development Kit (JDK) installé et votre IDE configuré pour travailler avec des projets Maven.
- Pré‑requis de connaissances : Compréhension de base de la programmation Java, en particulier la gestion des chemins de fichiers et l’utilisation de bibliothèques externes.
Comment générer du HTML à partir de PDF avec GroupDocs Viewer
Générer du HTML à partir de PDF est un processus en deux étapes : configurer le visualiseur, puis rendre le document. L’élément clé est de désactiver le groupement de caractères avant le rendu afin que la sortie HTML reflète la mise en page du PDF original caractère par caractère.
Configuration de GroupDocs.Viewer pour Java
Installation via Maven
Tout d’abord, intégrez la bibliothèque nécessaire dans votre projet. Ajoutez la configuration suivante dans votre pom.xml :
<repositories>
<repository>
<id>repository.groupdocs.com</id>
<name>GroupDocs Repository</name>
<url>https://releases.groupdocs.com/viewer/java/</url>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId>com.groupdocs</groupId>
<artifactId>groupdocs-viewer</artifactId>
<version>25.2</version>
</dependency>
</dependencies>
Acquisition de licence
Pour exploiter pleinement GroupDocs.Viewer, envisagez d’acquérir une licence :
- Essai gratuit : Commencez avec l’essai gratuit pour tester les fonctionnalités.
- Licence temporaire : Demandez une licence temporaire si vous avez besoin de plus de temps.
- Achat : Pour des projets à long terme, l’achat d’une licence est recommandé.
Initialisation et configuration de base
Voici un extrait prêt à l’exécution qui montre le flux complet — depuis la définition du dossier de sortie jusqu’au rendu du PDF en HTML tout en désactivant le groupement de caractères :
import com.groupdocs.viewer.Viewer;
import com.groupdocs.viewer.options.HtmlViewOptions;
import java.nio.file.Path;
// Initialize the GroupDocs Viewer
Path outputDirectory = Utils.getOutputDirectoryPath("DisableCharactersGrouping");
Path pageFilePathFormat = outputDirectory.resolve("page_{0}.html");
HtmlViewOptions viewOptions = HtmlViewOptions.forEmbeddedResources(pageFilePathFormat);
viewOptions.getPdfOptions().setDisableCharsGrouping(true);
try (Viewer viewer = new Viewer("YOUR_DOCUMENT_DIRECTORY/HIEROGLYPHS_PDF")) {
viewer.view(viewOptions);
}
Guide de mise en œuvre
Fonctionnalité : désactiver le groupement de caractères
Ci‑dessous, nous décomposons chaque ligne de l’exemple afin que vous puissiez comprendre pourquoi nous le faisons et comment cela contribue à générer du HTML à partir de PDF sans fusion indésirable des caractères.
Étape 1 : définir le répertoire de sortie
Path outputDirectory = Utils.getOutputDirectoryPath("DisableCharactersGrouping");
Pourquoi ? Cela garantit que vos fichiers HTML rendus sont stockés dans un dossier dédié, facilitant leur localisation et leur gestion ultérieure.
Étape 2 : configurer le format du chemin de fichier
Path pageFilePathFormat = outputDirectory.resolve("page_{0}.html");
Pourquoi ? L’utilisation d’un espace réservé ({0}) permet au visualiseur de créer un fichier HTML séparé pour chaque page PDF, ce qui maintient la sortie organisée.
Étape 3 : initialiser les options de vue HTML
HtmlViewOptions viewOptions = HtmlViewOptions.forEmbeddedResources(pageFilePathFormat);
Pourquoi ? Les ressources intégrées regroupent les images, les polices et le CSS directement avec chaque page HTML, ce qui est idéal pour les visualiseurs basés sur le web ou les plateformes d’apprentissage en ligne.
Étape 4 : désactiver le groupement de caractères
viewOptions.getPdfOptions().setDisableCharsGrouping(true);
Pourquoi ? C’est la ligne cruciale qui indique au moteur de rendu de ne pas fusionner les caractères adjacents, garantissant que le HTML généré reflète le placement exact des glyphes du PDF source.
Étape 5 : rendre le document
try (Viewer viewer = new Viewer("YOUR_DOCUMENT_DIRECTORY/HIEROGLYPHS_PDF")) {
viewer.view(viewOptions);
}
Pourquoi ? En encapsulant le Viewer dans un bloc try‑with‑resources, on garantit que toutes les ressources natives sont libérées automatiquement, évitant les fuites de mémoire dans les applications de longue durée.
Générer du HTML Java à partir de PDF sans groupement
La classe HtmlViewOptions vous permet de produire générer du html à partir de pdf tout en conservant chaque caractère séparé. Cela est particulièrement pratique lorsque vous devez intégrer les pages rendues dans un portail web ou une plateforme d’apprentissage en ligne où le placement exact des glyphes est important.
Problèmes courants et solutions
- FileNotFoundException – Vérifiez à nouveau le chemin que vous passez à
new Viewer(...). Utilisez des chemins absolus ouPath.of(...)pour plus de clarté. - Permissions d’écriture – Assurez‑vous que le répertoire de sortie est accessible en écriture par le processus Java ; sous Linux, vous devrez peut‑être ajuster les permissions du dossier (
chmod 775). - Incompatibilité de version – L’option
setDisableCharsGroupingest disponible à partir de la version 25.2. Vérifiez que votrepom.xmlindique la bonne version.
Applications pratiques
- Préservation des langues – Idéal pour le rendu de documents en chinois, japonais, arabe ou scripts anciens où l’espacement des caractères porte du sens.
- Documents juridiques et financiers – Garantit une réplication exacte du texte pour les documents à forte exigence de conformité.
- Ressources éducatives – Parfait pour les manuels incluant des diagrammes complexes, des annotations ou du contenu multilingue.
Considérations de performance
- Optimiser l’utilisation des ressources – Les gros PDF peuvent consommer beaucoup de mémoire. Envisagez de traiter les pages par lots et de libérer rapidement les instances de
Viewer. - Gestion de la mémoire Java – Ajustez le tas JVM (
-Xmx2gou plus) si vous prévoyez de traiter des PDF de plusieurs centaines de pages. - Rendu parallèle – Pour des conversions en masse, créez des threads séparés, chacun avec sa propre instance de
Viewer, afin d’exploiter les CPU multi‑cœurs.
Questions fréquemment posées
Q : Pourquoi aurais‑je besoin de désactiver le groupement de caractères ?
R : Désactiver le groupement empêche le moteur de rendu de fusionner les caractères appartenant à des glyphes distincts, ce qui est essentiel pour les scripts où l’espacement et l’ordre transmettent du sens.
Q : Le paramètre setDisableCharsGrouping s’applique‑t‑il uniquement à la sortie HTML ?
R : Non, il affecte le moteur de rendu PDF sous‑jacent, ainsi tout format de sortie (HTML, PNG, JPEG, etc.) reflétera le changement.
Q : Puis‑je combiner ce paramètre avec des polices personnalisées ?
R : Oui — chargez vos polices personnalisées avant d’initialiser le Viewer, et la règle de groupement s’appliquera toujours.
Q : La désactivation du groupement impacte‑t‑elle les performances ?
R : Légèrement, car le moteur traite chaque caractère individuellement, mais l’impact est minime pour la plupart des documents.
Q : Existe‑t‑il un moyen de basculer le groupement page par page ?
R : Actuellement, l’option est globale par instance de PdfOptions ; vous auriez besoin d’instances séparées de Viewer pour différentes pages si vous avez besoin d’un comportement mixte.
Ressources
- Documentation GroupDocs
- Référence API
- Télécharger GroupDocs Viewer
- Acheter une licence
- Version d’essai gratuite
- Demande de licence temporaire
- Forum de support GroupDocs
Dernière mise à jour : 2026-03-22
Testé avec : GroupDocs.Viewer 25.2 for Java
Auteur : GroupDocs