Chapitre 11. Conversion de données

Table des matières

11.1. Outils de conversion de données textuelles
11.1.1. Convertir un fichier texte avec iconv
11.1.2. Vérifier que les fichiers sont codés en UTF-8 avec iconv
11.1.3. Convertir les noms de fichiers avec iconv
11.1.4. Convertir les fins de ligne (EOL)
11.1.5. Convertir les tabulations (TAB)
11.1.6. Éditeurs avec conversion automatique
11.1.7. Extraire du texte brut
11.1.8. Mettre en évidence et formater des données en texte brut
11.2. Données XML
11.2.1. Conseils de base pour XML
11.2.2. Traitement XML
11.2.3. Extraire des données XML
11.2.4. The XML data lint
11.3. Composition
11.3.1. Composition roff
11.3.2. TeX/LaTeX
11.3.3. Imprimer convenablement une page de manuel
11.3.4. Créer une page de manuel
11.4. Données imprimables
11.4.1. Ghostscript
11.4.2. Fusionner deux fichiers PS ou PDF
11.4.3. Utilitaires pour les données imprimables
11.4.4. Imprimer avec CUPS
11.5. La conversion de données de courrier électronique
11.5.1. Bases concernant les données de courrier électronique
11.6. Outils de données graphiques
11.7. Diverses conversions de données

Description des outils et astuces pour convertir différents formats de données sur un système Debian.

Les outils basés sur des standards sont de très bonne qualité mais la prise en charge des formats propriétaires est limitée.

Mes yeux ont été attirés par les paquets suivants de conversions de données textuelles :


[Astuce] Astuce

iconv(1) fait partie du paquet libc6 et est toujours disponible sur pratiquement tous les systèmes de type Unix pour permettre la conversion des codages de caractères.

Vous pouvez convertir les codages de caractères d’un fichier texte par iconv(1) en effectuant ce qui suite :

$ iconv -f encoding1 -t encoding2 input.txt >output.txt

La valeur des codages n’est pas sensible à la casse et ignore « -  » et « _ » pour la correspondance. On peut vérifier quels sont les codages pris en charge à l’aide de la commande « iconv -l ».

Tableau 11.2. Liste de valeurs de codage et leur utilisation

valeur de codage utilisation
ASCII American Standard Code for Information Interchange (Code américain standard pour l’échange d’informations), code sur 7 bits sans caractère accentué
UTF-8 norme actuelle multi-langues pour tous les systèmes d’exploitation modernes
ISO-8859-1 ancienne norme pour les langues d’Europe de l’ouest, ASCII + lettres accentuées
ISO-8859-2 ancienne norme pour les langues d’Europe de l’est, ASCII + lettres accentuées
ISO-8859-15 ancienne norme pour les langues d’Europe de l’ouest, ISO-8859-1 avec le signe euro
CP850 page de code 850, caractères de DOS Microsoft avec graphiques pour les langues de l’Europe de l’est, variante de ISO-8859-1
CP932 page de code 932, variante style Microsoft Windows de Shift-JIS pour le japonais
CP936 page de code 936, variante style Microsoft Windows de GB2312, GBK ou GB18030 pour le chinois simplifié
CP949 page de code 949, variante style Microsoft Windows de EUC-KR de «  Unified Hangul Code » pour le coréen
CP950 page de code 950, variante style Microsoft Windows de Big5 pour le chinois traditionnel
CP1251 page de code 1251, encodage de style Microsoft Windows pour l’alphabet cyrillique
CP1252 page de code 1252, variante style Microsoft Windows de ISO-8859-15 pour les langues d’Europe de l’ouest
KOI8-R ancienne norme UNIX de russe pour l’alphabet cyrillique
ISO-2022-JP codage standard du courrier électronique japonais n’utilisant que des codes à 7 bits
eucJP ancien code UNIX de japonais sur 8 bits et complètement différent de Shift-JIS
Shift-JIS norme JIS X 0208 Annexe 1 pour le japonais (consultez CP932)

[Note] Note

Some encodings are only supported for the data conversion and are not used as locale values (Section 8.1, « Les paramètres linguistiques (« locale ») »).

