วิธีการเปิดและแปลงเอกสาร CHM?


9

ฉันมีเอกสารบางส่วนที่อยู่ใน.chmรูปแบบ ฉันสงสัยว่ามีรูปแบบไฟล์ที่สามารถนำทางได้ง่ายขึ้นรองรับและขนาดไฟล์เท่ากันใน Ubuntu หรือไม่

ถ้ามีฉันอยากจะเริ่มแปลงหนังสือเหล่านั้นทั้งหมดและอาจใช้หนังสือเหล่านี้โดยไม่ยุ่งยากกับพีซี Ubuntu ทั้งหมดและโทรศัพท์ Android ของฉัน


คำตอบ:


13

คุณสามารถแปลงเป็น PDF ได้โดยใช้โปรแกรมบรรทัดคำสั่งchm2pdf ( ติดตั้ง chm2pdf ที่นี่ ) เมื่อติดตั้งแล้วคุณสามารถเรียกใช้คำสั่งจากเทอร์มินัลดังนี้:

chm2pdf --book in.chm out.pdf

ในกรณีที่คุณไม่ทราบมีตัวอ่าน chm หลายตัว - ค้นหาchmใน Software Center

คุณยังสามารถแตกไฟล์ chm ไปยัง html โดยใช้เครื่องมือบรรทัดคำสั่ง7-Zip ( ติดตั้ง p7zip-full ที่นี่ ):

7z x file.chm

การแปลง Pdf ไม่ใช่วิธีแก้ปัญหาที่ฉันกำลังมองหา ขอขอบคุณสำหรับการตอบกลับอย่างรวดเร็วของคุณ คิดเพิ่มเติมหรือไม่
Julio

3

หากคุณไม่ต้องการใช้ PDF ฉันขอแนะนำ Epub ซึ่งเป็นฟอร์แมต e-book ที่ค่อนข้างดีคุณสามารถติดตั้งโปรแกรมอ่านที่ดีสำหรับเรียกว่า Caliber บน Ubuntu, Calibre มีเครื่องมือการแปลงที่มีประโยชน์ที่สามารถนำเข้าไฟล์ chm แล้ว แปลงเป็นรูปแบบอื่น ๆ ที่รวม epub ไว้ epubs สามารถอ่านได้ง่ายบนโทรศัพท์สมาร์ทโฟนและแท็บเล็ตส่วนใหญ่เช่นกัน

สามารถติดตั้ง Calibre ได้จากศูนย์ซอฟต์แวร์


2

นอกจากนี้ยังมี KChmViewer หากคุณต้องการ KDE


KChmViewer ไม่เป็นไร แต่ฉันชอบ firefox addon [CHM Reader] ไม่ใช่ทางออกที่ดีสำหรับปัญหาของฉันเนื่องจากฉันต้องการกำจัดไฟล์ chm ที่มีหมัดฉันมีรูปแบบที่รองรับได้ดีกว่าอยู่แล้ว Pdf ก็ดีเช่นกัน ตัวเลือก?
Julio



0

dv3500ea มีคำตอบ chm2pdfที่ยอดเยี่ยมแต่ฉันชอบอ่านมันเป็นไฟล์ html

ในระยะสั้น:

sudo apt-get install libchm-bin
extract_chmLib myFile.chm outdir

ที่มา: http://www.ubuntugeek.com/how-to-convert-chm-files-to-html-or-pdf-files.html

จากนั้นเปิดขึ้น./outdir/index.htmlเพื่อดูไฟล์ html ที่แปลงแล้ว! Yaaay! ดีกว่ามาก ตอนนี้ฉันสามารถนำทางได้เช่นเดียวกับไฟล์. chm แต่ฉันยังสามารถใช้เบราว์เซอร์ Chrome ของฉันเพื่อค้นหาหน้าข้อความค้นหาพิมพ์ได้อย่างง่ายดาย ฯลฯ

มาสร้างคำสั่งกัน chm2html

