Dominique Meeùs
Dernière modification le  
retour au sommaire Linux

Questions de formats

Types de fichiers et actions

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.

Conversions

Papier vers PDF (avec couche texte)

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.

PDF vers jpeg ou autres

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.ppmimgpdf-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 !

PDF vers texte

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.

PDF vers html

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.

PostScript vers texte

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.

PostScript vers PDF

La technique Ghostscript ci-dessus peut être appliquée vers l’ « imprimante » pdfwrite par la commande abrégée ps2pdf.

Marque-pages (bookmarks) vers xml et html

La norme XBEL

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.

Netscape, Mozilla, Firefox 1.x et 2.x vers XBEL

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 vers 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.

Afficher le fichier XBEL dans un browser

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.

XBEL vers html

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.

XBEL vers html en passant par Freemind

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.)

XBEL vers html en PHP

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.

Quoted-printable vers UTF-8

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.

Nokia 6021 par Wammu vers Lightning ou Sunbird

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.

Image vers texte (reconnaissance optique de caractères, ROC, optical character recognition, OCR)

Ç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.

Tesseract en ligne de commande

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 !

À travers XSane

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.

À travers gImageReader

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.)

À travers gscan2pdf

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.

À travers OCRopus

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.

Images vers icones Microsoft

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é).

Visionner

PDF et PostScript

Sous Gnome, Evince affiche les images mais aussi les fichiers PDF et PostScript.

Documents Microsoft Word

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.

Imprimer

Papier d’impression par défaut dans Firefox et Thunderbird

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.

Polices

Polices de menu dans Firefox

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;}

Retour en haut de la page