Jak převést CHM na HTML (a další) pomocí GroupDocs.Viewer Java

Kompilace starých souborů nápovědy do moderních formátů je častou potřebou vývojářů. V tomto tutoriálu převodíte chm na html a také se naučíte, jak vykreslit stejný zdroj CHM do JPG, PNG a převodíte chm na pdf pomocí GroupDocs.Viewer pro Java. Na konci budete mít znovupoužitelný vzor, který funguje pro jakýkoli dokument CHM, ať už archivujete staré příručky nebo zpřístupňujete obsah nápovědy na webovém portálu.

Vykreslení souborů CHM pomocí GroupDocs.Viewer pro Java

Vykreslení souborů CHM pomocí GroupDocs.Viewer pro Java

Rychlé odpovědi

  • Která knihovna zpracovává vykreslování CHM? GroupDocs.Viewer for Java.
  • Mohu získat výstup HTML v jediném souboru? Yes, by enabling the singlePage option.
  • Je převod PDF bezeztrátový? The library preserves layout, images, and hyperlinks.
  • Potřebuji licenci pro testování? A free trial or temporary license is sufficient.
  • Jaké formáty jsou podporovány? HTML, JPG, PNG, PDF, plus others like DOCX and XLSX.

Co je GroupDocs.Viewer pro Java?

GroupDocs.Viewer pro Java je server‑side API, které vykresluje více než 70 typů dokumentů — včetně CHM — do web‑přátelských formátů bez potřeby Microsoft Office nebo Adobe Acrobat. Funguje na jakémkoli runtime Java 8+ a může být integrováno do webových, desktopových nebo mikro‑servisních architektur. Další podrobnosti najdete v GroupDocs dokumentaci.

Proč převádět CHM na HTML?

GroupDocs.Viewer podporuje více než 50 vstupních a výstupních formátů a může převést 200‑stránkový soubor CHM na jedinou HTML stránku za méně než 2 sekundy na typickém 2 GHz CPU, přičemž zachová všechny vnitřní odkazy funkční. Tato rychlost a šíře formátů jej činí ideálním pro migraci starých systémů nápovědy na moderní webové portály.

Předpoklady

  • GroupDocs.Viewer Java library (version 25.2 nebo novější).
  • Maven‑compatible projekt (IntelliJ IDEA, Eclipse nebo podobný).
  • Základní znalost Javy a správy závislostí Maven.

Nastavení GroupDocs.Viewer pro Java

Pro použití GroupDocs.Viewer ve vašem Java projektu přidejte Maven závislost:

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

Získání licence
GroupDocs nabízí bezplatnou zkušební verzi, dočasné licence pro evaluační účely a možnosti nákupu pro komerční použití. Navštivte jejich stránku nákupu nebo sekci dočasné licence, abyste prozkoumali své možnosti.

Po nastavení knihovny ji inicializujte v jednoduché Java aplikaci:

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

Průvodce implementací

Jak převést CHM na HTML?

Načtěte soubor CHM, definujte výstupní složku a zavolejte možnosti vykreslování HTML. API automaticky extrahuje vložené zdroje (CSS, obrázky) a může vše sloučit do jedné stránky.

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

HtmlViewOptions třída je konfigurační objekt, který říká prohlížeči, jak generovat HTML. Nastavením singlePage na true sloučíte všechny kapitoly do jednoho HTML souboru, což je ideální pro rychlé prohlížení.

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

Jak převést CHM na JPG?

Vykreslování stránek CHM jako obrázků je užitečné pro náhledy nebo vizuální ukázky. Můžete specifikovat, které stránky vykreslit, čímž snížíte dobu zpracování u velkých dokumentů.

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

JpgViewOptions třída vám umožňuje řídit kvalitu obrazu, DPI a výběr stránek. Vykreslování pouze potřebných stránek šetří paměť a cykly CPU.

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

Jak převést CHM na PNG?