Pour les jeux de caractères qui tiennent dans un seul octet tels que les jeux de caractères ASCII et ISO-8859, le codage des caractères signifie à peu près la même chose que le jeu de caractères.

Pour les jeux de caractères ayant de nombreux caractères tels que JIS X 0213 pour le japonais ou Universal Character Set (UCS, Unicode, ISO-10646-1) (jeu de caractère universel) pour pratiquement toutes les langues, il y a de nombreux schémas de codage pour les insérer dans les séquences d’octets de données.

Pour ceux-ci, il y a une différence claire entre le jeu de caractères et le codage des caractères.

Page de code est utilisée comme synonyme de table de codage de caractères pour certaines d’entre-elles spécifiques au fournisseur.

[Note] Note

Veuillez remarquer que la plupart des systèmes de codage partagent le même code avec ASCII pour les caractères sur 7 bits. Mais il y a quelques exceptions, lors de la conversion de programmes C et des données d’URL anciens en japonais depuis ce qui est parfois appelé format de codage shift-JIS vers le format UTF-8, utilisez « CP932 » comme nom de codage plutôt que « shift-JIS » afin d’obtenir le résultat attendu : 0x5C → « \ » et 0x7E → « ~ ». Sinon, ils seront convertis vers les mauvais caractères.

[Astuce] Astuce

On peut aussi utiliser recode(1) qui offre plus de fonctionnalités que celles combinées de iconv(1), fromdos(1), todos(1), frommac(1) et tomac(1). Pour plus de détails, consultez « info recode ».

Les éditeurs de textes modernes et intelligents comme le programme vim sont assez habiles et prennent assez bien en compte les systèmes de codage de caractères et tous les formats de fichiers. Vous devriez utiliser ces éditeurs avec les paramètres linguistiques UTF-8 dans une console compatible avec UTF-8 pour une meilleure compatibilité.

Un ancien fichier texte UNIX d’Europe de l’Ouest, « u-file.txt » enregistré dans le codage latin1 (iso-8859-1) peut être édité avec vim de la manière suivante :

$ vim u-file.txt

C’est possible car le mécanisme d’autodétection du codage du fichier dans vim suppose d’abord que le codage est UTF-8 et, s’il échoue, suppose qu’il est latin1.

Un ancien fichier texte en polonais, « pu-file.txt », enregistré avec le codage latin2 (iso-8859-2) peut être édité avec vim de la manière suivante :

$ vim '+e ++enc=latin2 pu-file.txt'

Un ancien fichier texte UNIX en japonais, « ju-file.txt », enregistré avec le codage eucJP peut être édité avec vim de la manière suivante :

$ vim '+e ++enc=eucJP ju-file.txt'

Un ancien fichier MS-Windows en japonais, « jw-file.txt », enregistré dans le codage appelé shift-JIS (plus précisément : CP932) peut être édité avec vim de la manière suivante :

$ vim '+e ++enc=CP932 ++ff=dos jw-file.txt'

Lorsqu’un fichier est ouvert avec les options « ++enc » et « ++ff », « :w » sur la ligne de commandes de Vim l’enregistre dans son format d’origine et écrase le fichier d’origine. Vous pouvez aussi indiquer le format d’enregistrement et le nom du fichier sur la ligne de commandes de Vim, par exemple, « :w ++enc=utf8 nouveau.txt ».

Veuillez vous rapporter à mbyte.txt « multi-byte text support » dans l’aide en ligne de vim et Tableau 11.2, « Liste de valeurs de codage et leur utilisation » pour les valeurs de paramètres linguistiques utilisés avec « ++enc ».

La famille de programmes emacs peut effectuer des fonctions équivalentes.

Ce qui suit permet de lire une page web sous forme de fichier texte. C’est très utile pour copier des informations de configuration depuis le Web ou pour appliquer des outils textuels de base d’UNIX comme grep(1) à la page web .

$ w3m -dump http://www.remote-site.com/help-info.html >textfile

De la même manière, vous pouvez extraire des données en texte brut vers d’autres formats en utilisant ce qui suit :.


Vous pouvez mettre en évidence et formater des données en texte brut de la manière suivante :

