Hoe CHM naar HTML (en meer) converteren met GroupDocs.Viewer Java
Het compileren van legacy‑helpbestanden naar moderne formaten is een veelvoorkomende behoefte voor ontwikkelaars. In deze tutorial convert chm to html je en leer je ook hoe je dezelfde CHM‑bron rendert naar JPG, PNG, en convert chm to pdf met GroupDocs.Viewer voor Java. Aan het einde heb je een herbruikbaar patroon dat werkt voor elk CHM‑document, of je nu oude handleidingen archiveert of helpinhoud op een webportaal beschikbaar maakt.

Render CHM Files with GroupDocs.Viewer for Java
Snelle antwoorden
- Welke bibliotheek behandelt CHM-rendering? GroupDocs.Viewer for Java.
- Kan ik HTML‑output in één enkel bestand krijgen? Ja, door de
singlePage‑optie in te schakelen. - Is PDF-conversie verliesvrij? De bibliotheek behoudt lay-out, afbeeldingen en hyperlinks.
- Heb ik een licentie nodig voor testen? Een gratis proefversie of tijdelijke licentie is voldoende.
- Welke formaten worden ondersteund? HTML, JPG, PNG, PDF, plus andere zoals DOCX en XLSX.
Wat is GroupDocs.Viewer voor Java?
GroupDocs.Viewer voor Java is een server‑side API die meer dan 70 documenttypen—waaronder CHM—rendert naar web‑vriendelijke formaten zonder dat Microsoft Office of Adobe Acrobat nodig is. Het werkt op elke Java 8+ runtime en kan worden geïntegreerd in web-, desktop- of micro‑service‑architecturen. Voor meer details zie de GroupDocs documentation.
Waarom CHM naar HTML converteren?
GroupDocs.Viewer ondersteunt 50+ invoer‑ en uitvoerformaten en kan een CHM‑bestand van 200 pagina’s omzetten naar één enkele HTML‑pagina in minder dan 2 seconden op een typische 2 GHz CPU, terwijl alle interne links functioneel blijven. Deze snelheid en breedte aan formaten maken het ideaal voor het migreren van legacy‑helpsystemen naar moderne webportalen.
Vereisten
- GroupDocs.Viewer Java‑bibliotheek (versie 25.2 of later).
- Maven‑compatibel project (IntelliJ IDEA, Eclipse, of vergelijkbaar).
- Basiskennis van Java en Maven‑dependency‑beheer.
GroupDocs.Viewer voor Java instellen
Om GroupDocs.Viewer in je Java‑project te gebruiken, voeg je de Maven‑dependency toe:
<dependency>
<groupId>com.groupdocs</groupId>
<artifactId>groupdocs-viewer</artifactId>
<version>25.2</version>
</dependency>
Licentie‑acquisitie
GroupDocs biedt een gratis proefversie, tijdelijke licenties voor evaluatiedoeleinden, en aankoopopties voor commercieel gebruik. Bezoek hun purchase page of de temporary license section om je opties te bekijken.
Met de bibliotheek ingesteld, laten we deze initialiseren in een eenvoudige Java‑applicatie:
Viewer viewer = new Viewer("path/to/your/file.chm", new ViewerConfig());
Dit fragment toont de basisconfiguratie. We zullen hierop voortbouwen terwijl we verschillende rendermogelijkheden verkennen.
Implementatie‑gids
Hoe CHM naar HTML converteren?
Laad het CHM‑bestand, definieer een uitvoermap, en roep de HTML‑renderopties aan. De API extraheert automatisch ingesloten resources (CSS, afbeeldingen) en kan alles samenvoegen tot één enkele pagina.
String outputDir = "output/html";
HtmlViewOptions options = HtmlViewOptions.forEmbeddedResources(outputDir);
options.setSinglePage(true); // single‑page output
viewer.view(options);
De HtmlViewOptions‑klasse is het configuratie‑object dat de viewer vertelt hoe HTML moet worden gegenereerd. Het instellen van singlePage op true consolideert alle hoofdstukken in één HTML‑bestand, wat perfect is voor snel browsen.
Hoe CHM naar JPG converteren?
Het renderen van CHM‑pagina’s als afbeeldingen is nuttig voor miniaturen of visuele previews. Je kunt opgeven welke pagina’s moeten worden gerenderd, waardoor de verwerkingstijd voor grote documenten wordt verminderd.
String outputDir = "output/jpg";
JpgViewOptions options = JpgViewOptions.forDirectory(outputDir);
options.setPageNumbers(new int[]{1, 2}); // render only first two pages
viewer.view(options);
De JpgViewOptions‑klasse stelt je in staat de beeldkwaliteit, DPI en paginaselectie te regelen. Alleen de benodigde pagina’s renderen bespaart geheugen en CPU‑cycli.
Hoe CHM naar PNG converteren?
PNG‑output behoudt verliesloze kwaliteit en ondersteunt transparantie, waardoor het ideaal is voor high‑resolution screenshots van help‑onderwerpen.
String outputDir = "output/png";
PngViewOptions options = PngViewOptions.forDirectory(outputDir);
options.setPageNumbers(new int[]{1}); // render the first page as PNG
viewer.view(options);
De PngViewOptions‑klasse werkt vergelijkbaar met de JPG‑variant maar produceert PNG‑bestanden die de exacte visuele getrouwheid behouden.
Hoe CHM naar PDF converteren?
PDF is het meest draagbare formaat voor distributie. De viewer kan de volledige CHM‑inhoud samenvoegen tot één PDF‑document met één enkele aanroep.
String outputPath = "output/chm-document.pdf";
PdfViewOptions options = PdfViewOptions.forFile(outputPath);
viewer.view(options);
De PdfViewOptions‑klasse behandelt paginering, lettertype‑embedding en hyperlink‑behoud automatisch.
Praktische toepassingen
- Archivering: Converteer legacy CHM‑bestanden naar moderne formaten voor eenvoudigere toegang en langdurige bewaring.
- Webportalen: Publiceer CHM‑documentatie als HTML‑pagina’s op interne bedrijfs‑intranetten.
- Mobiele apps: Bundel PDF‑versies van help‑bestanden binnen Android‑ of iOS‑applicaties voor offline lezen.
Prestatie‑overwegingen
Bij het omgaan met grote of talrijke documentconversies:
- Geheugenbeheer: Renderen naar PNG of high‑resolution JPG kan veel geheugen verbruiken; monitor de JVM‑heap en overweeg
-Xmx2gvoor grote batches. - Parallel verwerken: Gebruik Java’s
ExecutorServiceom meerdere CHM‑bestanden gelijktijdig te converteren, maar beperk het aantal threads om CPU‑overbelasting te voorkomen. - Batch‑grootte: Voor enorme archieven, verwerk bestanden in groepen van 10‑20 om het resource‑gebruik voorspelbaar te houden.
Veelvoorkomende problemen en oplossingen
- Ontbrekende afbeeldingen: Zorg ervoor dat
HtmlViewOptions.forEmbeddedResourceswordt gebruikt zodat afbeeldingen naast de HTML worden geëxtraheerd. - Onjuiste paginavolgorde: Controleer of de interne inhoudsopgave (TOC) van het CHM‑bestand intact is; de viewer respecteert de oorspronkelijke navigatiestructuur.
- Out‑of‑Memory‑fouten: Verhoog de JVM‑heapgrootte of schakel over naar streaming‑modus met
viewer.view(options, new Stream())indien beschikbaar in nieuwere API‑versies.
Veelgestelde vragen
V: Kan ik volledige mappen met CHM‑bestanden in één keer converteren?
A: Ja, loop door een map met Java’s Files.list‑API en roep dezelfde rendercode aan voor elk bestand.
V: Hoe ga ik om met grote documenten zonder geheugen op te raken?
A: Verhoog de JVM‑heap (-Xmx) of render naar beeldformaten met lagere DPI; je kunt het CHM ook opsplitsen in secties en ze afzonderlijk verwerken.
V: Is het mogelijk de output‑opmaak verder aan te passen?
A: Ja, GroupDocs.Viewer biedt uitgebreide opties voor CSS‑injectie, paginagrootte en beeldkwaliteit. Bekijk de API reference voor gedetailleerde instellingen.
V: Behoudt de bibliotheek hyperlinks bij conversie naar PDF?
A: Absoluut. Alle interne CHM‑links worden vertaald naar klikbare PDF‑annotaties.
V: Kan ik alleen een deel van de CHM‑hoofdstukken renderen?
A: Gebruik de setPageNumbers‑methode op de view‑options om exacte pagina’s of hoofdstukken op te geven die je nodig hebt.
Conclusie
Je hebt nu een complete, productie‑klare workflow om convert chm to html, convert chm to pdf te doen, en afbeeldingsrepresentaties te genereren met GroupDocs.Viewer voor Java. Deze technieken stellen je in staat legacy‑helpsystemen te moderniseren, de toegankelijkheid te verbeteren, en documentatie te integreren in elke Java‑gebaseerde oplossing.
Klaar voor de volgende stap? Bekijk de officiële GroupDocs‑documentatie voor geavanceerde aanpassingen, zoals aangepaste CSS‑injectie, watermerken, en multi‑threaded batch‑verwerking.
Laatst bijgewerkt: 2026-06-30
Getest met: 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
}