Cara Mengonversi CHM ke HTML (dan Lainnya) Menggunakan GroupDocs.Viewer Java
Menyusun file bantuan lama ke dalam format modern adalah kebutuhan yang sering bagi pengembang. Dalam tutorial ini Anda akan mengonversi chm ke html dan juga belajar cara merender sumber CHM yang sama ke JPG, PNG, dan mengonversi chm ke pdf menggunakan GroupDocs.Viewer untuk Java. Pada akhir tutorial Anda akan memiliki pola yang dapat digunakan kembali yang bekerja untuk dokumen CHM apa pun, baik Anda mengarsipkan manual lama atau menampilkan konten bantuan di portal web.

Render File CHM dengan GroupDocs.Viewer untuk Java
Jawaban Cepat
- Perpustakaan apa yang menangani rendering CHM? GroupDocs.Viewer untuk Java.
- Apakah saya dapat mendapatkan output HTML dalam satu file? Ya, dengan mengaktifkan opsi
singlePage. - Apakah konversi PDF tanpa kehilangan? Perpustakaan mempertahankan tata letak, gambar, dan hyperlink.
- Apakah saya memerlukan lisensi untuk pengujian? Versi percobaan gratis atau lisensi sementara sudah cukup.
- Format apa yang didukung? HTML, JPG, PNG, PDF, serta lainnya seperti DOCX dan XLSX.
Apa itu GroupDocs.Viewer untuk Java?
GroupDocs.Viewer untuk Java adalah API sisi‑server yang merender lebih dari 70 tipe dokumen—termasuk CHM—ke dalam format yang ramah web tanpa memerlukan Microsoft Office atau Adobe Acrobat. Ia bekerja pada runtime Java 8+ apa pun dan dapat diintegrasikan ke dalam arsitektur web, desktop, atau mikro‑service. Untuk detail lebih lanjut lihat dokumentasi GroupDocs.
Mengapa Mengonversi CHM ke HTML?
GroupDocs.Viewer mendukung lebih dari 50 format input dan output dan dapat mengubah file CHM 200‑halaman menjadi satu halaman HTML dalam kurang dari 2 detik pada CPU 2 GHz tipikal, sambil menjaga semua tautan internal tetap berfungsi. Kecepatan dan keberagaman format ini menjadikannya ideal untuk memigrasikan sistem bantuan lama ke portal web modern.
Prasyarat
- Perpustakaan GroupDocs.Viewer Java (versi 25.2 atau lebih baru).
- Proyek yang kompatibel dengan Maven (IntelliJ IDEA, Eclipse, atau serupa).
- Pengetahuan dasar tentang Java dan manajemen dependensi Maven.
Menyiapkan GroupDocs.Viewer untuk Java
Untuk menggunakan GroupDocs.Viewer dalam proyek Java Anda, tambahkan dependensi Maven:
<dependency>
<groupId>com.groupdocs</groupId>
<artifactId>groupdocs-viewer</artifactId>
<version>25.2</version>
</dependency>
Perolehan Lisensi
GroupDocs menawarkan percobaan gratis, lisensi sementara untuk tujuan evaluasi, dan opsi pembelian untuk penggunaan komersial. Kunjungi halaman pembelian atau bagian lisensi sementara untuk menjelajahi opsi Anda.
Setelah perpustakaan diatur, mari inisialisasi dalam aplikasi Java sederhana:
Viewer viewer = new Viewer("path/to/your/file.chm", new ViewerConfig());
Panduan Implementasi
Cara Mengonversi CHM ke HTML?
Muat file CHM, tentukan folder output, dan panggil opsi rendering HTML. API secara otomatis mengekstrak sumber daya tersemat (CSS, gambar) dan dapat menggabungkan semuanya menjadi satu halaman.
String outputDir = "output/html";
HtmlViewOptions options = HtmlViewOptions.forEmbeddedResources(outputDir);
options.setSinglePage(true); // single‑page output
viewer.view(options);
Cara Mengonversi CHM ke JPG?
Merender halaman CHM sebagai gambar berguna untuk thumbnail atau pratinjau visual. Anda dapat menentukan halaman mana yang akan dirender, mengurangi waktu pemrosesan untuk dokumen besar.
String outputDir = "output/jpg";
JpgViewOptions options = JpgViewOptions.forDirectory(outputDir);
options.setPageNumbers(new int[]{1, 2}); // render only first two pages
viewer.view(options);
Cara Mengonversi CHM ke PNG?
Output PNG mempertahankan kualitas tanpa kehilangan dan mendukung transparansi, menjadikannya ideal untuk tangkapan layar resolusi tinggi dari topik bantuan.
String outputDir = "output/png";
PngViewOptions options = PngViewOptions.forDirectory(outputDir);
options.setPageNumbers(new int[]{1}); // render the first page as PNG
viewer.view(options);
Cara Mengonversi CHM ke PDF?
PDF adalah format paling portabel untuk distribusi. Viewer dapat menggabungkan seluruh konten CHM menjadi satu dokumen PDF dengan satu panggilan.
String outputPath = "output/chm-document.pdf";
PdfViewOptions options = PdfViewOptions.forFile(outputPath);
viewer.view(options);
Aplikasi Praktis
- Pengarsipan: Mengonversi file CHM lama ke format modern untuk akses yang lebih mudah dan preservasi jangka panjang.
- Portal Web: Menerbitkan dokumentasi CHM sebagai halaman HTML di intranet perusahaan internal.
- Aplikasi Mobile: Mengemas versi PDF file bantuan dalam aplikasi Android atau iOS untuk membaca secara offline.
Pertimbangan Kinerja
Ketika menangani konversi dokumen yang besar atau banyak:
- Manajemen Memori: Rendering ke PNG atau JPG resolusi tinggi dapat memakan banyak memori; pantau heap JVM dan pertimbangkan
-Xmx2guntuk batch besar. - Pemrosesan Paralel: Gunakan
ExecutorServiceJava untuk mengonversi beberapa file CHM secara bersamaan, tetapi batasi thread untuk menghindari beban CPU berlebih. - Ukuran Batch: Untuk arsip besar, proses file dalam kelompok 10‑20 untuk menjaga penggunaan sumber daya tetap dapat diprediksi.
Masalah Umum dan Solusinya
- Gambar Hilang: Pastikan
HtmlViewOptions.forEmbeddedResourcesdigunakan sehingga gambar diekstrak bersamaan dengan HTML. - Urutan Halaman Salah: Verifikasi bahwa TOC internal file CHM lengkap; viewer menghormati struktur navigasi asli.
- Kesalahan Out‑of‑Memory: Tingkatkan ukuran heap JVM atau beralih ke mode streaming dengan
viewer.view(options, new Stream())jika tersedia pada versi API yang lebih baru.
Pertanyaan yang Sering Diajukan
Q: Bisakah saya mengonversi seluruh direktori file CHM sekaligus?
A: Ya, lakukan iterasi melalui folder dengan API Files.list Java dan panggil kode rendering yang sama untuk setiap file.
Q: Bagaimana cara menangani dokumen besar tanpa kehabisan memori?
A: Tingkatkan heap JVM (-Xmx) atau render ke format gambar dengan DPI lebih rendah; Anda juga dapat membagi CHM menjadi beberapa bagian dan memprosesnya secara terpisah.
Q: Apakah memungkinkan untuk menyesuaikan format output lebih lanjut?
A: Ya, GroupDocs.Viewer menawarkan opsi luas untuk injeksi CSS, ukuran halaman, dan kualitas gambar. Jelajahi referensi API untuk pengaturan detail.
Q: Apakah perpustakaan mempertahankan hyperlink saat mengonversi ke PDF?
A: Tentu saja. Semua tautan internal CHM diterjemahkan menjadi anotasi PDF yang dapat diklik.
Q: Bisakah saya merender hanya sebagian bab CHM?
A: Gunakan metode setPageNumbers pada opsi tampilan untuk menentukan halaman atau bab yang tepat yang Anda butuhkan.
Kesimpulan
Anda kini memiliki alur kerja lengkap yang siap produksi untuk mengonversi chm ke html, mengonversi chm ke pdf, dan menghasilkan representasi gambar menggunakan GroupDocs.Viewer untuk Java. Teknik ini memungkinkan Anda memodernisasi sistem bantuan lama, meningkatkan aksesibilitas, dan mengintegrasikan dokumentasi ke dalam solusi berbasis Java apa pun.
Siap untuk langkah selanjutnya? Periksa dokumentasi resmi GroupDocs untuk kustomisasi lanjutan, seperti injeksi CSS khusus, penambahan watermark, dan pemrosesan batch multi‑thread.
Terakhir Diperbarui: 2026-06-30
Diuji Dengan: GroupDocs.Viewer Java 25.2
Penulis: 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
}