วิธีแปลง CHM เป็น HTML (และอื่น ๆ) โดยใช้ GroupDocs.Viewer Java

การคอมไพล์ไฟล์ช่วยเหลือแบบเก่าให้เป็นรูปแบบสมัยใหม่เป็นความต้องการที่พบบ่อยสำหรับนักพัฒนา ในบทแนะนำนี้คุณจะ แปลง chm เป็น html และยังเรียนรู้วิธีการแสดงผลแหล่ง CHM เดียวกันเป็น JPG, PNG, และ แปลง chm เป็น pdf โดยใช้ GroupDocs.Viewer สำหรับ Java เมื่อเสร็จแล้วคุณจะมีรูปแบบที่นำกลับมาใช้ใหม่ได้ซึ่งทำงานกับเอกสาร CHM ใด ๆ ไม่ว่าจะเป็นการเก็บถาวรคู่มือเก่าหรือการเผยแพร่เนื้อหาช่วยเหลือบนพอร์ทัลเว็บ

แสดงไฟล์ CHM ด้วย GroupDocs.Viewer สำหรับ Java

แสดงไฟล์ CHM ด้วย GroupDocs.Viewer สำหรับ Java

คำตอบด่วน

  • ไลบรารีใดที่จัดการการแสดงผล 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 ฝั่งเซิร์ฟเวอร์ที่แสดงผลเอกสารกว่า 70 ประเภท—including CHM—เป็นรูปแบบที่เหมาะกับเว็บโดยไม่ต้องใช้ Microsoft Office หรือ Adobe Acrobat มันทำงานบน Java 8+ runtime ใด ๆ และสามารถบูรณาการเข้ากับสถาปัตยกรรมเว็บ, เดสก์ท็อป หรือไมโครเซอร์วิส สำหรับรายละเอียดเพิ่มเติมดูที่ GroupDocs documentation.

ทำไมต้องแปลง CHM เป็น HTML?

GroupDocs.Viewer รองรับ รูปแบบอินพุตและเอาต์พุตกว่า 50+ และสามารถแปลงไฟล์ CHM 200 หน้าให้เป็นหน้า HTML เดียวภายในเวลาไม่ถึง 2 วินาทีบน CPU 2 GHz ปกติ ในขณะที่ยังคงลิงก์ภายในทั้งหมดทำงานได้ ความเร็วและความหลากหลายของรูปแบบทำให้เหมาะสำหรับการย้ายระบบช่วยเหลือแบบเก่าไปยังพอร์ทัลเว็บสมัยใหม่

ข้อกำหนดเบื้องต้น

  • GroupDocs.Viewer Java library (เวอร์ชัน 25.2 หรือใหม่กว่า).
  • โครงการที่เข้ากันได้กับ Maven (IntelliJ IDEA, Eclipse, หรือที่คล้ายกัน).
  • ความรู้พื้นฐานเกี่ยวกับ Java และการจัดการ dependencies ของ Maven.

การตั้งค่า GroupDocs.Viewer สำหรับ Java

เพื่อใช้ GroupDocs.Viewer ในโครงการ Java ของคุณ ให้เพิ่ม dependency ของ 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);

HtmlViewOptions class คืออ็อบเจกต์การกำหนดค่าที่บอก viewer ว่าจะสร้าง HTML อย่างไร การตั้งค่า singlePage เป็น true จะรวมทุกบทเป็นไฟล์ HTML ไฟล์เดียว ซึ่งเหมาะสำหรับการเรียกดูอย่างรวดเร็ว.

วิธีแปลง 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);

JpgViewOptions class ให้คุณควบคุมคุณภาพภาพ, DPI, และการเลือกหน้า การแสดงผลเฉพาะหน้าที่ต้องการช่วยประหยัดหน่วยความจำและการใช้ CPU.

วิธีแปลง CHM เป็น PNG?

ผลลัพธ์ PNG รักษาคุณภาพแบบ lossless และรองรับความโปร่งใส ทำให้เหมาะสำหรับภาพหน้าจอความละเอียดสูงของหัวข้อช่วยเหลือ.

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

PngViewOptions class ทำงานคล้ายกับ JPG แต่สร้างไฟล์ PNG ที่คงความเที่ยงตรงของภาพอย่างเต็มที่.

วิธีแปลง CHM เป็น PDF?

PDF เป็นรูปแบบที่พกพาสะดวกที่สุดสำหรับการแจกจ่าย Viewer สามารถรวมเนื้อหา CHM ทั้งหมดเป็นเอกสาร PDF ไฟล์เดียวด้วยการเรียกครั้งเดียว.

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

PdfViewOptions class จัดการการแบ่งหน้า, การฝังฟอนต์, และการคงลิงก์อัตโนมัติ.