Výstup PNG zachovává bezeztrátovou kvalitu a podporuje průhlednost, což je ideální pro vysoce rozlišené snímky obrazovky témat nápovědy.

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

PngViewOptions třída funguje podobně jako její JPG protějšek, ale vytváří PNG soubory, které zachovávají přesnou vizuální věrnost.

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

Jak převést CHM na PDF?

PDF je nejpřenosnější formát pro distribuci. Prohlížeč může sloučit celý obsah CHM do jediného PDF dokumentu jedním voláním.

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

PdfViewOptions třída automaticky zpracovává stránkování, vložení fontů a zachování hyperodkazů.

<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>

Praktické aplikace

  • Archivace: Převod starých souborů CHM do moderních formátů pro snadnější přístup a dlouhodobou archivaci.
  • Webové portály: Publikujte dokumentaci CHM jako HTML stránky na interních intranetech společnosti.
  • Mobilní aplikace: Zabalte PDF verze souborů nápovědy do aplikací pro Android nebo iOS pro offline čtení.

Úvahy o výkonu

Když pracujete s velkými nebo četnými převody dokumentů:

  • Správa paměti: Vykreslování do PNG nebo vysoce rozlišeného JPG může být náročné na paměť; monitorujte haldu JVM a zvažte -Xmx2g pro velké dávky.
  • Paralelní zpracování: Použijte ExecutorService v Javě k souběžnému převodu více souborů CHM, ale omezte počet vláken, aby nedošlo k přetížení CPU.
  • Velikost dávky: Pro masivní archivy zpracovávejte soubory ve skupinách po 10‑20, aby bylo využití zdrojů předvídatelné.

Časté problémy a řešení

  • Chybějící obrázky: Ujistěte se, že je použita HtmlViewOptions.forEmbeddedResources, aby byly obrázky extrahovány spolu s HTML.
  • Nesprávné pořadí stránek: Ověřte, že interní TOC souboru CHM je neporušené; prohlížeč respektuje původní navigační strukturu.
  • Chyby nedostatku paměti: Zvyšte velikost haldy JVM nebo přepněte do režimu streamování pomocí viewer.view(options, new Stream()), pokud je k dispozici v novějších verzích API.

Často kladené otázky

Q: Mohu najednou převést celé adresáře souborů CHM?
A: Ano, projděte složku pomocí Java Files.list API a zavolejte stejný kód pro vykreslování pro každý soubor.

Q: Jak zacházet s velkými dokumenty, aniž bych vyčerpával paměť?
A: Zvyšte velikost haldy JVM (-Xmx) nebo vykreslujte do obrazových formátů s nižším DPI; můžete také rozdělit CHM na sekce a zpracovávat je jednotlivě.

Q: Je možné dále přizpůsobit formátování výstupu?
A: Ano, GroupDocs.Viewer nabízí rozsáhlé možnosti pro injekci CSS, velikost stránky a kvalitu obrazu. Prozkoumejte API reference pro podrobná nastavení.

Q: Zachovává knihovna hyperodkazy při převodu do PDF?
A: Ano. Všechny interní odkazy CHM jsou převedeny na klikatelné PDF anotace.

Q: Mohu vykreslit jen podmnožinu kapitol CHM?
A: Použijte metodu setPageNumbers na možnostech zobrazení k určení konkrétních stránek nebo kapitol, které potřebujete.

Závěr

Nyní máte kompletní, připravený pracovní postup pro převod chm na html, převod chm na pdf a generování obrazových reprezentací pomocí GroupDocs.Viewer pro Java. Tyto techniky vám umožní modernizovat staré systémy nápovědy, zlepšit přístupnost a integrovat dokumentaci do jakéhokoli řešení založeného na Javě.

Jste připraveni na další krok? Prohlédněte si oficiální dokumentaci GroupDocs pro pokročilé přizpůsobení, jako je vlastní injekce CSS, vodoznakování a vícevláknové dávkové zpracování.


Poslední aktualizace: 2026-06-30
Testováno s: 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
}

Související tutoriály