CHM belgeleri nasıl açılır ve dönüştürülür?


9

Biçimde bazı belgelerim var .chm. Ubuntu'da gezinmesi daha kolay, desteklenen ve eşit dosya boyutuna sahip bir dosya formatı olup olmadığını merak ettim.

Varsa, tüm bu kitapları dönüştürmeye ve muhtemelen tüm Ubuntu bilgisayarlarımda ve Android telefonumda daha az güçlükle kullanmaya başlamak istiyorum.


Yanıtlar:


13

Chm2pdf komut satırı programını kullanarak bunları PDF'ye dönüştürebilirsiniz ( chm2pdf'i buraya yükleyin ). Kurulduktan sonra komutu aşağıdaki gibi bir terminalden çalıştırabilirsiniz:

chm2pdf --book in.chm out.pdf

Bilmiyorsanız, birkaç chm okuyucu mevcut - sadece chmYazılım Merkezi'nde arama yapın .

Komut satırı aracı 7- Zip'i kullanarak chm dosyalarını html'ye ayıklayabilirsiniz ( p7zip-full'i buraya yükleyin ):

7z x file.chm

Pdf dönüştürme aradığım bir çözüm değil. Yine de hızlı cevabınız için teşekkürler. Daha fazla fikir?
Julio

3

PDF kullanmak istemiyorsanız, epeyce iyi, açık bir e-kitap formatı olan Epub'u öneririm, Ubuntu'da Caliber adlı iyi bir okuyucu yükleyebilirsiniz, Caliber chm dosyalarını içe aktarabilen kullanışlı bir dönüştürme özelliğine sahiptir ve onları diğer formatlara dönüştürmek epub dahil. epub'lar çoğu akıllı telefon ve tablette de kolayca okunabilir.

Kalibre yazılım merkezinden kurulabilir.


2

KDE'yi tercih ederseniz KChmViewer da var.


KChmViewer tamam. ancak firefox addon [CHM Reader] 'ı tercih ederim. Sorunum için iyi bir çözüm değil, zaten daha iyi desteklenen bir biçime sahip olduğum şu berbat chm dosyalarından kurtulmak istiyorum. Pdf de iyi değil. Seçenekler?
Julio



0

dv3500ea harika bir chm2pdf cevabı var , ama html dosyaları olarak okumayı tercih ediyorum.

Kısacası:

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

Kaynak: http://www.ubuntugeek.com/how-to-convert-chm-files-to-html-or-pdf-files.html

Sonra ./outdir/index.htmldönüştürülen html dosyalarını görüntülemek için açın ! Yaaay! Çok daha iyi. Şimdi tıpkı bir .chm dosyası gibi gezinebilirim, ancak sayfalarda metin aramak, kolayca yazdırmak vb. İçin Chrome tarayıcımı da kullanabilirim.

Hadi şu komutu verelim: chm2html

İşte yazdığım güzel bir senaryo.

  1. Aşağıdaki komut dosyasını kopyalayıp bir dosyaya yapıştırın chm2html.py
  2. Yürütülebilir yap: chmod +x chm2html.py
  3. ~/binZaten bir dizininiz yoksa bir dizin oluşturun :mkdir ~/bin
  4. Dizininizde chm2html.py'ye bir sembolik bağlantı yapın ~/bin:ln -s ~/path/to/chm2html.py ~/bin/chm2html
  5. Ubuntu oturumunu kapatın, ardından tekrar oturum açın veya yollarınızı source ~/.bashrc
  6. Kullanın! chm2html myFile.chm. Bu, otomatik olarak .chm dosyasını dönüştürür ve .html dosyalarını adlı yeni bir klasöre yerleştirir ./myFile, ardından ./myFile_index.htmlhangi noktaları işaret eden bir sembolik bağlantı oluşturur ./myFile/index.html.

chm2html.py dosya:

#!/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.")
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.