นี่เป็นสคริปต์ที่ดีที่ฉันเขียน

  1. คัดลอกและวางสคริปต์ด้านล่างลงในไฟล์ chm2html.py
  2. ทำให้ปฏิบัติการได้: chmod +x chm2html.py
  3. สร้าง~/binไดเรกทอรีถ้าคุณยังไม่มี:mkdir ~/bin
  4. ทำ symlink ให้กับ chm2html.py ใน~/binไดเรกทอรีของคุณ:ln -s ~/path/to/chm2html.py ~/bin/chm2html
  5. ออกจากระบบ Ubuntu จากนั้นกลับเข้าสู่ระบบหรือโหลดเส้นทางใหม่ด้วย source ~/.bashrc
  6. ใช้มัน! chm2html myFile.chm. นี้จะแปลงไฟล์ .chm และวางไฟล์ .html ลงในโฟลเดอร์ใหม่ที่เรียกว่า./myFileแล้วมันจะสร้าง symlink ที่เรียกว่าซึ่งจุดที่จะต้อง./myFile_index.html./myFile/index.html

chm2html.py ไฟล์:

#!/usr/bin/python3

"""
chm2html.py
- convert .chm files to .html, using the command shown here, with a few extra features (folder names, shortcuts, etc):
http://www.ubuntugeek.com/how-to-convert-chm-files-to-html-or-pdf-files.html
- (this is my first ever python shell script to be used as a bash replacement)

Gabriel Staples
www.ElectricRCAircraftGuy.com 
Written: 2 Apr. 2018 
Updated: 2 Apr. 2018 

References:
- http://www.ubuntugeek.com/how-to-convert-chm-files-to-html-or-pdf-files.html
  - format: `extract_chmLib book.chm outdir`
- http://www.linuxjournal.com/content/python-scripts-replacement-bash-utility-scripts
- http://www.pythonforbeginners.com/system/python-sys-argv

USAGE/Python command format: `./chm2html.py fileName.chm`
 - make a symbolic link to this target in ~/bin: `ln -s ~/GS/dev/shell_scripts-Linux/chm2html/chm2html.py ~/bin/chm2html`
   - Now you can call `chm2html file.chm`
 - This will automatically convert the fileName.chm file to .html files by creating a fileName directory where you are,
then it will also create a symbolic link right there to ./fileName/index.html, with the symbolic link name being
fileName_index.html

"""


import sys, os

if __name__ == "__main__":
    # print("argument = " + sys.argv[1]); # print 1st argument; DEBUGGING
    # print(len(sys.argv)) # DEBUGGING

    # get file name from input parameter
    if (len(sys.argv) <= 1):
        print("Error: missing .chm file input parameter. \n"
              "Usage: `./chm2html.py fileName.chm`. \n"
              "Type `./chm2html -h` for help. `Exiting.")
        sys.exit()

    if (sys.argv[1]=="-h" or sys.argv[1]=="h" or sys.argv[1]=="help" or sys.argv[1]=="-help"):
        print("Usage: `./chm2html.py fileName.chm`. This will automatically convert the fileName.chm file to\n"
              ".html files by creating a directory named \"fileName\" right where you are, then it will also create a\n"
              "symbolic link in your current folder to ./fileName/index.html, with the symbolic link name being fileName_index.html")
        sys.exit()

    file = sys.argv[1] # Full input parameter (fileName.chm)
    name = file[:-4] # Just the fileName part, withOUT the extension
    extension = file[-4:]
    if (extension != ".chm"):
        print("Error: Input parameter must be a .chm file. Exiting.")
        sys.exit()

    # print(name) # DEBUGGING
    # Convert the .chm file to .html
    command = "extract_chmLib " + file + " " + name
    print("Command: " + command)
    os.system(command)

    # Make a symbolic link to ./name/index.html now
    pwd = os.getcwd()
    target = pwd + "/" + name + "/index.html"
    # print(target) # DEBUGGING
    # see if target exists 
    if (os.path.isfile(target) == False):
        print("Error: \"" + target + "\" does not exist. Exiting.")
        sys.exit()
    # make link
    ln_command = "ln -s " + target + " " + name + "_index.html"
    print("Command: " + ln_command)
    os.system(ln_command)

    print("Operation completed successfully.")
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.