J'ai des documents au format .chm
. Je me suis demandé s'il existait un format de fichier plus facile à naviguer, pris en charge et de taille égale dans Ubuntu.
Si tel est le cas, j'aimerais commencer à convertir tous ces livres et à les utiliser sans souci sur tous mes ordinateurs Ubuntu et mon téléphone Android.
Vous pouvez les convertir en PDF à l'aide du programme en ligne de commande chm2pdf ( installez chm2pdf ici ). Une fois installé, vous pouvez exécuter la commande depuis un terminal comme celui-ci:
chm2pdf --book in.chm out.pdf
Si vous ne le saviez pas, plusieurs lecteurs chm sont disponibles. Il vous suffit de rechercher chm
dans le centre de logiciel.
Vous pouvez également extraire des fichiers chm au format HTML à l'aide de l'outil de ligne de commande 7-Zip ( installez p7Zip-full ici ):
7z x file.chm
Si vous ne voulez pas utiliser PDF, alors je vous suggérerais Epub, un format de livre électronique assez bon et ouvert, vous pouvez installer un bon lecteur appelé Calibre sur Ubuntu. Calibre dispose d'un utilitaire de conversion utile pouvez importer des fichiers chm puis les convertir en d’autres formats .epub inclus. Les epubs peuvent également être lus facilement sur la plupart des téléphones intelligents et des tablettes.
Calibre peut être installé à partir du centre logiciel.
Il y a aussi KChmViewer, si vous préférez KDE.
Il y a aussi xchm et quelques lecteurs chm sur Android .
dv3500ea a un grand réponse chm2pdf , mais je préfère les lire sous forme de fichiers html.
Sudo apt-get install libchm-bin
extract_chmLib myFile.chm outdir
Source: http://www.ubuntugeek.com/how-to-convert-chm-files-to-html-or-pdf-files.html
Ensuite, ouvrez ./outdir/index.html
pour afficher les fichiers HTML convertis! Yaaay! Beaucoup mieux. Maintenant, je peux naviguer comme un fichier .chm, mais je peux aussi utiliser mon navigateur Chrome pour rechercher du texte dans les pages, l’imprimer facilement, etc.
chm2html
chm2html.py
chmod +x chm2html.py
~/bin
si vous n'en avez pas déjà un: mkdir ~/bin
~/bin
: ln -s ~/path/to/chm2html.py ~/bin/chm2html
source ~/.bashrc
chm2html myFile.chm
. Cela convertit automatiquement le fichier .chm et place les fichiers .html dans un nouveau dossier appelé ./myFile
, puis crée un lien symbolique appelé ./myFile_index.html
qui pointe sur ./myFile/index.html
.Fichier 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 __== "__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.")
Puis: Ouvrez-le avec ce logiciel