GroupDocs.Viewer Java を使用して CHM を HTML(その他の形式)に変換する方法

レガシーなヘルプファイルを最新の形式にコンパイルすることは、開発者にとって頻繁なニーズです。このチュートリアルでは convert chm to html を行い、同じ CHM ソースを JPG、PNG にレンダリングし、convert chm to pdf する方法も学びます。最後までで、古いマニュアルをアーカイブしたり、ヘルプコンテンツをウェブポータルで公開したりする際に、あらゆる CHM ドキュメントで使える再利用可能なパターンが手に入ります。

GroupDocs.Viewer for Java で CHM ファイルをレンダリング

GroupDocs.Viewer for Java で CHM ファイルをレンダリング

クイック回答

  • CHM のレンダリングを処理するライブラリは何ですか? GroupDocs.Viewer for Java.
  • HTML 出力を単一ファイルにできますか? Yes, by enabling the singlePage option.
  • PDF 変換はロスレスですか? The library preserves layout, images, and hyperlinks.
  • テスト用にライセンスは必要ですか? A free trial or temporary license is sufficient.
  • サポートされている形式は何ですか? HTML, JPG, PNG, PDF, plus others like DOCX and XLSX.

GroupDocs.Viewer for Java とは?

GroupDocs.Viewer for Java は、サーバーサイド API で、CHM を含む 70 種類以上のドキュメントを Microsoft Office や Adobe Acrobat を必要とせずに Web フレンドリーな形式にレンダリングします。Java 8 以降のランタイム上で動作し、Web、デスクトップ、マイクロサービス アーキテクチャに統合できます。詳細は GroupDocs documentation を参照してください。

なぜ CHM を HTML に変換するのか?

GroupDocs.Viewer は 50 以上の入力および出力形式 をサポートし、200 ページの CHM ファイルを典型的な 2 GHz CPU で 2 秒未満で単一の HTML ページに変換でき、内部リンクもすべて機能したままです。この速度とフォーマットの幅広さにより、レガシーヘルプシステムを最新の Web ポータルへ移行するのに最適です。

前提条件

  • GroupDocs.Viewer Java ライブラリ(バージョン 25.2 以降)。
  • Maven 対応プロジェクト(IntelliJ IDEA、Eclipse、または類似)。
  • Java と Maven の依存関係管理に関する基本的な知識。

GroupDocs.Viewer for Java の設定

Java プロジェクトで GroupDocs.Viewer を使用するには、Maven 依存関係を追加します:

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

ライセンス取得
GroupDocs は無料トライアル、評価用の一時ライセンス、商用利用向けの購入オプションを提供しています。オプションを確認するには、purchase page または temporary license section をご覧ください。

ライブラリの設定が完了したら、シンプルな Java アプリケーションで初期化してみましょう:

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

実装ガイド

CHM を HTML に変換する方法

CHM ファイルを読み込み、出力フォルダーを定義し、HTML レンダリングオプションを呼び出します。API は埋め込みリソース(CSS、画像)を自動的に抽出し、すべてを単一ページに統合できます。

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

CHM を JPG に変換する方法

CHM ページを画像としてレンダリングすることは、サムネイルやビジュアルプレビューに便利です。レンダリングするページを指定でき、大きなドキュメントの処理時間を短縮できます。

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

CHM を PNG に変換する方法

PNG 出力はロスレス品質を保ち、透過をサポートするため、ヘルプトピックの高解像度スクリーンショットに最適です。

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

CHM を PDF に変換する方法

PDF は配布に最も汎用性の高い形式です。ビューアは単一の呼び出しで CHM 全体のコンテンツを単一の PDF ドキュメントに統合できます。

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

実用的な活用例

  • アーカイブ: レガシー CHM ファイルをモダンな形式に変換し、アクセスしやすく長期保存を容易にします。
  • Web ポータル: CHM ドキュメントを社内イントラネットの HTML ページとして公開します。
  • モバイルアプリ: Android や iOS アプリ内にヘルプファイルの PDF バージョンをバンドルし、オフラインで閲覧できるようにします。

パフォーマンス上の考慮点

大量または多数のドキュメント変換を扱う際は、次の点に留意してください:

  • メモリ管理: PNG や高解像度 JPG へのレンダリングはメモリ集約的になる可能性があります。JVM ヒープを監視し、大規模バッチの場合は -Xmx2g の使用を検討してください。
  • 並列処理: Java の ExecutorService を使用して複数の CHM ファイルを同時に変換できますが、CPU の過負荷を防ぐためにスレッド数は制限してください。
  • バッチサイズ: 大規模アーカイブの場合、リソース使用量を予測可能に保つために 10〜20 ファイルずつのグループで処理してください。

よくある問題と解決策

  • 画像が欠落: 画像が HTML と共に抽出されるように HtmlViewOptions.forEmbeddedResources が使用されていることを確認してください。
  • ページ順序が不正: CHM ファイルの内部目次(TOC)が正しく保持されているか確認してください。ビューアは元のナビゲーション構造を尊重します。
  • メモリ不足エラー: JVM ヒープサイズを増やすか、利用可能な新しい API バージョンで viewer.view(options, new Stream()) を使用してストリーミングモードに切り替えてください。

よくある質問

Q: CHM ファイルのディレクトリ全体を一度に変換できますか?
A: はい、Java の Files.list API でフォルダーをループし、各ファイルに同じレンダリングコードを呼び出します。

Q: 大きなドキュメントでメモリ不足にならないようにするには?
A: JVM ヒープ (-Xmx) を増やすか、低 DPI の画像形式でレンダリングしてください。また、CHM をセクションに分割して個別に処理することも可能です。

Q: 出力フォーマットをさらにカスタマイズできますか?
A: はい、GroupDocs.Viewer は CSS の注入、ページサイズ、画像品質などの豊富なオプションを提供しています。詳細な設定は API reference をご覧ください。

Q: PDF に変換する際にハイパーリンクは保持されますか?
A: もちろんです。すべての内部 CHM リンクはクリック可能な PDF アノテーションに変換されます。

Q: CHM の章の一部だけをレンダリングできますか?
A: 必要なページまたは章を指定するには、ビューオプションの setPageNumbers メソッドを使用してください。

結論

これで、convert chm to htmlconvert chm to pdf を実行し、GroupDocs.Viewer for Java を使用して画像表現を生成する完全な本番対応ワークフローが手に入りました。これらの手法により、レガシーヘルプシステムをモダン化し、アクセシビリティを向上させ、任意の Java ベースのソリューションにドキュメントを統合できます。

次のステップに進みますか? カスタム CSS の注入、透かし、マルチスレッド バッチ処理などの高度なカスタマイズについては、公式の GroupDocs ドキュメントをご確認ください。


最終更新日: 2026-06-30
テスト環境: GroupDocs.Viewer Java 25.2
作者: 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
}

関連チュートリアル