सीएचएम दस्तावेजों को कैसे खोलें और परिवर्तित करें?


9

मेरे पास कुछ दस्तावेज हैं जो एक .chmप्रारूप में हैं। मुझे आश्चर्य हुआ कि क्या कोई ऐसा फ़ाइल प्रारूप है जो उबंटू में नेविगेट करने, समर्थित और समान फ़ाइल आकार के लिए आसान हो सकता है?

अगर वहाँ है, तो मैं उन सभी पुस्तकों को परिवर्तित करना शुरू करूँगा और शायद अपने सभी उबंटू पीसी और मेरे एंड्रॉइड फोन पर कम परेशानी के साथ उनका उपयोग करूंगा।


जवाबों:


13

आप कमांड लाइन प्रोग्राम chm2pdf ( यहां chm2pdf स्थापित करें ) का उपयोग करके उन्हें पीडीएफ में परिवर्तित कर सकते हैं । एक बार स्थापित होने के बाद आप इस तरह से टर्मिनल से कमांड चला सकते हैं:

chm2pdf --book in.chm out.pdf

यदि आप नहीं जानते हैं, तो कई chm पाठक उपलब्ध हैं - बस chmसॉफ्टवेयर सेंटर में खोजें।

आप कमांड लाइन टूल 7-जिप ( यहां p7zip-full स्थापित करें ) का उपयोग करके html में chm फाइलें निकाल सकते हैं :

7z x file.chm

पीडीएफ रूपांतरण एक ऐसा समाधान नहीं है जिसकी मुझे तलाश है। फिर भी, आपके तेज़ उत्तर के लिए धन्यवाद। अधिक विचार?
जूलियो

3

यदि आप पीडीएफ का उपयोग नहीं करना चाहते हैं, तो मैं एपूब का सुझाव दूंगा, एक काफी अच्छा, खुला ई-पुस्तक प्रारूप, आप इसके लिए एक अच्छा पाठक स्थापित कर सकते हैं, जिसे कैलिबर पर उबंटू कहा जाता है, कैलिबर में एक उपयोगी रूपांतरण सुविधा है जो chm फ़ाइलों को आयात कर सकती है और फिर उन्हें अन्य प्रारूपों में परिवर्तित करें जिन्हें शामिल किया गया है। एपबल्स को ज्यादातर स्मार्ट फोन और टैबलेट पर भी आसानी से पढ़ा जा सकता है।

सॉफ्टवेयर सेंटर से कैलिबर स्थापित किया जा सकता है।


2

यदि आप केडीई पसंद करते हैं, तो KChmViewer भी है।


KChmViewer ठीक है। लेकिन मैं फ़ायरफ़ॉक्स एडऑन [सीएचएम रीडर] को प्राथमिकता दूंगा। अपने मुद्दे के लिए एक अच्छा समाधान नहीं है, क्योंकि मैं उन घटिया chm फ़ाइलों से छुटकारा पाना चाहता हूं जो मेरे पास पहले से ही बेहतर समर्थित प्रारूप में हैं। Pdf अच्छा भी नहीं है। विकल्प?
जूलियो



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-file.html

फिर खोलो ./outdir/index.html कनवर्ट की गई HTML फ़ाइलों को देखने के लिए ! Yaaay! काफी बेहतर। अब मैं इसे एक .chm फ़ाइल की तरह ही नेविगेट कर सकता हूं, लेकिन मैं अपने क्रोम ब्राउज़र का उपयोग टेक्स्ट के पन्नों को खोजने, आसानी से प्रिंट करने, आदि के लिए भी कर सकता हूं।

चलो एक आदेश कहा जाता है 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.")
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.