Comment convertir CHM en HTML (et plus) avec GroupDocs.Viewer Java

Compiler des fichiers d’aide hérités en formats modernes est un besoin fréquent pour les développeurs. Dans ce tutoriel, vous allez convertir chm en html et apprendre également à rendre la même source CHM en JPG, PNG, et convertir chm en pdf en utilisant GroupDocs.Viewer pour Java. À la fin, vous disposerez d’un modèle réutilisable qui fonctionne pour tout document CHM, que vous archiviez d’anciens manuels ou que vous exposiez le contenu d’aide sur un portail web.

Rendu des fichiers CHM avec GroupDocs.Viewer pour Java

Rendu des fichiers CHM avec GroupDocs.Viewer pour Java

Réponses rapides

  • Quelle bibliothèque gère le rendu CHM ? GroupDocs.Viewer for Java.
  • Puis-je obtenir une sortie HTML dans un seul fichier ? Yes, by enabling the singlePage option.
  • La conversion PDF est‑elle sans perte ? The library preserves layout, images, and hyperlinks.
  • Ai-je besoin d’une licence pour les tests ? A free trial or temporary license is sufficient.
  • Quels formats sont pris en charge ? HTML, JPG, PNG, PDF, plus others like DOCX and XLSX.

Qu’est-ce que GroupDocs.Viewer pour Java ?

GroupDocs.Viewer pour Java est une API côté serveur qui rend plus de 70 types de documents — y compris CHM — en formats adaptés au web sans nécessiter Microsoft Office ou Adobe Acrobat. Elle fonctionne sur n’importe quel runtime Java 8+ et peut être intégrée aux architectures web, desktop ou micro‑services. Pour plus de détails, consultez la documentation GroupDocs.

Pourquoi convertir CHM en HTML ?

GroupDocs.Viewer prend en charge plus de 50 formats d’entrée et de sortie et peut transformer un fichier CHM de 200 pages en une seule page HTML en moins de 2 secondes sur un CPU typique de 2 GHz, tout en conservant toutes les liens internes fonctionnels. Cette rapidité et cette variété de formats le rendent idéal pour migrer les systèmes d’aide hérités vers des portails web modernes.

Prérequis

  • Bibliothèque GroupDocs.Viewer Java (version 25.2 ou ultérieure).
  • Projet compatible Maven (IntelliJ IDEA, Eclipse, ou similaire).
  • Connaissances de base en Java et gestion des dépendances Maven.

Configuration de GroupDocs.Viewer pour Java

Pour utiliser GroupDocs.Viewer dans votre projet Java, ajoutez la dépendance Maven :

<dependency>
    <groupId>com.groupdocs</groupId>
    <artifactId>groupdocs-viewer</artifactId>
    <version>25.2</version>
</dependency>

Acquisition de licence
GroupDocs propose un essai gratuit, des licences temporaires pour l’évaluation, et des options d’achat pour une utilisation commerciale. Visitez leur page d’achat ou la section licence temporaire pour explorer vos options.

Une fois la bibliothèque configurée, initialisons‑la dans une application Java simple :

Viewer viewer = new Viewer("path/to/your/file.chm", new ViewerConfig());

Guide d’implémentation

Comment convertir CHM en HTML ?

Chargez le fichier CHM, définissez un dossier de sortie, et invoquez les options de rendu HTML. L’API extrait automatiquement les ressources intégrées (CSS, images) et peut fusionner le tout en une seule page.

String outputDir = "output/html";
HtmlViewOptions options = HtmlViewOptions.forEmbeddedResources(outputDir);
options.setSinglePage(true); // single‑page output
viewer.view(options);

La classe HtmlViewOptions est l’objet de configuration qui indique au visualiseur comment générer le HTML. Définir singlePage à true consolide tous les chapitres en un seul fichier HTML, ce qui est parfait pour une navigation rapide.

Comment convertir CHM en JPG ?

Rendre les pages CHM en images est utile pour les miniatures ou les aperçus visuels. Vous pouvez spécifier quelles pages rendre, réduisant ainsi le temps de traitement pour les gros documents.

String outputDir = "output/jpg";
JpgViewOptions options = JpgViewOptions.forDirectory(outputDir);
options.setPageNumbers(new int[]{1, 2}); // render only first two pages
viewer.view(options);

La classe JpgViewOptions vous permet de contrôler la qualité de l’image, le DPI et la sélection des pages. Rendre uniquement les pages nécessaires économise de la mémoire et des cycles CPU.

Comment convertir CHM en PNG ?

La sortie PNG conserve une qualité sans perte et prend en charge la transparence, ce qui la rend idéale pour des captures d’écran haute résolution des sujets d’aide.

String outputDir = "output/png";
PngViewOptions options = PngViewOptions.forDirectory(outputDir);
options.setPageNumbers(new int[]{1}); // render the first page as PNG
viewer.view(options);

La classe PngViewOptions fonctionne de manière similaire à son pendant JPG mais produit des fichiers PNG qui conservent une fidélité visuelle exacte.

Comment convertir CHM en PDF ?

Le PDF est le format le plus portable pour la distribution. Le visualiseur peut fusionner l’intégralité du contenu CHM en un seul document PDF avec un appel unique.

String outputPath = "output/chm-document.pdf";
PdfViewOptions options = PdfViewOptions.forFile(outputPath);
viewer.view(options);

La classe PdfViewOptions gère automatiquement la pagination, l’incorporation des polices et la préservation des hyperliens.