การประยุกต์ใช้ในเชิงปฏิบัติ

  • Archiving: แปลงไฟล์ CHM เก่าเป็นรูปแบบสมัยใหม่เพื่อการเข้าถึงที่ง่ายและการเก็บรักษาระยะยาว.
  • Web Portals: เผยแพร่เอกสาร CHM เป็นหน้า HTML บนอินทราเน็ตของบริษัท.
  • Mobile Apps: รวมเวอร์ชัน PDF ของไฟล์ช่วยเหลือในแอป Android หรือ iOS เพื่อการอ่านแบบออฟไลน์.

พิจารณาด้านประสิทธิภาพ

เมื่อทำการแปลงเอกสารจำนวนมากหรือขนาดใหญ่:

  • Memory Management: การแสดงผลเป็น PNG หรือ JPG ความละเอียดสูงอาจใช้หน่วยความจำมาก; ควรตรวจสอบ heap ของ JVM และพิจารณา -Xmx2g สำหรับชุดใหญ่.
  • Parallel Processing: ใช้ ExecutorService ของ Java เพื่อแปลงไฟล์ CHM หลายไฟล์พร้อมกัน แต่ควรจำกัดจำนวนเธรดเพื่อหลีกเลี่ยงการใช้ CPU มากเกินไป.
  • Batch Size: สำหรับคลังข้อมูลขนาดใหญ่ ควรประมวลผลไฟล์เป็นกลุ่ม 10‑20 ไฟล์เพื่อให้การใช้ทรัพยากรคาดเดาได้.

ปัญหาที่พบบ่อยและวิธีแก้

  • Missing Images: ตรวจสอบว่าใช้ HtmlViewOptions.forEmbeddedResources เพื่อให้ภาพถูกดึงออกพร้อมกับ HTML.
  • Incorrect Page Order: ตรวจสอบว่า TOC ภายในของไฟล์ CHM ยังสมบูรณ์; viewer จะเคารพโครงสร้างการนำทางเดิม.
  • Out‑of‑Memory Errors: เพิ่มขนาด heap ของ JVM หรือเปลี่ยนเป็นโหมดสตรีมมิ่งด้วย viewer.view(options, new Stream()) หากมีในเวอร์ชัน API ใหม่.

คำถามที่พบบ่อย

Q: ฉันสามารถแปลงไดเรกทอรีทั้งหมดของไฟล์ CHM พร้อมกันได้หรือไม่?
A: ใช่, ให้วนลูปผ่านโฟลเดอร์ด้วย API Files.list ของ Java และเรียกใช้โค้ดการแสดงผลเดียวกันสำหรับแต่ละไฟล์.

Q: ฉันจะจัดการกับเอกสารขนาดใหญ่โดยไม่เกิดการใช้หน่วยความจำเต็มได้อย่างไร?
A: เพิ่ม heap ของ JVM (-Xmx) หรือแสดงผลเป็นรูปแบบภาพที่ DPI ต่ำกว่า; คุณยังสามารถแยก CHM เป็นส่วน ๆ แล้วประมวลผลแยกกันได้.

Q: สามารถปรับแต่งรูปแบบผลลัพธ์เพิ่มเติมได้หรือไม่?
A: ได้, GroupDocs.Viewer มีตัวเลือกหลากหลายสำหรับการแทรก CSS, ขนาดหน้า, และคุณภาพภาพ. สำรวจ API reference สำหรับการตั้งค่ารายละเอียด.

Q: ไลบรารีจะคงลิงก์เมื่อแปลงเป็น PDF หรือไม่?
A: แน่นอน. ลิงก์ภายใน CHM ทั้งหมดจะถูกแปลงเป็น annotation ที่คลิกได้ใน PDF.

Q: ฉันสามารถแสดงผลเฉพาะส่วนย่อยของบท CHM ได้หรือไม่?
A: ใช้เมธอด setPageNumbers บน view options เพื่อระบุหน้าหรือบทที่ต้องการอย่างแม่นยำ.

สรุป

ตอนนี้คุณมีเวิร์กโฟลว์ที่ครบถ้วนและพร้อมใช้งานในผลิตภัณฑ์เพื่อ แปลง chm เป็น html, แปลง chm เป็น pdf, และสร้างภาพโดยใช้ GroupDocs.Viewer สำหรับ Java เทคนิคเหล่านี้ช่วยให้คุณอัปเดตระบบช่วยเหลือแบบเก่า, ปรับปรุงการเข้าถึง, และบูรณาการเอกสารเข้าสู่โซลูชันที่ใช้ Java ใด ๆ

พร้อมสำหรับขั้นตอนต่อไปหรือยัง? ตรวจสอบเอกสารอย่างเป็นทางการของ GroupDocs สำหรับการปรับแต่งขั้นสูง เช่น การแทรก CSS แบบกำหนดเอง, การใส่ลายน้ำ, และการประมวลผลแบบหลายเธรดเป็นชุด


อัปเดตล่าสุด: 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
}

บทแนะนำที่เกี่ยวข้อง