Dominique Meeùs
Dernière modification le
retour au sommaire Linux
Dans Nautilus, si on demande les propriétés d’un fichier,
l’onglet Ouvrir avec
permet de choisir et modifier les actions
(l’ouverture par une application) sur les fichiers du même type.
L’action par défaut serait inscrite dans
/etc/gnome/defaults.list
alias
/usr/share/applications/defaults.list
. Je n’ai pas encore
trouvé où sont cachés les autres choix d’application proposés.
L’application XSane permet de scanner en PDF.
L’application gscan2pdf
, qui est aussi basée sur Sane, est plus
sophistiquée dans la mesure où elle supporte de multiples formats dont PDF et
Djvu ; elle permet des PDF ou Djvu de plusieurs pages (avec un bon scanner) et
elle peut soumettre l’image du texte à la reconnaissance de
caratères pour intégrer le texte dans un layer
du fichier PDF ou Djvu. Par défaut, l’application scanne toute la fenêtre
du scanner à plat, mais repère la zone occupée par du texte et centre
celui-ci dans des marges raisonnables sur une page A4.
Le paquet xpdf-utils
contient une commande
pdfimages
qui lit les images dans un fichier PDF et les sauve en
format d’image. L’expérience montre que des graphiques ne sont pas
considérés comme des images. Mais on peut utiliser l’une ou l’autre des
solutions suivantes pour transformer le PDF entier en image et y découper le
graphique avec un éditeur d’image.
La commande pdftoppm
transforme un PDF en image
Portable Pixmap (PPM). Par exemple
pdftoppm -f 1 -l 3 monpdf.pdf imgpdf
convertira le fichier monpdf.pdf de la page
(f
= first) 1 à la page (l
= last) 3 dans les images
imgpdf-000001.ppm
, imgpdf-000002.ppm
et imgpdf-000003.ppm
.
Pour imprimer, vous pourriez préférer ajouter le
communtateur -mono
(qui donnera des fichiers pbm) ou
-gray
(qui donnera des fichiers pgm). S’il y a des à plats de
couleur, le -mono
donnera un tramage fruste. Mieux vaut demander
-gray
.
J’ai actuellement (début avril 2007) la visionneuse de PDF Evince 0.6 qui n’imprime pas correctement en paysage. J’ai utilisé cette conversion en pgm pour imprimer un document pdf paysage.
La commande gs
de Ghostscript admet
en entrée bien sûr le PostScript, mais aussi le PDF qui en est dérivé (si
c’est un PDF standard — il peut y avoir des problèmes avec l’en-tête
d’un PDF créé sur un Mac). En sortie, on a divers modèles d’imprimantes
dont des « imprimantes » virtuelles comme jpeg. On peut donc avec
ghostscript « imprimer » un document PDF en une image jpeg. La commande
gs -h
affiche les devices disponibles.
gs -sDEVICE=jpeg -sOutputFile=image.jpeg
document.pdf
On peut indiquer les pages à « imprimer » au moyen des
commutateurs -dFirstPage=
et -dLastPage=
qui sont
spécifiques au traitement des documents PDF. Les commutateurs
-dNOPAUSE
et -dBATCH
sont utiles pour produire sans
intervention une série d’images à partir d’un PDF de plusieurs pages. Par
exemple, avec
gs -dNOPAUSE -sDEVICE=tiffgray
-sOutputFile=output%02d.tiff -dBATCH -r300 DMseChoq.pdf
j’ai converti
un article de dix pages en PDF (pure image, on ne pouvait pas y copier du texte
pour le coller) en dix images tiff que j’ai ensuite converties en texte txt
avec Tesseract. Le tout en quelques secondes. Wow !
Dans Ubuntu, les documents PDF sont affichés avec Evince qui permet de copier du texte pour le coller dans une autre application.
Ça pose un problème pour le texte en colonnes. La sélection prend toutes les colonnes à la fois. Si on colle dans gedit, on a sur chaque ligne le morceau des trois colonnes. J’ai bien réussi à m’en sortir en passant par OpenOffice.org Calc. Lorsque je colle la copie de la sélection Evince en colonnes, Calc me propose de la convertir. Il suffit de sélectionner largeur fixe et on a le texte en trois colonnes. J’ai copié et collé successivement les trois colonnes dans Bluefish pour en tirer un document html continu. (Le format html est le plus indiqué ici parce qu’il ne faut pas retirer les fins de lignes dures héritées de la sélection dans Evince.)
Il y a aussi une application pdftotext
qui
semble assez bien se débrouiller avec les colonnes, avec un minimum
d’erreurs. Elle supprime même les traits de césure en fin de ligne !
Cependant, il y a des PDF spéciaux qui s’affichent en
Evince mais qui ne permettent pas la sélection de texte et qui ne donnent rien
de lisible en pdftotext
.
C’est le cas des essais d’exporter des données de Thunderbird (une fiche
du carnet d’adresse, ce que Thunderbird ne prévoit pas) par le biais d’une
impression.
Utiliser la commande pdftohtml
. S’il y a des
images, elles sont sauvées en format jpeg
. Documentation : manpage. Syntaxe intuitive :
pdftohtml monfichier.pdf monfichier.html
Si le PDF est un peu compliqué, la commande peut avorter avec une erreur. Passer alors par l’intermédiaire du format texte comme ci-dessus. J’ai eu aussi une conversion parfaitement réussie (?) d’un très long texte. Cependant tous les espaces étaient devenus nbsp; (ce que n’ai immédiatement remplacé dans un éditeur) et toutes les lignes du PDF étaient des <br>. Il n’y avait même pas de double <br> pour repérer les paragraphes, il aurait fallu refaire tout le code à la main.
Evince affiche aussi les fichiers PostScript. (J’ai vu
Evince n’afficher que la première page d’un bouquin en PostScript foireux,
en annonçant page 1 sur 1 et sans commande Page suivante. Une application plus
primitive, gv
, amélioration de Ghostview, donnait toutes les
pages.)
Il y a une application pstotext
qui donne le
contenu en caractères d’un fichier PostScript sur la sortie standard. Si on
veut un fichier, il faut rediriger la commande : pstotext book.ps >
book.txt
. Il y a aussi une option pour indiquer un fichier de sortie
mais elle doit impérativement venir devant le fichier d’entrée :
pstotext -output book.txt book.ps
. Il n’y a pas d’option
utf-8. La sortie est en iso-8859-1 ou Latin-1.
La technique Ghostscript ci-dessus peut être appliquée vers
l’ « imprimante » pdfwrite
par la commande abrégée
ps2pdf
.
XBEL (the XML
Bookmark Exchange Language) est un dialecte xml d’échange de marque-pages.
Certains navigateurs (browsers) l’utilisent comme format natif de
marque-pages et différents programmes peuvent l’importer et l’exporter. Il
y a des paquets Debian (et Ubuntu) xbel
et xbel-utils
pour l’utiliser.
L’extension Bookmarks Synchonizer
fait ça
pour les Firefox 1.x et 2.x. (Pas pour Firefox 3). Mais on peut faire ça
aussi « à la main ».
Les browsers de cette famille stockent les marque-pages dans
le fichier bookmarks.html
, un html un peu « particulier » de
Mozilla. Le paquet xbel-utils
fournit une commande pour
transformer ce fichier en fichier XBEL :
ns_parse bookmarks.html bookmarks.xbel
Firefox 3 utilise une technique différente. Les
marque-pages sont sockés avec l’historique dans le fichier de base de
données places.sqlite
du profil de l’utilisateur. Pour
Firefox 3, l’extension SyncPlaces
fait la
conversion dans un XBEL de qualité, par défaut
syncplaces_xbel.xml
. Sinon la fonction Organiser les
marque-pages
du menu Marque-pages
de Firefox 3 permet de
les exporter dans un fichier bookmarks.html
de l’ancien format
de bookmarks Mozilla. On peut alors convertir celui-ci par la commande
ns_parse
comme ci-dessus.
Si on veut afficher dans un browser le contenu intelligible
du fichier XBEL, il faut lui associer une feuille de style appropriée. Dans
mon fichier syncplaces_xbel.xml
j’ajoute la ligne
<?xml-stylesheet type="text/xsl" href="xbel2html.xsl"?>
et je sauve le fichier ainsi modifié sous le nom de
xbel.xml
. Je place alors les fichiers xbel.xml
et
xbel2html.xsl
sur mon site par FTP.
Cette combinaison xbel.xml
et
xbel2html.xsl
donne une très longue page sans possibilité
d’ouvrir et de fermer les dossiers ni de naviguer autrement qu’en lisant
tout ou en utilisant une commande de recherche. Afficher le xml par une feuille
de style ou de transformation ouvre la possibilité de contrôler la
présentation. Dans ma feuille de style xbel2html.xsl
j’ai mis
des cadres pour mieux visualiser la hiérarchie. La technologie XSLT devrait
permettre au moins de produite une table des matières pour s’y retrouver
mieux.
Si on veut simplement les marque-pages dans une grande page
html avec des balises <ul>
et <li>
, Il
suffit de faire (si le paquet xbel-utils
est installé)
xbel2html xbel.xml > xbel.html
.
La commande
xsltproc -o bookmarks.mm
/usr/share/doc/freemind/accessories/xbel2mm.xsl bookmarks.xbel
transforme un fichier XBEL (bookmarks.xbel
)
en un dossier (bookmarks.mm
) de l’application d’organisation
d’idées Freemind. (Vérifier où se trouve le fichier xsl
dans
votre installation de Freemind.) On peut alors voir ses marque-pages, naviguer,
modifier et cetera dans Freemind. Freemind exporte en html. C’est un moyen
assez détourné puisqu’il faut avoir installé le paquet
xsltproc
, installer l’application Freemind et apprendre un
minimum à s’en servir. En outre, Freemind dépend de Java et la page html
produite utilise Javascript. C’est le meilleur résultat du
point de vue navigation parce que c’est une page html tout à fait
arborescente où l’on peut ouvrir et fermer les dossiers et sous-dossiers de
marque-pages. Par contre, Freemind perd les descriptions des marque-pages de
Firefox, que XBEL conserve. (On pourrait probablement améliorer
xbel2mm.xsl
dans ce sens.)
J’ai adapté un script PHP, xbel.php, qui lit le même fichier
xbel.xml
) pour le rendre en html
. Le script est
d’Amir Kamal qui est lui-même parti
du script de Roberto
Giungato. (C’est
accessoirement une manière de tromper le serveur : ce serveur refuse de
servir de longs fichiers, mais xbel.php
est un petit fichier qui
nous donne accès à un grand contenu.) Il y a aussi un appel à un script en
JavaScript qui permet d’ouvrir ou de fermer les dossiers et les
sous-dossiers, mais le repérage par PHP des éléments XBEL bute sur les
caractères accentués. On voit donc que c’est prometteur mais que ça ne
marche pas. Cela dépasse pour le moment ma compétence dans les problèmes de
PHP et d’UTF-8. Si vous avez une idée, elle est la bienvenue.
Mon GSM Nokia 6021 écrit avec des accents. Je récupère les
données d’agenda avec Wammu pour les exporter vers l’agenda Lightning,
extension de Thunderbird (ou vers l’agenda Sunbird d’une machine Windows à
laquelle j’ai accès occasionnellement). Wammu exporte l’agenda de Nokia en
format ICS version 1 où les textes sont encodés en quoted-printable sur
deux octets, par exemple =C3=A9
pour é ou
=C5=93
pour œ. Les textes sont précédés de
CHARSET=UTF-8;ENCODING=QUOTED-PRINTABLE:
. Cependant Lightning et
Sunbird importent ce quoted-printable sans décodage et ça donne des choses
comme « Passage =C3=A0 l'heure d'=C3=A9t=C3=A9 », ce qui n’est pas
particulièrement agréable à lire.
Les utilitaires de décodage que j’ai essayés
(uudeview
ou mimencode
) ne semblent pas comprendre
cet encodage sur deux octets. Ils décodent chaque octet séparément ou rien
du tout. J’ai donc écrit un script qptoutf8
(pour quoted
printable to UTF-8) qui utilise une longue commande de remplacement de
sed
pour tous les caractères accentués — pas tout UTF-8 ! (La
longue commande sed
est répartie sur autant de lignes que de
caractères pour la lisibilité.) La commande qptoutf8 agenda
lit
un fichier agenda.ics
, y remplace le quoted-printable sur deux
octets par des caractères UTF-8 (remplace aussi d’abord les mentions
;ENCODING=QUOTED-PRINTABLE
par rien du tout) et écrit le
résultat lisible dans agenda-utf-8.ics
. Je donne le code de
qptoutf8
dans qptoutf8.txt.
Il faut convertir en UTF-8 le quoted printable comme expliqué ci-dessus. C’est le premier mais pas le seul problème.
Le deuxième problème est que les heures sont données avec
un Z en fin de ligne que Lightning et Sunbird n’interprètent pas
correctement, ce qui donne des décalages horaires. Il faut supprimer cette
lettre Z et le problème disparaît. Mais dans le fichier ics
fourni par Wammu, les lignes se terminent par CR
LF
.
Pour la commande sed
, la fin de la ligne est marquée par le
LF
. Donc le dernier caractère est le CR
et le Z à
supprimer est en réalité l’avant-dernier. Il s’agit donc de supprimer
tout Z suivi d’un caractère quelconque ("."
) en fin de ligne.
On indique à sed
la fin de ligne par un $
. La
commande a ajouter au script pour supprimer le Z est donc sed -e
’s/Z.$//g’ \
Le troisième problème est celui des notes qui ne sont pas
des rendez-vous, qui sont attachées à des jours mais sans heures
déterminées. Si je marque dans mon Nokia 6021 mon intention de prendre des
vacances du 1er au 15 juillet, cela devient du 1er au 14 dans Lightning et Sunbird. Pourquoi la fondation
Mozilla veut-elle me supprimer un jour de congé ? Dans le fichier
ics
que Wammu tire du Nokia 6021, on a
DTSTART;VALUE=DATE:20080701
et
DTEND;VALUE=DATE:20080715
. (Les variables DTSTART
et
DTEND
sont par défaut de type date-time
. Comme ici
on veut donner une date seule, on déroge au type par la clause
VALUE=DATE
.) Pour Lightning et Sunbird, ces dates sans heures
deviennent des dates à 00:00 heure et un événement jusqu’au 15 à 00:00
heure n’est affiché que jusqu’au 14. Donc ce qui était 15 inclus dans mon
Nokia devient 15 exclu pour les agendas à la sauce Mozilla. C’est un
problème que je n’ai pas encore résolu. La piste serait peut-être
d’imposer 00:01, mais ça risque devenir un rendez-vous à heure
déterminée. Une autre piste serait d’ajouter un jour à toutes les dates de
fin. Pour cela je dois d’abord augmenter encore un peu ma compétence en
sed
.
Ça y est, le vrai OCR sous Linux est arrivé ! J’ai installé tesseract-ocr avec les fichiers de données pour différentes langues à partir du dépot Universe d’Ubuntu.
On scanne une page d’un livre en français
disons image.tiff
. On commande
tesseract image.tiff textedelimage -l fra
(où bien sûr -l fra
veut dire langue :
français — je suppose qu’on a les fichiers de données de langue pour le
français) et ça donne en trois secondes le fichier
textedelimage.txt
du texte d’image.tiff
sans une
seule faute. (Enfin, pour les textes de bonne qualité et si les lignes sont
bien horizontales sur le scanner.) J’ai pu reconnaître aussi par Tesseract
un PDF pure image en le convertissant en TIFF comme expliqué
ci-dessus.
Qu’on se le dise, maintenant sous Linux il y a un vrai OCR gratuit mais de qualité professionnelle, à l’égal des plus chers !
On peut interfacer Tesseract avec XSane par le script d’une élégante simplicité xsane2tess.pl du blog EquinoxeFR. L’auteur propose de l’installer dans /usr/bin, ce qui peut se faire comme suit
cd /usr/bin
sudo wget
http://www.equinoxefr.org/wp-content/uploads/2008/07/xsane2tess.pl
sudo chmod +x xsane2tess.pl
(À toutes fins utiles, je sauve aussi xsane2tess.pl sur mon site.) Dans XSane,
Préférences, Configuration, OCR, indiquer comme Commande, xsane2tess.pl
-l fra
(pour le français — adapter pour d’autres langues),
-i
comme option d’entrée et -o
comme option de
sortie. Dans la fenêtre principale de XSane, demander
Enregistrer
, proposer un nom de fichier (sans l’extension
.txt
, que le script ajoutera), choisir le type TEXT
et Gris
au lieu de Couleur
. Et voilà, on peut passer
du scanner au texte en une seule opération les doigts dans le nez. (Si on
avait demandé Visionneuse
, il est toujours possible de sauver
l’image visionnée à travers l’OCR. C’est une des commandes du menu
Fichier
de la visonneuse.) Le script écrit un fichier log
/tmp/tesseract.log
. Il me semble qu’il faut donner à ce fichier
un maximum de permissions sinon rien ne marche. Tesseract est réputé ne fonctionner qu’en
noir et blanc mais ceci marche en gris ! Tesseract ne fait pas d’analyse des
zones de texte, par exemple en colonnes. Il faut utiliser l’aperçu de XSane
pour sélectionner les passages à reconnaître.
Avec cette installation xSane et xsane2tess.pl on peut passer à Tesseract 3.0 sans rien changer. Cela fonctionne alors même en couleurs (peut-être mieux). Je n'ai pas encore essayé s'il y a une bonne analyse automatique de texte en colonne dans cette nouvelle version que je viens d'installer.
J’ai fait ça auparavant avec les
indications trouvées sur ubuntu-fr.org
dans leur page
xsane2tess.(J’ai copié ce script bash aussi ici
sur mon site ou bien, si on préfère graphicsmagick
, dans une
varainte xsane2tess-g.txt adaptée, mais souvent
imagemagick
est déjà installé.) Ça fonctionnait très bien,
pendant des années, et puis subitement plus du tout, au moment du passage à
Ubuntu 10.10, ce qui est peut-être la raison, que je n’ai pas cherché à
élucider puis que j’ai trouvé alors tout de suite xsane2tess.pl..
Attention, dans les préférences de XSane, à l’importance
du fra
dans la commande xsane2tess -l fra
. Avec ce
choix de langue, Tesseract reconnaît assez bien aussi l’anglais. Pour mettre
toutes les chances de mon côté, j’ai cependant mis xsane2tess -l
eng
. J’ai ensuite oublié de changer eng
en revenant au
français. Le résultat est pauvre. Beaucoup d’accents sont perdus. (Cela
montre l’importance du dictionnaire dans la reconnaissance.) Les mots longs
sont faciles à corriger avec un correcteur d’orthographe, mais il est
fastidieux de retrouver tous les a qui demandent un accent grave. Bref, pour le
français, il faut impérativement l’indication de langue fra
et, plutôt que de l’oublier, on pourrait préférer ne pas la changer pour
des langues avec peu d’accents commme l’anglais ou le néerlandais.
J’avais installé ocrad
et
gocr
. Aucun des deux n’est comparable aux grands logiciels
commerciaux, mais je trouvais ocrad
un peu plus fiable. De toute
manière l’un et l’autre sont cent coudées en dessous de Tesseract. Le
fichier d’entrée doit être en format pbm. Si on demande à Xsane de scanner
en trait (noir et blanc) et de sauver en pnm, ce sera du pbm. Il faut dire à
ocrad
qu’on veut de l’UTF-8 (par exemple), quel est le ficher
d’entrée et celui de sortie. Exemple :
ocrad scantexte.pnm -F utf8 -o
textetexte.txt
.
Le logiciel gImageReader travaille avec Tesseract 3.0. Si ce n’est pas encore dans les paquets de la distribution, il faut ajouter un dépôt. Commencer par faire la mise à jour à partir des dépôts habituels. Ensuite ajouter un dépôt par
sudo add-apt-repository ppa:alex-p/notesalexp
puis, dans Synaptic, après avoir rafraîchi les informations de paquets, installer Tesseract 3.0. Ce dépôt peut contenir des tas d’autres choses. Il faut donc le déactiver immédiatement après l’installation de Tesseract et ne pas faire de mise à jour générale avant de l’avoir désactivé. Tesseract 3.0 travaille aussi en couleurs et propose beaucoup plus de langues. (J’ai essayé le russe avec succès). Cela fonctionne avec gImageReader, mais cela continue à fonctionner avec xSane et le script xsane2tess.pl comme ci-dessus sans changement. (Ne pas ouvrir gImageReader et xSane en même temps.)
L’application gscan2pdf
propose par défaut de
collaborer avec Tesseract pour inclure une couche texte dans le fichier PDF ou
Djvu que l’on scannerait d’un livre. Il y a un éditeur fruste dans lequel
on peut corriger les fautes de reconnaissance de caractères. Lorsqu’on
visionne le PDF ou le Djvu obtenu (dans le Document Viewer
evince
), on ne peut pas sélectionner avec la souris un passage du
texte pour le copier. (Je comprends que ça suppose une mise en relation
précise de chaque caractère du texte avec sa position dans l’image. Cela va
de soi si l’image est produite à partir du texte mis en page, mais ça
demanderait un traitement très sophistiqué si on passe au contraire comme ici
de l’image au texte.) Mais si on fait Tout sélectionner
, on
peut copier le texte entier de la page comme texte pour le coller ailleurs.
Bien que prévu pour les Tesseract 1.x et 2.x, gscan2pdf fonctionne avec Tesseract 3.0. Le seul poblème est que les langues disponibles sont déterminées par la présence des fichiers de langue et que ceux-ci ont changé de nom. Il faut tromper gscan2pdf en mettant des fichiers quelconques avec le nom voulu, en faisant
sudo touch fra.DangAmbigs; sudo touch fra.freq-dawg; sudo touch fra.inttemp; sudo touch fra.normproto; sudo touch fra.pffmtable; sudo touch fra.unicharset; sudo touch fra.user-words; sudo touch fra.word-dawg
pour le français. Ça ne suffit pas encore, ça ne marche pas avec des fichiers vides. J’ai donc écrit « azerty » dans chacun de ces fichiers et ça marche. Il est possible que la présence d’un seul suffirait, mais je ne sais pas lequel et je n’ai pas eu le courage de chercher encore. (Il faut bien sûr avoir aussi le fichier de langue de la version 3.0.) J’ai fait de même pour le russe. J’ai pu importer un livre en russe de 640 pages dont j’avais un djvu purement photographique de 35 Mo. J’ai demandé la reconnaissance du tout et deux bonnes heures après, j’avais un nouveau djvu avec couche texte en russe.
Pour transformer tout ou partie d’un livre en PDF ou Djvu avec layer texte, c’est excellent. Si on veut seulement récupérer un passage du texte comme texte pour l’éditer ou le publier ailleurs, la voie xsane2tess.pl est plus indiquée.
Il y a des travaux sur un logiciel de reconnaissance de caractères, OCRopus (que l’on trouve dans les dépôts Ubuntu), qui utilise Tesseract comme moteur de reconnaissance mais en y ajoutant l’analyse de page. OCRopus admet des fichiers de départ autres que Tiff, comme PNG. C’est encore en ligne de commande.
Le paquet icoutils
fournit divers outils pour
récupérer et convertir de et vers des images en format .ico
de
Microsoft. Par exemple, la commande
icotool --create --output favicon.ico
monsite32.png monsite64.png monsite16.png
ou icotool -c -o favicon.ico monsite32.png
monsite64.png monsite16.png
crée une icone favicon.ico
à partir d’images
monsite…
de diverses dimensions (par exemple 32, 64 ou 16 pixels
au carré).
Sous Gnome, Evince affiche les images mais aussi les fichiers PDF et PostScript.
On peut évidemment ouvrir un document Word dans
OpenOffice.org. Mais c’est une application lourde à démarrer. Parfois on ne
désire aucunement éditer le document mais seulement se rappeler ce qu’il y
a dedans, par exemple pour décider de l’archiver ou de le détruire. Voici
un moyen d’en examiner rapidement le contenu dans Firefox. Installer le
paquet wv
. Écrire le script suivant :
#!/bin/bash
wvWare -x /usr/lib/wv/wvHtml.xml $1 > temp.html
firefox temp.html
rm temp.html
#
Je l’ai sauvé sous le nom de viewdoc
dans mon
dossier /home/moi/bin
et je l’ai rendu exécutable. Pour
visionner fichier.doc
, par exemple, je n’ai qu’à lancer
~/bin/viewdoc fichier.doc
pour en voir apparaître le contenu dans Firefox. Bien sûr Firefox n’est lui-même pas des plus rapides à démarrer. Ce sera rapide si Firefox est déjà ouvert.
Firefox et Thunderbird sont souvent installés avec le papier
Lettre US (en anglais Letter
) par défaut. On peut le modifier
dans un dialogue de mise en page ou d’impression, mais ce n’est pas
mémorisé pour la fois suivante. Pour le changer, il faut éditer
pref.js
dans le dossier de profil de l’application. Attention,
notez ceci puis fermez Firefox et Thunderbird avant d’éditer leur
pref.js
. Chercher toutes les lignes avec print_paper
et modifiez-les comme suit
user_pref("print.print_paper_data", 9);
// Je ne sais pas ce que ça veut dire, non documenté,
j’ai mis comme print_paper_size
user_pref("print.print_paper_height",
"297");
// 297 mm de hauteur
user_pref("print.print_paper_name",
"A4");
// A4
user_pref("print.print_paper_size", 9);
// Documenté (http://doc.xmarc.net/xmarc7/es/Fire/refman/print_paper_size_identifiers.htm) : 9 c’est A4
user_pref("print.print_paper_size_type",
1);
// Je ne sais pas ce que ça veut dire, inchangé
user_pref("print.print_paper_size_unit",
1);
// En millimètres
user_pref("print.print_paper_width",
"210");
// 210 mm de largeur
non seulement les lignes ci-dessus mais aussi les lignes similaires avec un nom d’imprimante comme
user_pref("print.printer_My-Printer-Model.print_paper_data",
9);
Par contre, il est normal d’avoir dans pref.js
une liste où sont définis des papiers différents paper.0
,
paper.1
, paper.2
et cetera. Il ne faut pas changer
ces définitions.
Certaines versions de Firefox lisent mal la définition de l’écran à l’installation et se retrouvent avec des polices d’écran disproportionnées. On peut le corriger en éditant un fichier de style userChrome.css dans le répertoire chrome de son répertoire de profil. J’ai des polices de menu convenables avec
* {font-size: 12px !important;}