Wie man CHM zu HTML (und mehr) mit GroupDocs.Viewer Java konvertiert

Das Zusammenstellen von Legacy‑Hilfedateien in moderne Formate ist ein häufiger Bedarf für Entwickler. In diesem Tutorial konvertieren Sie CHM zu HTML und lernen außerdem, wie Sie dieselbe CHM‑Quelle zu JPG, PNG rendern und CHM zu PDF konvertieren mit GroupDocs.Viewer für Java. Am Ende haben Sie ein wiederverwendbares Muster, das für jedes CHM‑Dokument funktioniert, egal ob Sie alte Handbücher archivieren oder Hilfsinhalte auf einem Web‑Portal bereitstellen.

CHM-Dateien mit GroupDocs.Viewer für Java rendern

CHM-Dateien mit GroupDocs.Viewer für Java rendern

Schnelle Antworten

  • Welche Bibliothek übernimmt das Rendern von CHM? GroupDocs.Viewer für Java.
  • Kann ich die HTML‑Ausgabe in einer einzigen Datei erhalten? Ja, indem Sie die Option singlePage aktivieren.
  • Ist die PDF‑Konvertierung verlustfrei? Die Bibliothek bewahrt Layout, Bilder und Hyperlinks.
  • Benötige ich eine Lizenz zum Testen? Eine kostenlose Testversion oder eine temporäre Lizenz reicht aus.
  • Welche Formate werden unterstützt? HTML, JPG, PNG, PDF sowie weitere wie DOCX und XLSX.

Was ist GroupDocs.Viewer für Java?

GroupDocs.Viewer für Java ist eine serverseitige API, die über 70 Dokumenttypen – einschließlich CHM – in web‑freundliche Formate rendert, ohne dass Microsoft Office oder Adobe Acrobat erforderlich sind. Sie funktioniert auf jeder Java 8+ Laufzeitumgebung und lässt sich in Web‑, Desktop‑ oder Micro‑Service‑Architekturen integrieren. Weitere Details finden Sie in der GroupDocs‑Dokumentation.

Warum CHM zu HTML konvertieren?

GroupDocs.Viewer unterstützt 50+ Eingabe‑ und Ausgabeformate und kann eine 200‑seitige CHM‑Datei in weniger als 2 Sekunden auf einer typischen 2 GHz‑CPU in eine einzelne HTML‑Seite umwandeln, wobei alle internen Links funktionsfähig bleiben. Diese Geschwindigkeit und Formatvielfalt machen es ideal für die Migration von Legacy‑Hilfesystemen zu modernen Web‑Portalen.

Voraussetzungen

  • GroupDocs.Viewer Java‑Bibliothek (Version 25.2 oder neuer).
  • Maven‑kompatibles Projekt (IntelliJ IDEA, Eclipse oder Ähnliches).
  • Grundkenntnisse in Java und Maven‑Abhängigkeitsverwaltung.

Einrichtung von GroupDocs.Viewer für Java

Um GroupDocs.Viewer in Ihrem Java‑Projekt zu verwenden, fügen Sie die Maven‑Abhängigkeit hinzu:

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

Lizenzbeschaffung
GroupDocs bietet eine kostenlose Testversion, temporäre Lizenzen für Evaluierungszwecke und Kaufoptionen für den kommerziellen Einsatz. Besuchen Sie die Kaufseite oder den Abschnitt für temporäre Lizenzen, um Ihre Optionen zu prüfen.

Nachdem die Bibliothek eingerichtet ist, initialisieren wir sie in einer einfachen Java‑Anwendung:

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

Dieses Snippet demonstriert die Grundkonfiguration. Wir bauen darauf auf, während wir verschiedene Rendering‑Funktionen erkunden.

Implementierungs‑Leitfaden

Wie konvertiere ich CHM zu HTML?

Laden Sie die CHM‑Datei, definieren Sie einen Ausgabepfad und rufen Sie die HTML‑Render‑Optionen auf. Die API extrahiert automatisch eingebettete Ressourcen (CSS, Bilder) und kann alles zu einer einzigen Seite zusammenführen.

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

Die Klasse HtmlViewOptions ist das Konfigurationsobjekt, das dem Viewer sagt, wie HTML erzeugt werden soll. Das Setzen von singlePage auf true fasst alle Kapitel in einer HTML‑Datei zusammen – ideal für schnelles Browsen.

Wie konvertiere ich CHM zu JPG?

Das Rendern von CHM‑Seiten als Bilder ist nützlich für Thumbnails oder visuelle Vorschauen. Sie können festlegen, welche Seiten gerendert werden sollen, um die Verarbeitungszeit bei großen Dokumenten zu reduzieren.

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

Die Klasse JpgViewOptions ermöglicht die Steuerung von Bildqualität, DPI und Seitenauswahl. Das Rendern nur benötigter Seiten spart Speicher und CPU‑Ressourcen.

Wie konvertiere ich CHM zu PNG?