Tableau 11.6. Liste des outils pour mettre en évidence des données de texte brut

paquet popcon taille mot clé description
vim-runtime V:19, I:421 36201 mise en évidence MACRO Vim pour convertir du code source en HTML avec « :source $VIMRUNTIME/syntax/html.vim »
cxref V:0, I:0 1190 c→html convertisseur pour les programmes C vers latex et HTML (langage C)
src2tex V:0, I:0 622 mise en évidence convertit de nombreux codes sources en TeX (langage C)
source-highlight V:0, I:6 1989 mise en évidence convertit de nombreux codes source vers des fichiers HTML, XHTML, LaTeX, Texinfo, séquences d’échappement en couleur ANSI et DocBook files avec mise en évidence (C++)
highlight V:0, I:7 1084 mise en évidence convertit de nombreux codes sources en fichiers HTML, XHTML, RTF, LaTeX, TeX ou XSL-FO avec mise en évidence (C++)
grc V:0, I:4 208 texte→couleur coloriseur générique pour n’importe quoi (Python)
pandoc V:9, I:45 168398 texte→tout format Marqueur de conversion global (Haskell)
python3-docutils V:13, I:49 1777 texte→tout format formateur de documents ReStructured Text vers XML (Python)
markdown V:0, I:10 58 texte→html Markdown text document formatter to (X)HTML (Perl)
asciidoctor V:0, I:8 97 texte→tout format AsciiDoc text document formatter to XML/HTML (Ruby)
python3-sphinx V:6, I:22 2791 texte→tout format ReStructured Text based document publication system (Python)
hugo V:0, I:5 52016 texte→html Markdown based static site publication system (Go)

