Coran généré sur OSX
Si l'on veut lire un passage du Coran et qu'on a oublié de le prendre avec soi, il suffit d'avoir un Mac à portée de main et d'exécuter le script Bash suivant :
for i in `seq -w 1 114`; do curl -s "http://www.hisnulmuslim.com/coran/index.php?num_sourate=$i" | iconv -f iso-8859-1 -t utf-8 | php -r '$C=str_replace(Array("\n", "\r", "\t", chr(146)), Array("", "", "", "A".chr(39)), file_get_contents("php://stdin")); preg_match("@<h1><span class=\"[^\"]*\">(.*?)</span>(.*?)</h1>.*?<em>(.*?)</em>.*?<p class=\"texte\">(.*?)</p>@m",$C, $M)."\n"; echo $M[1]."".$M[2]."\n".$M[3]."\n".str_replace("<br /> ", "\n", preg_replace("@<span class=\"num_verset\"[^>]*>([^<]*)</span>(.*?)@", "$1 : $2", $M[4])); echo "\n";' > sourat$i.txt; cupsfilter -o media=A4 -o landscape -o cpi=14 -o lpi=8 -o page-top=50 -o page-bottom=50 -o page-left=50 -o page-right=50 -o wrap sourat$i.txt > sourat$i.pdf 2>/dev/null; done && /System/Library/Automator/Combine\ PDF\ Pages.action/Contents/Resources/join.py -o coran.pdf sourat*pdf && rm -f sourat*En plus de produire le Coran suivant le texte de la librairie Tawhid (grande qualité de traduction) ce script illustre les points suivants :
- Comment générer un PDF à partir de texte brut : cupsfilter, tout simplement.
- Comment combiner/joindre/concaténer des fichiers PDF sur OSX : le script Automator /System/Library/Automator/Combine\ PDF\ Pages.action.
- On est aussi confortable sur un Mac que sous Linux : la CLI est au même niveau (Bash 3.X) et les commandes disponibles sont les mêmes. C'est un Unix :)
Bien évidemment je remercie hisnulmuslim.com pour la mise en ligne du texte Français.
Sources :
- http://hintsforums.macworld.com/showthread.php?t=107695.
- http://gotofritz.net/blog/howto/joining-pdf-files-in-os-x-from-the-command-line/
- http://www.eprg.org/pdfcorner/text2pdf/text2pdf.c
- Un script a essayer :
enscript --word-wrap -p - "$1" | gs -q -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -sOutputFile="$2" -
- http://hints.macworld.com/article.php?story=20091124090053385 : pour un script de génération de PDF qui semble sympa
Moralité : il faudra réaliser une version 2 de ce script afin de générer un PDF encore plus avancé.