PNG‑Ausgabe bewahrt verlustfreie Qualität und unterstützt Transparenz, was sie ideal für hochauflösende Screenshots von Hilfethemen macht.

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

Die Klasse PngViewOptions funktioniert ähnlich wie ihr JPG‑Gegenstück, erzeugt jedoch PNG‑Dateien, die die exakte visuelle Treue erhalten.

Wie konvertiere ich CHM zu PDF?

PDF ist das portabelste Format für die Verteilung. Der Viewer kann den gesamten CHM‑Inhalt mit einem einzigen Aufruf in ein einzelnes PDF‑Dokument zusammenführen.

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

Die Klasse PdfViewOptions übernimmt automatisch Paginierung, Schriftart‑Einbettung und die Bewahrung von Hyperlinks.

Praktische Anwendungsfälle

  • Archivierung: Konvertieren Sie Legacy‑CHM‑Dateien in moderne Formate für einfacheren Zugriff und langfristige Aufbewahrung.
  • Web‑Portale: Veröffentlichen Sie CHM‑Dokumentation als HTML‑Seiten in internen Unternehmens‑Intranets.
  • Mobile Apps: Bündeln Sie PDF‑Versionen von Hilfedateien in Android‑ oder iOS‑Anwendungen für Offline‑Lesen.

Leistungs‑Überlegungen

Beim Umgang mit großen oder zahlreichen Dokumentkonvertierungen:

  • Speichermanagement: Das Rendern zu PNG oder hochauflösenden JPG kann speicherintensiv sein; überwachen Sie den JVM‑Heap und erwägen Sie -Xmx2g für große Stapel.
  • Parallelverarbeitung: Nutzen Sie Java‑ExecutorService, um mehrere CHM‑Dateien gleichzeitig zu konvertieren, aber begrenzen Sie die Thread‑Anzahl, um CPU‑Überlastung zu vermeiden.
  • Stapelgröße: Für massive Archive verarbeiten Sie Dateien in Gruppen von 10‑20, um den Ressourcenverbrauch vorhersehbar zu halten.

Häufige Probleme und Lösungen

  • Fehlende Bilder: Stellen Sie sicher, dass HtmlViewOptions.forEmbeddedResources verwendet wird, damit Bilder zusammen mit dem HTML extrahiert werden.
  • Falsche Seitenreihenfolge: Prüfen Sie, ob das interne Inhaltsverzeichnis der CHM‑Datei intakt ist; der Viewer respektiert die ursprüngliche Navigationsstruktur.
  • Out‑of‑Memory‑Fehler: Erhöhen Sie den JVM‑Heap oder wechseln Sie in den Streaming‑Modus mit viewer.view(options, new Stream()), falls in neueren API‑Versionen verfügbar.

Häufig gestellte Fragen

Q: Kann ich ganze Verzeichnisse von CHM‑Dateien auf einmal konvertieren?
A: Ja, iterieren Sie über einen Ordner mit Java‑Files.list‑API und rufen Sie denselben Rendering‑Code für jede Datei auf.

Q: Wie gehe ich mit großen Dokumenten um, ohne den Speicher zu überlasten?
A: Erhöhen Sie den JVM‑Heap (-Xmx) oder rendern Sie zu Bildformaten mit niedrigerer DPI; Sie können das CHM auch in Abschnitte aufteilen und diese einzeln verarbeiten.

Q: Ist es möglich, die Ausgabeformatierung weiter anzupassen?
A: Ja, GroupDocs.Viewer bietet umfangreiche Optionen für CSS‑Injection, Seitengröße und Bildqualität. Erkunden Sie die API‑Referenz für detaillierte Einstellungen.

Q: Bewahrt die Bibliothek Hyperlinks beim Konvertieren zu PDF?
A: Absolut. Alle internen CHM‑Links werden in anklickbare PDF‑Annotationen übersetzt.

Q: Kann ich nur einen Teil der CHM‑Kapitel rendern?
A: Verwenden Sie die Methode setPageNumbers in den View‑Optionen, um exakt die gewünschten Seiten oder Kapitel anzugeben.

Fazit

Sie verfügen nun über einen vollständigen, produktionsreifen Workflow, um CHM zu HTML, CHM zu PDF zu konvertieren und Bilddarstellungen mit GroupDocs.Viewer für Java zu erzeugen. Diese Techniken ermöglichen es Ihnen, Legacy‑Hilfesysteme zu modernisieren, die Barrierefreiheit zu verbessern und Dokumentation in jede Java‑basierte Lösung zu integrieren.

Bereit für den nächsten Schritt? Prüfen Sie die offizielle GroupDocs‑Dokumentation für erweiterte Anpassungen, wie benutzerdefinierte CSS‑Injection, Wasserzeichen und mehr‑threadige Batch‑Verarbeitung.


Zuletzt aktualisiert: 2026-06-30
Getestet mit: GroupDocs.Viewer Java 25.2
Autor: 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
}

Verwandte Tutorials