dv3500ea tiene una excelente respuesta de chm2pdf , pero prefiero leerlos como archivos html.
En breve:
sudo apt-get install libchm-bin
extract_chmLib myFile.chm outdir
Fuente: http://www.ubuntugeek.com/how-to-convert-chm-files-to-html-or-pdf-files.html
¡Entonces ábrase ./outdir/index.html
para ver los archivos html convertidos! Yaaay! Mucho mejor. Ahora puedo navegarlo como un archivo .chm, pero también puedo usar mi navegador Chrome para buscar texto en las páginas, imprimir fácilmente, etc.
Hagamos un comando llamado chm2html
Aquí hay un buen guión que escribí.
- Copie y pegue el siguiente script en un archivo
chm2html.py
- Hazlo ejecutable:
chmod +x chm2html.py
- Crea un
~/bin
directorio si aún no tienes uno:mkdir ~/bin
- Haga un enlace simbólico a chm2html.py en su
~/bin
directorio:ln -s ~/path/to/chm2html.py ~/bin/chm2html
- Cierre sesión en Ubuntu y luego vuelva a iniciar sesión, o vuelva a cargar sus rutas con
source ~/.bashrc
- Úsalo!
chm2html myFile.chm
. Esto convierte automáticamente el archivo .chm y coloca los archivos .html en una nueva carpeta llamada ./myFile
, luego crea un enlace simbólico llamado al ./myFile_index.html
que apunta ./myFile/index.html
.
chm2html.py
archivo:
#!/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.")