Applications pratiques

  • Archivage : Convertir les fichiers CHM hérités en formats modernes pour un accès plus facile et une préservation à long terme.
  • Portails web : Publier la documentation CHM sous forme de pages HTML sur les intranets internes de l’entreprise.
  • Applications mobiles : Regrouper les versions PDF des fichiers d’aide dans les applications Android ou iOS pour une lecture hors ligne.

Considérations de performance

Lors du traitement de conversions de documents volumineux ou nombreux :

  • Gestion de la mémoire : Le rendu en PNG ou JPG haute résolution peut être gourmand en mémoire ; surveillez le tas JVM et envisagez -Xmx2g pour les gros lots.
  • Traitement parallèle : Utilisez le ExecutorService de Java pour convertir plusieurs fichiers CHM simultanément, mais limitez le nombre de threads pour éviter la surcharge CPU.
  • Taille des lots : Pour les archives massives, traitez les fichiers par groupes de 10‑20 afin de garder une utilisation des ressources prévisible.

Problèmes courants et solutions

  • Images manquantes : Assurez‑vous que HtmlViewOptions.forEmbeddedResources est utilisé afin que les images soient extraites avec le HTML.
  • Ordre des pages incorrect : Vérifiez que la table des matières interne du fichier CHM est intacte ; le visualiseur respecte la structure de navigation originale.
  • Erreurs de mémoire insuffisante : Augmentez la taille du tas JVM ou passez en mode streaming avec viewer.view(options, new Stream()) si disponible dans les versions plus récentes de l’API.

Questions fréquemment posées

Q : Puis‑je convertir plusieurs répertoires de fichiers CHM en une fois ?
R : Oui, parcourez un dossier avec l’API Files.list de Java et invoquez le même code de rendu pour chaque fichier.

Q : Comment gérer de gros documents sans épuiser la mémoire ?
R : Augmentez le tas JVM (-Xmx) ou rendez les formats d’image avec un DPI plus bas ; vous pouvez également diviser le CHM en sections et les traiter individuellement.

Q : Est‑il possible de personnaliser davantage le format de sortie ?
R : Oui, GroupDocs.Viewer propose de nombreuses options pour l’injection CSS, la taille de page et la qualité d’image. Explorez la référence API pour les paramètres détaillés.

Q : La bibliothèque préserve‑t‑elle les hyperliens lors de la conversion en PDF ?
R : Absolument. Tous les liens internes du CHM sont convertis en annotations PDF cliquables.

Q : Puis‑je rendre uniquement un sous‑ensemble de chapitres CHM ?
R : Utilisez la méthode setPageNumbers sur les options de vue pour spécifier les pages ou chapitres exacts dont vous avez besoin.

Conclusion

Vous disposez maintenant d’un flux de travail complet, prêt pour la production, pour convertir chm en html, convertir chm en pdf, et générer des représentations d’images en utilisant GroupDocs.Viewer pour Java. Ces techniques vous permettent de moderniser les systèmes d’aide hérités, d’améliorer l’accessibilité et d’intégrer la documentation dans toute solution basée sur Java.

Prêt pour l’étape suivante ? Consultez la documentation officielle de GroupDocs pour des personnalisations avancées, comme l’injection CSS personnalisée, le filigrane et le traitement par lots multi‑threads.


Dernière mise à jour : 2026-06-30
Testé avec : GroupDocs.Viewer Java 25.2
Auteur : GroupDocs

<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>
import com.groupdocs.viewer.Viewer;

public class ViewerSetup {
    public static void main(String[] args) {
        try (Viewer viewer = new Viewer("path/to/your/document.chm")) {
            // Your document viewing and rendering logic goes here.
        }
    }
}
import java.nio.file.Path;

Path outputDirectory = TestFiles.getOutputDirectoryPath("RenderingChmFiles");
Path pageFilePathFormat = outputDirectory.resolve("chm_result_{0}.html");
import com.groupdocs.viewer.Viewer;
import com.groupdocs.viewer.options.HtmlViewOptions;

try (Viewer viewer = new Viewer(TestFiles.SAMPLE_CHM)) {
    HtmlViewOptions options = HtmlViewOptions.forEmbeddedResources(pageFilePathFormat);
    options.setRenderToSinglePage(true); // Optional: render into a single HTML page
    viewer.view(options);
}
Path pageFilePathFormat = outputDirectory.resolve("chm_result_{0}.jpg");
import com.groupdocs.viewer.options.JpgViewOptions;

try (Viewer viewer = new Viewer(TestFiles.SAMPLE_CHM)) {
    JpgViewOptions options = new JpgViewOptions(pageFilePathFormat);
    viewer.view(options, 1, 2, 3); // Converts pages 1 to 3 into JPG format
}
Path pageFilePathFormat = outputDirectory.resolve("chm_result_{0}.png");
import com.groupdocs.viewer.options.PngViewOptions;

try (Viewer viewer = new Viewer(TestFiles.SAMPLE_CHM)) {
    PngViewOptions options = new PngViewOptions(pageFilePathFormat);
    viewer.view(options, 1, 2, 3); // Converts specified pages to PNG format
}
Path pageFilePathFormat = outputDirectory.resolve("chm_result.pdf");
import com.groupdocs.viewer.options.PdfViewOptions;

try (Viewer viewer = new Viewer(TestFiles.SAMPLE_CHM)) {
    PdfViewOptions options = new PdfViewOptions(pageFilePathFormat);
    viewer.view(options); // Generates a single PDF document from the CHM file
}

Tutoriels associés