Le langage de balisage extensible (« The Extensible Markup Language (XML) » est un langage de balisage de documents dont les informations sont structurées.

Consultez une introduction sur XML.COM.

Le texte en XML ressemble un peu à HTML. Il vous permet de gérer de nombreux formats de sortie pour un document. Un système XML facile est le paquet docbook-xsl qui est utilisé ici.

Chaque fichier XML commence par la déclaration XML standard suivante :

<?xml version="1.0" encoding="UTF-8"?>

La syntaxe de base d’un élément XML est balisée de la manière suivante :

<name attribute="value">content</name>

Un élément XML dont le contenu est vide est balisé de la façon raccourcie suivante :

<name attribute="value" />

« attribute="value" » dans les exemples ci-dessus est optionnel.

L’action commentaire en XML est balisée comme suit :

<!-- comment -->

En plus d’ajouter des balises, XML demande des conversions mineures de contenu en utilisant des entités prédéfinies pour les caractères suivants :


[Attention] Attention

« < » ou « & » ne peuvent pas être utilisés dans des attributs ni des éléments.

[Note] Note

When SGML style user defined entities, e.g. "&some-tag;", are used, the first definition wins over others. The entity definition is expressed in "<!ENTITY some-tag "entity value">".

[Note] Note

Tant que le balisage XML est fait de manière cohérente avec un jeu particulier de nom de balises (soit certaines données comme valeur de contenu ou d’attribut), la conversion vers un autre XML est une tâche triviale en utilisant Extensible Stylesheet Language Transformations (XSLT).

Il existe de nombreux outils pour traiter les fichiers XML tels quele langage extensible de feuilles de style (« the Extensible Stylesheet Language XSL «).

En gros, une fois créé un fichier XML correctement formaté, vous pouvez le convertir vers n’importe quel format en utilisant le langage extensible de transformation des feuilles de style (XSLT) (« Extensible Stylesheet Language Transformations  »).

Le Langage extensible de feuilles de style pour le formatage des objets (XSL-FO) (« Extensible Stylesheet Language for Formatting Objects  » est censé être la solution au formatage. Le paquet fop est nouveau dans l’archive main de Debian du fait de ses dépendances vers le langage de programmation Java. Le code LaTeX est donc habituellement créé depuis XML en utilisant XSLT, et le système LaTeX est utilisé pour créer des fichiers imprimables comme DVI, PostScript et PDF.


Comme XML est un sous-ensemble du Langage généralisé de balisage ( Standard Generalized Markup Language SGML »), il peut être traité par les nombreux outils disponibles pour SGML, comme Document Style Semantics and Specification Language (DSSSL).


[Astuce] Astuce

yelp de GNOME est parfois pratique pour lire les fichiers XML DocBook directement car il effectue un rendu propre sous X.

Le programme UNIX troff, développé à l’origine par AT&T, peut être utilisé pour une composition simple. Il est habituellement utilisé pour créer des pages de manuel.

TeX, créé par Donald Knuth, est un outil très puissant de composition et c’est le standard de fait. LaTeX, écrit à l’origine par Leslie Lamport permet un accès de haut niveau à la puissance de TeX.


Traditionnellement, roff est le système de traitement de texte principal sous UNIX. Consultez roff(7), groff(7), groff(1), grotty(1), troff(1), groff_mdoc(7), groff_man(7), groff_ms(7), groff_me(7), groff_mm(7), et « info groff ».

Vous pouvez lire ou imprimer un bon didacticiel et document de référence sur la macro « -me » dans « /usr/share/doc/groff/ » en installant le paquet groff.

[Astuce] Astuce

« groff -Tascii -me - » produit une sortie en texte brut avec du code d’échappement ANSI. Si vous désirez obtenir une sortie semblable à une page de manuel avec de nombreux « ^H » et « _ », utilisez plutôt « GROFF_NO_SGR=1 groff -Tascii -me - ».

[Astuce] Astuce

Pour supprimer les « ^H » et les « _ » d’un fichier texte issu de groff, filtrez le par « col -b -x ».

La distribution logicielle TeX Live offre un système TeX complet. Le métapaquet texlive fournit une bonne sélection de paquets de TeX Live qui devraient suffire aux tâches les plus courantes.

De nombreuses références sont disponibles pour TeX et LaTeX :

  • The teTeX HOWTO : le guide local de teTeX sous Linux ;

  • tex(1) ;

  • latex(1) ;

  • texdoc(1) ;

  • texdoctk(1) ;

  • « The TeXbook », par Donald E. Knuth, (Addison-Wesley) ;

  • « LaTeX - A Document Preparation System », par Leslie Lamport, (Addison-Wesley) ;

  • « The LaTeX Companion », par Goossens, Mittelbach, Samarin, (Addison-Wesley).

C’est l’environnement de composition typographique le plus puissant. De nombreux processeurs SGML l’utilisent comme processeur de texte en « backend ». Lyx qu’on trouvera dans le paquet lyx et GNU TeXmacs qui provient du paquet texmacs offrent un environnement d’édition agréable en mode WYSIWYG pour LaTeX bien que nombreux sont ceux qui choisissent d’utiliser Emacs et Vim pour éditer les sources.

De nombreuses ressources sont disponibles en ligne :

Lorsque les documents deviennent plus importants, TeX cause parfois des erreurs. Vous devez augmenter la taille de l’espace dans « /etc/texmf/texmf.cnf » (ou, de manière plus rigoureuse, éditez « /etc/texmf/texmf.d/95NonPath » et lancez update-texmf(8)) afin de corriger cela.

[Note] Note

Les sources au format TeX de « The TeXbook » sont disponibles à l'adresse http://tug.ctan.org/tex-archive/systems/knuth/dist/tex/texbook.tex. Ce fichier contient la plupart des macros nécessaires. J’ai entendu dire que vous pouvez traiter ce document avec tex(1) après avoir commenté les lignes 7 à 10 et ajouté « \input manmac \proofmodefalse ». Je recommande vivement l’achat de ce livre (et de tous les autres livres de Donald E. Knuth) plutôt que d’utiliser la version en ligne mais la version source est un très bon exemple d’utilisation de TeX !

Sur un système Debian, les données imprimables sont définies dans le format PostScript. Common UNIX Printing System (CUPS) utilise Ghostscript en tant que programme de tramage « rasterisation » pour les imprimantes non-PostScript.

Vous pouvez fusionner deux fichiers PostScript (PS) ou Portable Document Format (PDF) en utilisant gs(1) de Ghostscript.

$ gs -q -dNOPAUSE -dBATCH -sDEVICE=pswrite -sOutputFile=bla.ps -f foo1.ps foo2.ps
$ gs -q -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -sOutputFile=bla.pdf -f foo1.pdf foo2.pdf
[Note] Note

Le format PDF qui est un format imprimable multi-plateformes largement utilisé, est essentiellement un format PS compressé avec quelques fonctionnalités et extensions supplémentaires .

[Astuce] Astuce

For command line, psmerge(1) and other commands from the psutils package are useful for manipulating PostScript documents. pdftk(1) from the pdftk package is useful for manipulating PDF documents, too.

Les paquets suivants fournissant des utilitaires pour les données imprimables ont attiré mon attention :

Tableau 11.15. Liste des utilitaires pour les données imprimables

paquet popcon taille mot clé description
poppler-utils V:172, I:439 717 pdf→ps,text,… utilitaires PDF :: pdftops, pdfinfo, pdfimages, pdftotext, pdffonts
psutils V:9, I:82 219 ps→ps outils de conversion de document PostScript
poster V:0, I:4 58 ps→ps créer des posters de grande dimension à partir de pages PostScript
enscript V:1, I:17 2132 text→ps, html, rtf convertir du text ASCII en PostScript, HTML, RTF ou Pretty-Print
a2ps V:4, I:12 3648 text→ps Convertisseur de « N’importe quoi vers PostScript » et imprimeur élégant
pdftk I:46 28 pdf→pdf outil de conversion de documents PDF : pdftk
html2ps V:0, I:3 261 html→ps convertisseur de HTML vers PostScript
gnuhtml2latex V:0, I:1 27 html→latex convertisseur de html vers latex
latex2rtf V:0, I:5 480 latex→rtf convertir des documents de LaTeX en RTF qui peuvent être lus par MS Word
ps2eps V:2, I:50 99 ps→eps convertisseur de PostScript vers EPS (PostScript encapsulé)
e2ps V:0, I:0 109 text→ps convertisseur de texte vers PostScript avec la prise en charge du codage japonais
impose+ V:0, I:0 119 ps→ps Utilitaires PostScript
trueprint V:0, I:0 149 text→ps imprime élégamment de nombreux codes source (C, C++, Java, Pascal, Perl, Pike, Sh, et Verilog) vers PostScript. (langage C)
pdf2svg V:0, I:4 30 ps→svg convertisseur de PDF vers le format Scalable vector graphics (« SVG »)
pdftoipe V:0, I:0 65 ps→ipe convertisseur de PDF vers le format IPE d’XML

Les commandes lp(1) et lpr(1) proposées par le Common UNIX Printing System (CUPS) fournissent toutes deux des options de personnalisation des données imprimables.

Vous pouvez imprimer 3 copies d’un fichier en utilisant une des commandes suivantes :

$ lp -n 3 -o Collate=True filename
$ lpr -#3 -o Collate=True filename

Vous pouvez personnaliser davantage le fonctionnement de l’imprimante en utilisant des options d’impression telles que « -o number-up=2 », « -o page-set=even », « -o page-set=odd », « -o scaling=200 », « -o natural-scaling=200 », etc., documentées sur Impression et options en ligne de commande.

Les paquets suivants, destinés à la conversion de données de courrier électronique, ont attiré mon attention :


[Astuce] Astuce

The Internet Message Access Protocol version 4 (IMAP4) server may be used to move mails out from proprietary mail systems if the mail client software can be configured to use IMAP4 server too.

Mail (SMTP) data should be limited to series of 7 bit data. So binary data and 8 bit text data are encoded into 7 bit format with the Multipurpose Internet Mail Extensions (MIME) and the selection of the charset (see Tableau 11.2, « Liste de valeurs de codage et leur utilisation »).

Le format standard d’enregistrement du courrier électronique est « mbox » selon la RFC2822 (RFC822 mise à jour). Consultez mbox(5) (fourni par le paquet mutt.

Pour les langues européennes, on utilise habituellement pour le courriel « Content-Transfer-Encoding: quoted-printable » avec le jeu de caractères ISO-8859-1 car il n’y a pas beaucoup de caractères de 8 bits. Si le texte européen est codé en UTF-8, on préférera utiliser « Content-Transfer-Encoding: quoted-printable » car ce sont essentiellement des données sur 7 bits.

Pour le japonais, « Content-Type: text/plain; charset=ISO-2022-JP » est habituellement utilisé pour le courriel afin de conserver le texte sur 7 bits. Mais les anciens systèmes Microsoft peuvent envoyer des données de courriel en Shift-JIS sans le déclarer proprement. Si le texte japonais est codé en UTF-8, on utilisera de préférence Base64 car il comporte de nombreuses données sur 8 bits. La situation des autres langues asiatiques est similaire.

[Note] Note

If your non-Unix mail data is accessible by a non-Debian client software which can talk to the IMAP4 server, you may be able to move them out by running your own IMAP4 server.

[Note] Note

Si vous utilisez d’autres formats d’enregistrement de courriel, les mettre dans le format mbox est une bonne première étape. Un programme client souple comme mutt(1) peut être pratique pour le faire.

Vous pouvez éclater le contenu d’une boîte à lettre en messages séparés en utilisant procmail(1) et formail(1).

Chaque message de courrier électronique peut être dépaqueté en utilisant munpack(1) qui provient du paquet mpack (ou d’autres outils spécialisés) afin d’en obtenir le contenu codé en MIME.

Les paquets suivants contenant des outils pour la conversion, l’édition et l’organisation de données graphiques ont attiré mon attention :

Tableau 11.17. Liste d’outils pour les données graphiques

paquet popcon taille mot clé description
gimp V:53, I:272 19767 image (bitmap) Programme de manipulation d’images GNU ( GNU Image Manipulation Program »)
imagemagick I:326 176 image (bitmap) programmes de manipulation d’images
graphicsmagick V:2, I:15 5445 image (bitmap) programmes de manipulation d’images (dérivés d’imagemagick)
xsane V:13, I:148 2339 image (bitmap) Interface graphique X11 de SANE basée sur GTK (Scanner Access Now Easy)
netpbm V:24, I:336 8200 image (bitmap) outils de conversion graphique
icoutils V:9, I:65 221 png↔ico (bitmap) convertit les icônes et curseurs de MS Windows de et vers des formats PNG (favicon.ico)
scribus V:1, I:20 30234 ps/pdf/SVG/… éditeur DTP Scribus
libreoffice-draw V:84, I:408 13442 image (vectorielle) suite de bureautique LibreOffice - dessin
inkscape V:17, I:147 99316 image (vectorielle) éditeur SVG (Scalable Vector Graphics)
dia V:2, I:25 3908 image (vectorielle) éditeur de diagrammes (Gtk)
xfig V:0, I:13 7798 image (vectorielle) Outil de génération interactive de figures sous X11
pstoedit V:2, I:64 1005 ps/pdf→image (vectorielle) convertisseur de fichiers PostScript et PDF en graphiques vectoriels éditables (SVG)
libwmf-bin V:7, I:155 180 Windows/image (vectorielle) outils de conversion de métafichiers Windows (données graphiques vectorielles)
fig2sxd V:0, I:0 151 fig→sxd (vectorielle) conversion de fichiers XFig dans le format OpenOffice.org Draw
unpaper V:2, I:18 412 image→image outil de post-traitement pour des pages numérisées pour OCR
tesseract-ocr V:7, I:36 2135 image→texte logiciel OCR libre basé sur le moteur commercial OCR de HP
tesseract-ocr-eng V:8, I:36 4032 image→texte moteur de données OCR : fichier de langue de tesseract-ocr pour le texte en anglais
gocr V:1, I:9 545 image→texte logiciel OCR libre
ocrad V:0, I:4 578 image→texte logiciel OCR libre
eog V:57, I:259 7836 image (Exif) Programme de visualisation d’images « Eye of Gnome » (l’œil de Gnome)
gthumb V:4, I:18 5395 image (Exif) visionneuse et gestionnaire de photos (GNOME)
geeqie V:5, I:17 15398 image (Exif) Visualiseur d’images utilisant GTK
shotwell V:15, I:233 6548 image (Exif) gestionnaire de photos numériques (GNOME)
gtkam V:0, I:5 1154 image (Exif) Application destinée à rapatrier des données numériques depuis les appareils photo numériques (GTK)
gphoto2 V:0, I:10 947 image (Exif) Le client en ligne de commande pour appareil photo numérique gphoto2
gwenview V:26, I:90 11604 image (Exif) visionneuse d’images (KDE)
kamera I:89 983 image (Exif) gestion des appareils photo numériques dans les applications KDE
digikam V:2, I:11 265 image (Exif) application de gestion photos numériques (KDE)
exiv2 V:2, I:32 278 image (Exif) Outil pour manipuler les méta-données EXIF/IPTC
exiftran V:1, I:17 70 image (Exif) transformer les images JPEG des appareils photo numériques
jhead V:0, I:9 131 image (Exif) manipuler la partie non graphique des fichiers JPEG compatibles avec Exif (appareils photo numériques)
exif V:1, I:16 339 image (Exif) utilitaire en ligne de commandes pour afficher les informations EXIF contenues dans les fichiers JPEG
exiftags V:0, I:4 292 image (Exif) utilitaire pour lire les balises Exif depuis un fichier JPEG d’appareil photo numérique
exifprobe V:0, I:3 499 image (Exif) lire les métadonnées des images numériques
dcraw V:1, I:14 583 image (Raw)→ppm décoder les images brutes (« raw ») des appareils photo numériques
findimagedupes V:0, I:1 76 image→fingerprint rechercher des images visuellement similaires ou dupliquées
ale V:0, I:0 839 image→image assembler des images pour en améliorer la fidélité ou créer des mosaïques
imageindex V:0, I:1 145 image (Exif)→html créer des galeries HTML statiques depuis des images
outguess V:0, I:1 230 jpeg,png outil universel Stéganographique
librecad V:1, I:16 8798 DXF éditeur de données de CAO (KDE)
blender V:2, I:32 87149 blend, TIFF, VRML, … éditeur de contenu 3D pour l’animation, etc.
mm3d V:0, I:0 3868 ms3d, obj, dxf, … Éditeur de modèles 3D basé sur OpenGL
open-font-design-toolkit I:0 10 ttf, ps, … métapaquet pour la conception de polices libres
fontforge V:0, I:7 3980 ttf, ps, … éditeur pour les polices PS, TrueType et OpenType
xgridfit V:0, I:0 806 ttf programme pour l’ajustement à la grille et l'optimisation de rendu des polices TrueType

[Astuce] Astuce

Recherchez d’autres outils pour les images en utilisant l’expression rationnelle « ~Gworks-with::image » dans aptitude(8) (consultez Section 2.2.6, « Options de la méthode de recherche avec aptitude »).

Bien que des programmes ayant une interface graphique comme gimp(1) soient très puissants, des outils en ligne de commandes comme imagemagick(1) sont assez utiles pour la manipulation automatique d’images au moyen de scripts.

Le format standard de fait pour les images d’appareils photo numériques est Exchangeable Image File Format (EXIF) qui est composé d’une image au format JPEG à laquelle sont ajoutées des balises de métadonnées. Il peut contenir des informations telles que la date, l’heure ou les paramètres de l’appareil photo.

Le brevet de compression de données sans perte Lempel-Ziv-Welch (LZW) est arrivé en fin de validité. Les utilitaires du format Graphics Interchange Format (GIF) qui utilise la méthode de compression LZW peuvent être maintenant librement disponibles sur un système Debian.

[Astuce] Astuce

Tous les appareils photo numériques ou les scanners ayant un support d’enregistrement amovible fonctionnent sous Linux avec des lecteurs « USB storage » s’ils sont conformes à la Design rule for Camera Filesystem et utilisent un système de fichiers FAT. Consultez Section 10.1.7, « Périphériques d’enregistrement amovibles ».

Il y a de nombreux programmes pour convertir les données. Les paquets suivants ont attiré mon attention en utilisant l’expression rationnelle « ~Guse::converting » avec aptitude(8) (consultez Section 2.2.6, « Options de la méthode de recherche avec aptitude »).


Vous pouvez aussi extraire des données depuis le format RPM avec ce qui suit :

$ rpm2cpio file.src.rpm | cpio --extract