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. Analyse statique (lint) de données XML
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.6.1. Outils de données graphiques (métapaquet)
11.6.2. Outils de données graphiques (interface graphique)
11.6.3. Outils de données graphiques (ligne de commande)
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 glyphes 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

Certains encodages ne sont pris en charge que pour la conversion de données et ne sont pas utilisés comme valeurs de paramètres régionaux (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 https://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 popularité taille mot clé description
vim-runtime V:18, I:395 36525 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:5 2114 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:5 1371 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:5 208 texte→couleur coloriseur générique pour n’importe quoi (Python)
pandoc V:9, I:45 194495 texte→tout format Marqueur de conversion global (Haskell)
python3-docutils V:14, I:51 1804 texte→tout format formateur de documents ReStructured Text vers XML (Python)
markdown V:0, I:9 58 texte→html formateur de document texte Markdown en (X)HTML (Perl)
asciidoctor V:0, I:7 98 texte→tout format formateur de documents texte AsciiDoc vers XML/HTML (Ruby)
python3-sphinx V:6, I:24 2756 texte→tout format système de publication de documents basé sur reStructured Text (Python)
hugo V:0, I:5 78678 texte→html système de publication de site statique basé sur Markdown (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

Lorsque des entités définies par l’utilisateur de style SGML sont utilisées, par exemple « &une_étiquette; », la première définition prend le pas sur les suivantes. La définition de l’entité est exprimée par « <!ENTITY une_étiquette "valeur entité">".

[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

Le fichier source au format TeX de « The TeXbook » est disponible sur le site www.ctan.org de l’archive de 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.

Les données imprimables peuvent aussi être exprimées au format PDF sur les systèmes Debian récents.

Les fichiers PDF peuvent être affichés et les entrées de formulaire peuvent être remplies en utilisant des outils d’affichage graphiques tels que Evince ou Okular (consulter la Section 7.4, « Applications graphiques ») et les navigateurs modernes tels que Chromium.

Les fichiers PDF peuvent être édités en utilisant quelques outils graphiques tels que LibreOffice, Scribus ou Inkscape (consulter la Section 11.6, « Outils de données graphiques »).

[Astuce] Astuce

Les fichiers PDF peuvent être lus avec GIMP et convertis au format PNG en utilisant une résolution supérieure à 300 dpi. Le fichier produit peut être utilisé comme image d’arrière-plan pour LibreOffice pour produire une présentation agréable avec un minimum d’efforts.

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

En ligne de commande, psmerge(1) et d’autres commandes du paquet psutils sont utiles pour manipuler des documents PostScript. pdftk(1) issu du paquet pdftk est aussi utile pour la manipulation de documents PDF.

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 popularité taille mot clé description
poppler-utils V:152, I:471 728 pdf→ps,text,… utilitaires PDF : pdftops, pdfinfo, pdfimages, pdftotext, pdffonts
psutils V:4, I:67 219 ps→ps outils de conversion de document PostScript
poster V:0, I:3 57 ps→ps créer des posters de grande dimension à partir de pages PostScript
enscript V:1, I:14 2130 text→ps, html, rtf convertir du text ASCII en PostScript, HTML, RTF ou Pretty-Print
a2ps V:0, I:10 3979 text→ps Convertisseur de « N’importe quoi vers PostScript » et imprimeur élégant
pdftk I:37 28 pdf→pdf outil de conversion de documents PDF : pdftk
html2ps V:0, I:2 261 html→ps convertisseur de HTML vers PostScript
gnuhtml2latex V:0, I:0 27 html→latex convertisseur de html vers latex
latex2rtf V:0, I:4 495 latex→rtf convertir des documents de LaTeX en RTF qui peuvent être lus par MS Word
ps2eps V:2, I:42 95 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 118 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:3 32 pdf→svg convertisseur de PDF vers le format Scalable vector graphics (« SVG »)
pdftoipe V:0, I:0 65 pdf→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

Le serveur IMAP4 (Internet Message Access Protocol), version 4, peut être utilisé pour récupérer des courriels depuis des systèmes de courriels propriétaires si le logiciel de courriel client peut aussi être configuré pour utiliser IMAP4.

Les données (SMTP) de courrier électronique doivent être limitées à des séries de données de 7 bits. Les données binaires et les données textuelles sur 8 bits sont codées dans un format sur 7 bits avec Multipurpose Internet Mail Extensions (MIME) et la sélection du jeu de caractères (consultez le 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

Pour les données de courriel non-UNIX accessibles par un logiciel client ne venant pas de Debian qui est capable de dialoguer avec le serveur IMAP4, vous pourrez peut-être les récupérer en utilisant votre propre serveur IMAP4 ).

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

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

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

Tableau 11.18. Liste d’outils pour les données graphiques (interfaces graphiques)

paquet popularité taille mot clé description
gimp V:50, I:252 19304 image (bitmap) programme GNU de manipulation d’images ( GNU Image Manipulation Program »)
xsane V:12, I:144 2339 image (bitmap) interface graphique X11 de SANE (Scanner Access Now Easy) basée sur GTK
scribus V:1, I:16 31345 ps/pdf/SVG/… éditeur DTP Scribus
libreoffice-draw V:72, I:430 10312 image (vectorielle) suite de bureautique LibreOffice - dessin
inkscape V:15, I:112 99800 image (vectorielle) éditeur SVG (Scalable Vector Graphics)
dia V:2, I:22 3741 image (vectorielle) éditeur de diagrammes (Gtk)
xfig V:0, I:11 7849 image (vectorielle) outil de génération interactive de figures sous X11
gocr V:0, I:7 540 image→texte logiciel OCR libre
eog V:64, I:277 7770 image (Exif) visionneur d’images « Eye of Gnome » (l’œil de Gnome)
gthumb V:3, I:16 5032 image (Exif) visionneur et gestionnaire de photos (GNOME)
geeqie V:4, I:15 2522 image (Exif) visionneur d’images utilisant GTK
shotwell V:17, I:255 6263 image (Exif) gestionnaire de photos numériques (GNOME)
gwenview V:33, I:106 11755 image (Exif) visionneur d’images (KDE)
kamera I:105 998 image (Exif) gestion des appareils photo numériques dans les applications KDE
digikam V:1, I:9 293 image (Exif) application de gestion de photos numériques pour KDE
darktable V:4, I:13 30554 image (Exif) table lumineuse et chambre noire virtuelles pour photographes
hugin V:0, I:8 5208 image (Exif) assembleur de photos pour panorama
librecad V:1, I:15 8963 DXF, ... éditeur de données 2D pour la CAD
freecad I:18 36 DXF, ... éditeur de données 3D pour la CAD
blender V:3, I:28 84492 blend, TIFF, VRML, … éditeur de contenu 3D pour l’animation, etc.
mm3d V:0, I:0 3881 ms3d, obj, dxf, … éditeur de modèles 3D basé sur OpenGL
fontforge V:0, I:6 3993 ttf, ps, … éditeur de fontes pour les fontes PS, TrueType et OpenType
xgridfit V:0, I:0 806 ttf programme pour l’ajustement à la grille et l'optimisation de rendu des fontes TrueType

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

Tableau 11.19. Liste d’outils pour les données graphiques (ligne de commande)

paquet popularité taille mot clé description
imagemagick I:317 74 image (bitmap) programmes de manipulation d’images
graphicsmagick V:1, I:11 5565 image (bitmap) programmes de manipulation d’images (dérivés d’imagemagick)
netpbm V:28, I:326 8526 image (bitmap) outils de conversion graphique
libheif-examples V:0, I:2 191 heif→jpeg(bitmap) conversion de High Efficiency Image File Format (HEIF) aux formats JPEG, PNG ou Y4M avec la commande heif-convert(1)
icoutils V:7, I:50 221 png↔ico (bitmap) conversion des icônes et curseurs de MS Windows de et vers des formats PNG (favicon.ico)
pstoedit V:2, I:52 1011 ps/pdf→image (vectorielle) convertisseur de fichiers PostScript et PDF en graphiques vectoriels éditables (SVG)
libwmf-bin V:7, I:119 151 Windows/image (vectorielle) outils de conversion de metafile de 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:17 412 image→image outil de post-traitement pour des pages numérisées pour OCR
tesseract-ocr V:7, I:33 2228 image→texte logiciel OCR libre basé sur le moteur commercial OCR de HP
tesseract-ocr-eng V:7, I:34 4032 image→texte moteur de données OCR : fichier de langue de tesseract-ocr pour le texte en anglais
ocrad V:0, I:3 587 image→texte logiciel OCR libre
exif V:2, I:42 339 image (Exif) utilitaire en ligne de commandes pour afficher les informations EXIF contenues dans les fichiers JPEG
exiv2 V:2, I:27 275 image (Exif) outil pour manipuler les méta-données EXIF/IPTC
exiftran V:1, I:14 69 image (Exif) transformer les images JPEG des appareils photo numériques
exiftags V:0, I:3 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:12 583 image (Raw)→ppm décoder les images brutes (« raw ») des appareils photo numériques
findimagedupes V:0, I:1 77 image→empreinte 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
jpegoptim V:0, I:7 59 jpeg optimisation de fichiers JPEG
optipng V:3, I:43 213 png optimisation de fichiers PNG, compression sans perte
pngquant V:0, I:9 61 png optimisation de fichiers PNG, compression avec pertes

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