CHM 문서를 열고 변환하는 방법?


9

.chm형식의 문서가 있습니다 . 우분투에서 탐색, 지원 및 파일 크기가 동일한 파일 형식이 있는지 궁금합니다.

있다면, 나는 그 모든 책을 변환하고 모든 우분투 PC와 안드로이드 폰에서 번거롭지 않게 사용하고 싶습니다.


답변:


13

명령 행 프로그램 chm2pdf ( install chm2pdf here )를 사용하여 PDF로 변환 할 수 있습니다 . 설치되면 다음과 같이 터미널에서 명령을 실행할 수 있습니다.

chm2pdf --book in.chm out.pdf

모르는 경우 chm소프트웨어 센터에서 검색 하면 여러 개의 chm 리더를 사용할 수 있습니다 .

명령 행 도구 7-Zip ( p7zip-full 설치)을 사용하여 chm 파일을 HTML로 추출 할 수도 있습니다 .

7z x file.chm

PDF 변환은 내가 찾고있는 솔루션이 아닙니다. 그러나 빠른 답변에 감사드립니다. 더 많은 아이디어?
Julio

3

PDF를 사용하지 않으려면 상당히 좋은 오픈 전자 책 형식 인 Epub을 제안하고 Ubuntu에 Caliber라는 훌륭한 리더를 설치할 수 있습니다. Caliber는 chm 파일을 가져올 수있는 유용한 변환 기능을 가지고 있습니다. 포함 된 다른 형식의 epub로 변환하십시오. epubs는 대부분의 스마트 폰과 태블릿에서도 쉽게 읽을 수 있습니다.

Calibre는 소프트웨어 센터에서 설치할 수 있습니다.


2

KDE를 선호한다면 KChmViewer도 있습니다.


KChmViewer는 괜찮습니다. 파이어 폭스 애드온 [CHM Reader]을 선호합니다. 내 문제에 대한 좋은 해결책은 아닙니다. 이러한 chm 파일을 제거하고 싶기 때문에 이미 더 나은 형식으로 지원해야합니다. PDF도 좋지 않습니다. 옵션?
Julio


0

와인 은 충분하다.

그런 다음 :이 소프트를 사용하여 엽니 다

여기에 이미지 설명을 입력하십시오


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 파일을 보려면 엽니 다 ! 야아! 훨씬 낫다. 이제 .chm 파일처럼 탐색 할 수 있지만 Chrome 브라우저를 사용하여 페이지에서 텍스트를 검색하고 쉽게 인쇄 할 수 있습니다.

라는 명령을 만들어 봅시다 chm2html

내가 쓴 좋은 스크립트가 있습니다.

  1. 아래 스크립트를 복사하여 파일에 붙여 넣기 chm2html.py
  2. 실행 가능하게 만드십시오. chmod +x chm2html.py
  3. ~/bin디렉토리가 없으면 작성하십시오 .mkdir ~/bin
  4. ~/bin디렉토리 에서 chm2html.py로 심볼릭 링크를 만드십시오 :ln -s ~/path/to/chm2html.py ~/bin/chm2html
  5. 우분투에서 로그 아웃했다가 다시 로그인하거나 경로를 다시로드하십시오. source ~/.bashrc
  6. 사용해! chm2html myFile.chm. 그러면 .chm 파일이 자동으로 변환되어 .html 파일이이라는 새 폴더에 배치되고을 가리키는 ./myFile라는 심볼릭 링크가 만들어집니다 ../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.