Cap. 11. Conversia datelor

Cuprins

11.1. Instrumente de conversie a datelor textuale
11.1.1. Conversia unui fișier text cu iconv
11.1.2. Verificarea fișierului pentru a fi UTF-8 cu iconv
11.1.3. Conversia numelor de fișiere cu iconv
11.1.4. Conversie a sfârșitului de linie (EOL)
11.1.5. Conversie a tabulatoarelor (TAB)
11.1.6. Editori cu conversie automată
11.1.7. Extragerea textului simplu
11.1.8. Evidențierea și formatarea datelor în text simplu
11.2. Date XML
11.2.1. Sfaturi de bază pentru XML
11.2.2. Procesarea XML
11.2.3. Extragerea datelor XML
11.2.4. Analizarea statică (lint) a datelor XML
11.3. Tehnoredactarea (formatarea și pregătirea textului)
11.3.1. Tehnoredactare roff
11.3.2. TeX/LaTeX
11.3.3. Imprimarea paginii de manual într-un format atractiv
11.3.4. Crearea unei pagini de manual
11.4. Date imprimabile
11.4.1. Ghostscript
11.4.2. Fuzionarea a două fișiere PS sau PDF
11.4.3. Instrumente pentru date imprimabile
11.4.4. Imprimarea cu CUPS
11.5. Conversia datelor de poștă electronică
11.5.1. Noțiuni de bază privind datele de poștă electronică
11.6. Instrumente pentru date grafice
11.6.1. Instrumente pentru date grafice (metapachet)
11.6.2. Instrumente pentru date grafice (cu interfață grafică)
11.6.3. Instrumente pentru date grafice (cu interfață de linie de comandă)
11.7. Conversii diverse de date

Sunt descrise instrumente și sfaturi pentru conversia formatelor de date în sistemul Debian.

Instrumentele bazate pe standarde sunt în stare foarte bună, dar suportul pentru formatele de date proprietare este limitat.

Următoarele pachete pentru conversia datelor în format text mi-au atras atenția.


[Indicație] Indicație

iconv(1) este furnizat ca parte a pachetului libc6 și este întotdeauna disponibil pe practic toate sistemele de tip Unix pentru a converti codificarea caracterelor.

Puteți converti codificările unui fișier text cu iconv(1) după cum urmează.

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

Valorile de codificare nu țin cont de diferențele între majuscule și minuscule și ignoră „-” și „_” pentru potrivire. Codificările acceptate pot fi verificate cu comanda „iconv -l”.

Tabel 11.2. Lista valorilor de codificare și utilizarea acestora

valoarea codificării utilizare
ASCII American Standard Code for Information Interchange (Codul american standard pentru schimbul de informații), cod de 7 biți fără caractere accentuate
UTF-8 standardul multilingv actual pentru toate sistemele de operare moderne
ISO-8859-1 standardul vechi pentru limbile vest-europene, ASCII + caractere accentuate
ISO-8859-2 standardul vechi pentru limbile est-europene, ASCII + caractere accentuate
ISO-8859-15 standardul vechi pentru limbile vest-europene, ISO-8859-1 cu simbolul euro
CP850 pagina de coduri 850, caractere Microsoft DOS cu grafică pentru limbile vest-europene, variantă a ISO-8859-1
CP932 pagina de coduri 932, variantă a Shift-JIS în stil Microsoft Windows pentru limba japoneză
CP936 pagina de coduri 936,, varianta în stilul Microsoft Windows a GB2312, GBK sau GB18030 pentru chineză simplificată
CP949 pagina de coduri 949, variantă în stil Microsoft Windows a codificării EUC-KR sau Unified Hangul Code pentru limba coreeană
CP950 pagina de coduri 950, varianta în stilul Microsoft Windows a Big5 pentru limba chineză tradițională
CP1251 pagina de coduri 1251, codificare în stil Microsoft Windows pentru alfabetul chirilic
CP1252 pagina de coduri 1252, variantă în stilul Microsoft Windows a ISO-8859-15 pentru limbile vest-europene
KOI8-R vechiul standard rus UNIX pentru alfabetul chirilic
ISO-2022-JP codificarea standard pentru mesajele electronice în limba japoneză, care utilizează numai coduri de 7 biți
eucJP vechiul cod standard japonez UNIX pe 8 biți, complet diferit de Shift-JIS
Shift-JIS standardul JIS X 0208 anexa 1 pentru limba japoneză (a se vedea CP932)

[Notă] Notă

Unele codificări sunt acceptate numai pentru conversia datelor și nu sunt utilizate ca valori pentru configurația regională (Secțiune 8.1, „Configurația regională”).

Pentru seturile de caractere care se încadrează într-un singur octet, cum ar fi seturile de caractere ASCII și ISO-8859, codificarea caracterelor înseamnă aproape același lucru cu setul de caractere.

Pentru seturile de caractere cu multe caractere, cum ar fi JIS X 0213 pentru japoneză sau Universal Character Set (UCS, Unicode, ISO-10646-1) pentru practic toate limbile, există multe scheme de codificare pentru a le încadra în secvența de octeți de date.

Pentru acestea, există diferențe clare între setul de caractere și codificarea caracterelor.

Pagina de coduri este utilizată ca sinonim pentru tabelele de codificare a caracterelor pentru unele tabele specifice anumitor furnizori.

[Notă] Notă

Vă rugăm să rețineți că majoritatea sistemelor de codificare utilizează același cod ASCII pentru caracterele de 7 biți. Există însă și câteva excepții. Dacă convertiți programe C japoneze vechi și date URL din formatul de codificare numit în mod obișnuit shift-JIS în format UTF-8, utilizați „CP932” ca nume de codificare în loc de „shift-JIS” pentru a obține rezultatele dorite: 0x5C → „\” și 0x7E → „~”. În caz contrar, acestea sunt convertite în caractere greșite.

[Indicație] Indicație

recode(1) poate fi utilizat și oferă mai multe funcționalități decât iconv(1), fromdos(1), todos(1), frommac(1) și tomac(1) combinate. Pentru mai multe informații, consultați „info recode”.

Editorii moderni inteligenți, precum programul vim, sunt destul de inteligenți și se descurcă bine cu orice sistem de codificare și orice format de fișier. Pentru o compatibilitate optimă, ar trebui să utilizați acești editori în mediul UTF-8 din consola compatibilă cu UTF-8.

Un fișier text Unix vechi din Europa de Vest, „u-file.txt”, stocat în codificarea latin1 (iso-8859-1), poate fi editat simplu cu vim după cum urmează.

$ vim u-file.txt

Acest lucru este posibil deoarece mecanismul de detectare automată a codificării fișierului în vim presupune mai întâi codificarea UTF-8 și, dacă aceasta eșuează, presupune că este latin1.

Un fișier text vechi Unix în poloneză, „pu-file.txt”, stocat în codificarea latin2 (iso-8859-2), poate fi editat cu vim după cum urmează.

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

Un fișier text vechi UNIX în japoneză, „ju-file.txt”, stocat în codificarea eucJP, poate fi editat cu vim după cum urmează.

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

Un fișier text vechi MS-Windows în japoneză„jw-file.txt”, stocat în așa-numita codificare shift-JIS (mai precis: CP932) poate fi editat cu vim după cum urmează.

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

Când un fișier este deschis cu opțiunile „++enc” și „++ff”, comanda „:w” din linia de comandă Vim îl salvează în formatul original și suprascrie fișierul original. De asemenea, puteți specifica formatul de salvare și numele fișierului în linia de comandă Vim, de exemplu, „:w ++enc=utf8 new.txt”.

Consultați mbyte.txt „suport pentru text multi-octeți” în ajutorul în Internet al vim și Tabel 11.2, „Lista valorilor de codificare și utilizarea acestora” pentru valorile configurației regionale utilizate cu „++enc”.

Familia de programe emacs poate îndeplini funcții echivalente.

Puteți evidenția și formata datele în text simplu în felul următor.

Tabel 11.6. Lista instrumentelor pentru evidențierea datelor în text simplu

pachet popcon(popularitate) dimensiune cuvânt-cheie descriere
vim-runtime V:17, I:366 38132 evidențiere MACRO Vim pentru a converti codul sursă în HTML cu ":source $VIMRUNTIME/syntax/html.vim"
cxref V:0.01, I:0.24 1191 c→html convertor pentru programul C în latex și HTML (limbajul C)
src2tex V:0.02, I:0.21 1799 evidențiere convertește multe coduri sursă în TeX (limbajul C)
source-highlight V:0.5, I:3.3 2131 evidențiere convertește multe coduri sursă în HTML, XHTML, LaTeX, Texinfo, secvențe de eludare culori ANSI și fișiere DocBook cu evidențiere (C++)
highlight V:0.5, I:3.3 1411 evidențiere convertește multe coduri sursă în fișiere HTML, XHTML, RTF, LaTeX, TeX sau XSL-FO cu evidențiere (C++)
grc V:0.9, I:5.9 208 text→culoare instrument generic de colorare pentru orice (Python)
pandoc V:10, I:48 207402 text→orice convertor general de marcaj (Haskell)
python3-docutils V:13, I:53 2009 text→orice instrument de formatare de documente de text ReStructurat în XML (Python)
markdown V:0.6, I:6.7 56 text→html instrument de formatare de documente text markdown în (X)HTML (Perl)
asciidoctor V:0.5, I:5.1 101 text→orice instrument de formatare de documente text AsciiDoc în XML/HTML (Ruby)
python3-sphinx V:7, I:27 2996 text→orice sistem de publicare a documentelor bazat pe text ReStructurat (Python)
hugo V:0.8, I:5.3 62224 text→html sistem de publicare a siturilor statice bazat pe markdown (Go)

The Extensible Markup Language (XML) este un limbaj de marcare pentru documente care conțin informații structurate.

A se vedea informațiile introductive la XML.COM.

Textul XML arată aproximativ precum HTML. Acesta ne permite să gestionăm mai multe formate de ieșire pentru un document. Un sistem XML simplu este pachetul docbook-xsl, care este utilizat aici.

Fiecare fișier XML începe cu o declarație XML standard, după cum urmează.

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

Sintaxa de bază pentru un element XML este marcată după cum urmează.

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

Elementul XML cu conținut gol este marcat în următoarea formă scurtă.

<name attribute="value" />

attribute="value"” din exemplele de mai sus sunt opționale.

Secțiunea de comentarii în XML este marcată după cum urmează.

<!-- comment -->

În afară de adăugarea de marcaje, XML necesită o conversie minoră a conținutului utilizând entități predefinite pentru următoarele caractere.


[Atenție] Atenție

<” sau „&” nu pot fi utilizate în atribute sau elemente.

[Notă] Notă

Când se utilizează entități definite de utilizator în stil SGML, de exemplu „&anumită-etichetă;”, prima definiție prevalează asupra celorlalte. Definiția entității este exprimată în „<!ENTITY anumită-etichetă "valoare entitate">”.

[Notă] Notă

Atâta timp cât marcajul XML este realizat în mod consecvent cu un anumit set de nume de etichete (fie unele date ca conținut, fie valori de atribute), conversia într-un alt XML este o sarcină trivială folosind Extensible Stylesheet Language Transformations (XSLT).

Există multe instrumente disponibile pentru procesarea fișierelor XML, cum ar fi Extensible Stylesheet Language (XSL).

Practic, odată ce ați creat un fișier XML bine structurat, îl puteți converti în orice format folosind Extensible Stylesheet Language Transformations (XSLT).

Extensible Stylesheet Language for Formatting Objects (XSL-FO) este considerat a fi soluția pentru formatare. Pachetul fop este nou în arhiva Debian main datorită dependenței sale de limbajul de programare Java. Deci, codul LaTeX este de obicei generat din XML folosind XSLT, iar sistemul LaTeX este utilizat pentru a crea fișiere imprimabile, cum ar fi DVI, PostScript și PDF.


Deoarece XML este un subset al Standard Generalized Markup Language (SGML), acesta poate fi procesat de instrumentele extinse disponibile pentru SGML, cum ar fi Document Style Semantics and Specification Language (DSSSL).


[Indicație] Indicație

yelp-ul GNOME este uneori util pentru a citi direct fișiere DocBook, deoarece le redă decent în X.

Programul Unix troff, dezvoltat inițial de AT&T, poate fi folosit pentru formatarea simplă a textului. Acesta este utilizat de obicei pentru crearea paginilor de manual.

TeX, creat de Donald Knuth, este un instrument de tehnoredactare extrem de puternic și reprezintă standardul de facto. LaTeX, scris inițial de Leslie Lamport, permite accesul la funcționalitățile avansate ale TeX-ului.


În mod tradițional, roff este principalul sistem de procesare a textului din Unix. A se vedea 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), și "info groff".

Puteți citi sau imprima un tutorial și un ghid de referință util privind macrocomanda-me” din directorul „/usr/share/doc/groff/” prin instalarea pachetului groff.

[Indicație] Indicație

groff -Tascii -me -” generează o ieșire sub formă de text simplu cu cod de eludare ANSI. Dacă doriți să obțineți o ieșire similară cu pagina de manual, cu multe caractere „^H” și „_”, utilizați în schimb „GROFF_NO_SGR=1 groff -Tascii -me -”.

[Indicație] Indicație

Pentru a elimina caracterele „^H” și „_” dintr-un fișier text generat de groff, filtrați-l cu comanda „col -b -x”.

Distribuția software TeX Live oferă un sistem TeX complet. Metapachetul texlive pune la dispoziție o selecție adecvată de pachete TeX Live, care ar trebui să fie suficientă pentru cele mai comune sarcini.

Există numeroase referințe disponibile pentru TeX și LaTeX.

  • The teTeX HOWTO: The Linux-teTeX Local Guide (Rețetarul teTeX: Ghidul local pentru Linux-teTeX), în engleză

  • tex(1)

  • latex(1)

  • texdoc(1)

  • texdoctk(1)

  • „The TeXbook”, de Donald E. Knuth, (Addison-Wesley)

  • „LaTeX – A Document Preparation System”, de Leslie Lamport, (Addison-Wesley)

  • „The LaTeX Companion”, de Goossens, Mittelbach, Samarin, (Addison-Wesley)

Acesta este cel mai performant mediu de tehnoredactare. Multe procesoare SGML îl utilizează ca procesor de text de fundal. Lyx, furnizat de pachetul lyx, și GNU TeXmacs, furnizat de pachetul texmacs, oferă un mediu de editare WYSIWYG pentru LaTeX, în timp ce mulți folosesc Emacs și Vim ca editor de sursă.

Există numeroase resurse disponibile în Internet.

  • The TEX Live Guide - TEX Live 2007 („/usr/share/doc/texlive-doc-base/english/texlive-en/live.html”) ( din pachetul texlive-doc-base)

  • A Simple Guide to Latex/Lyx (Un ghid simplu pentru Latex/Lyx), în engleză

  • Word Processing Using LaTeX (Procesarea textelor cu ajutorul LaTeX), în engleză

Când documentele devin mai mari, uneori TeX poate genera erori. Pentru a remedia această problemă, trebuie să măriți dimensiunea memoriei tampon în fișierul „/etc/texmf/texmf.cnf” (sau, mai bine, să editați fișierul „/etc/texmf/texmf.d/95NonPath” și să rulați comanda update-texmf(8)).

[Notă] Notă

Sursa TeX a cărții „The TeXbook” este disponibilă la www.ctan.org situl arhivei TeX pentru fișierul texbook.tex. Acest fișier conține majoritatea macrocomenzilor necesare. Am auzit că puteți procesa acest document cu tex(1) după ce comentați liniile 7-10 și adăugați „\input manmac \proofmodefalse”. Se recomandă cu tărie să cumpărați această carte (și toate celelalte cărți ale lui Donald E. Knuth) în loc să folosiți versiunea online, dar sursa este un exemplu excelent de introducere în TeX!

Datele destinate imprimării sunt exprimate în formatul PostScript în sistemul Debian. Common Unix Printing System (CUPS) utilizează Ghostscript ca program de procesare a datelor pentru imprimantele care nu acceptă PostScript.

Datele care pot fi imprimate pot fi expresate și în formatul PDF în sistemul Debian actual.

Fișierele PDF pot fi vizualizate, iar câmpurile formularelor din acestea pot fi completate folosind instrumente de vizualizare cu interfață grafică, precum Evince și Okular (a se vedea Secțiune 7.4, „Aplicații cu interfață grafică”); precum și în navigatoarele moderne, cum ar fi Chromium.

Fișierele PDF pot fi editate folosind anumite instrumente grafice, cum ar fi LibreOffice, Scribus și Inkscape (a se vedea Secțiune 11.6, „Instrumente pentru date grafice”).

[Indicație] Indicație

Puteți citi un fișier PDF cu GIMP și îl puteți converti în format PNG folosind o rezoluție mai mare de 300 dpi. Acesta poate fi folosit ca imagine de fundal pentru LibreOffice pentru a obține o imprimare modificată conform dorințelor cu efort minim.

Puteți fuziona două fișiere PostScript (PS) sau Portable Document Format (PDF) folosind gs(1) din 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
[Notă] Notă

Fișierul PDF, care este un format de date imprimabil, utilizat pe scară largă pe mai multe platforme, este, în esență, formatul PS comprimat, cu câteva caracteristici și extensii suplimentare.

[Indicație] Indicație

Pentru linia de comandă, psmerge(1) și alte comenzi din pachetul psutils sunt utile pentru manipularea documentelor PostScript. De asemenea, pdftk(1) din pachetul pdftk este util pentru manipularea documentelor PDF.

Următoarele pachete pentru instrumente de date imprimabile mi-au atras atenția.

Tabel 11.15. Lista instrumentelor pentru date imprimabile

pachet popcon(popularitate) dimensiune cuvânt-cheie descriere
poppler-utils V:134, I:490 760 pdf→ps,text,… Ustensile PDF: pdftops, pdfinfo, pdfimages, pdftotext, pdffonts
psutils V:4, I:54 34 ps→ps Instrumente de conversie a documentelor PostScript
poster V:0.1, I:1.8 58 ps→ps creează postere mari din pagini PostScript
enscript V:1, I:11 2138 text→ps, html, rtf convertește textul ASCII în PostScript, HTML, RTF sau imprimare elegantă (pretty-print)
a2ps V:0.6, I:7.3 4083 text→ps convertor „orice în PostScript” și instrument de imprimare elegantă
pdftk V:1, I:25 28 pdf→pdf instrument de conversie a documentelor PDF: pdftk
html2ps V:0.2, I:1.9 256 html→ps convertor de la HTML la PostScript
gnuhtml2latex V:0.07, I:0.67 26 html→latex convertor de la HTML la LaTeX
latex2rtf V:0.1, I:2.3 495 latex→rtf convertește documentele din format LaTeX în format RTF, care pot fi citite în MS Word
ps2eps V:2, I:35 95 ps→eps convertor de la PostScript la EPS (Encapsulated PostScript)
e2ps V:0.01, I:0.12 104 text→ps convertor de text în PostScript cu suport pentru codificarea limbii japoneze
impose+ V:0.1, I:1.5 118 ps→ps ustensile PostScript
trueprint V:0.01, I:0.08 148 text→ps imprimă elegant multe coduri sursă (C, C++, Java, Pascal, Perl, Pike, Sh și Verilog) în format PostScript. (Limbajul C)
pdf2svg V:0.3, I:3.3 33 pdf→svg convertor din format PDF în format Scalable vector graphics (SVG) -- Grafică vectorială scalabilă
pdftoipe V:0.01, I:0.46 74 pdf→ipe convertor din format PDF în formatul XML al IPE

Atât comanda lp(1), cât și comanda lpr(1), oferite de Common Unix Printing System (CUPS), oferă opțiuni pentru imprimarea personalizată a datelor destinate imprimării.

Puteți imprima 3 copii ale unui fișier folosind una dintre următoarele comenzi.

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

Puteți personaliza și mai mult funcționarea imprimantei folosind opțiuni precum „-o number-up=2”, „-o page-set=even”, „ -o page-set=odd”, „-o scaling=200”, „-o natural-scaling=200” etc., documentate în Imprimare din linia de comandă și opțiuni.

Următoarele pachete pentru conversia datelor de poștă electronică mi-au atras atenția.


[Indicație] Indicație

Serverul Internet Message Access Protocol versiunea 4 (IMAP4) poate fi utilizat pentru a transfera mesajele din sistemele de poștă electronică proprietare, cu condiția ca programul client de poștă electronică să poată fi configurat să utilizeze, la rândul său, un server IMAP4.

Datele de poștă electronică (SMTP) trebuie să se limiteze la șiruri de date de 7 biți. Astfel, datele binare și datele text de 8 biți sunt codificate în format de 7 biți cu ajutorul Multipurpose Internet Mail Extensions (MIME) și selectarea setului de caractere (a se vedea Tabel 11.2, „Lista valorilor de codificare și utilizarea acestora”).

Formatul standard de stocare a mesajelor de poștă electronică este mbox, conform standardului RFC2822 (versiunea actualizată a RFC822). A se vedea mbox(5) (furnizat de pachetul mutt).

În cazul limbilor europene, pentru mesaje se utilizează de obicei „Content-Transfer-Encoding: quoted-printable” cu setul de caractere ISO-8859-1, deoarece nu există prea multe caractere pe 8 biți. Dacă textul european este codificat în UTF-8, este probabil să se utilizeze „Content-Transfer-Encoding: quoted-printable”, deoarece este vorba în mare parte de date pe 7 biți.

În cazul limbii japoneze, se folosește de obicei „Content-Type: text/plain; charset=ISO-2022-JP” pentru mesaje, pentru a păstra textul în format pe 7 biți. Totuși, sistemele Microsoft mai vechi pot trimite date de poștă electronică în format Shift-JIS fără o declarare corespunzătoare. Dacă textul japonez este codificat în UTF-8, este probabil să se utilizeze Base64, deoarece conține multe date de 8 biți. Situația altor limbi asiatice este similară.

[Notă] Notă

Dacă datele dvs. de poștă electronică non-Unix sunt accesibile printr-un program client non-Debian capabil să comunice cu un server IMAP4, este posibil să le puteți transfera rulând propriul server IMAP4.

[Notă] Notă

Dacă utilizați alte formate de stocare a mesajelor, un prim pas util este să le convertiți în format mbox. Un program client versatil, precum mutt(1), vă poate fi de ajutor în acest sens.

Puteți împărți conținutul căsuței poștale în fiecare mesaj folosind procmail(1) și formail(1).

Fiecare mesaj de poștă electronică poate fi despachetat folosind comanda munpack(1) din pachetul mpack (sau alte instrumente specializate) pentru a obține conținutul codificat MIME.

Deși programele cu interfață grafică, precum gimp(1), sunt foarte puternice, instrumentele de linie de comandă, precum imagemagick(1), sunt destul de utile pentru automatizarea manipulării imaginilor prin intermediul scripturilor.

Formatul de fișier imagine utilizat de facto de aparatele foto digitale este Exchangeable Image File Format (EXIF), care este formatul de fișier imagine JPEG cu etichete de metadate suplimentare. Acesta poate stoca informații precum data, ora și configurările aparatului foto.

Patentul Lempel-Ziv-Welch (LZW) pentru compresia fără pierderi a datelor a expirat. Instrumentele Graphics Interchange Format (GIF) care utilizează metoda de compresie LZW sunt acum disponibile fără restricții în sistemul Debian.

[Indicație] Indicație

Orice aparat foto digital sau scaner cu suport de stocare detașabil funcționează cu Linux prin intermediul cititoarelor de stocare USB, deoarece respectă Regula de proiectare pentru sistemul de fișiere al aparatului foto și utilizează sistemul de fișiere FAT. A se vedea Secțiune 10.1.7, „Dispozitive de stocare amovibile (detașabile)”.

Următoarele pachete de instrumente cu interfață grafică pentru conversia, editarea și organizarea datelor grafice mi-au atras atenția.

Tabel 11.18. Lista instrumentelor pentru date grafice (cu interfață grafică)

pachet popcon(popularitate) dimensiune cuvânt-cheie descriere
gimp V:33, I:229 32032 imagine (bitmap) GNU Image Manipulation Program -- Program GNU de manipulare a imaginilor
xsane V:10, I:136 1512 imagine (bitmap) interfață X11 bazată pe GTK pentru SANE (Scanner Access Now Easy)
scribus V:1, I:14 32289 ps/pdf/SVG/… editorul DTP Scribus
libreoffice-draw V:101, I:436 10992 imagine (vectorială) suita de birou LibreOffice - desen
inkscape V:13, I:85 110787 imagine (vectorială) editor SVG (Scalable Vector Graphics)
dia V:2, I:18 3812 imagine (vectorială) editor de diagrame (Gtk)
xfig V:0.6, I:9.2 7951 imagine (vectorială) instrument pentru generarea interactivă de figuri în mediul X11
gocr V:0.6, I:4.4 549 image→text program liber de recunoaștere optică a caracterelor
eog V:32, I:165 10310 imagine (Exif) programul de vizualizare a imaginilor Eye of GNOME
gthumb V:3, I:13 5162 imagine (Exif) vizor de imagini și navigator (GNOME)
geeqie V:4, I:12 2871 imagine (Exif) vizor de imagini care utilizează GTK
shotwell V:16, I:259 6334 imagine (Exif) organizator de fotografii digitale (GNOME)
gwenview V:41, I:119 6001 imagine (Exif) vizor de imagini (KDE)
kamera I:118 982 imagine (Exif) suport pentru camere digitale în aplicațiile KDE
digikam V:1.9, I:9.2 302 imagine (Exif) aplicație de gestionare a fotografiilor digitale pentru KDE
darktable V:4, I:12 35892 imagine (Exif) masă de lumină și cameră obscură virtuală pentru fotografi
hugin V:0.6, I:6.2 6489 imagine (Exif) program de asamblare a fotografiilor panoramice
librecad V:1, I:15 9100 DXF, ... editor de date CAD 2D
freecad V:1, I:21 107 DXF, ... editor de date CAD 3D
blender V:3, I:24 92911 blend, TIFF, VRML, … editor de conținut 3D pentru animație etc.
mm3d V:0.04, I:0.28 4123 ms3d, obj, dxf, … editor de modele 3D bazat pe OpenGL
fontforge V:0.7, I:6.0 4058 ttf, ps, … editor de fonturi pentru fonturi PS, TrueType și OpenType
xgridfit V:0.01, I:0.10 878 ttf program pentru adaptarea la grilă și ajustarea contururilor fonturilor TrueType

Următoarele pachete de instrumente cu interfață de linie de comandă pentru conversia, editarea și organizarea datelor grafice mi-au atras atenția.

Tabel 11.19. Lista instrumentelor pentru date grafice (cu interfață de linie de comandă)

pachet popcon(popularitate) dimensiune cuvânt-cheie descriere
imagemagick V:9, I:291 77 imagine (bitmap) programe de manipulare a imaginilor
graphicsmagick V:1.3, I:9.4 5816 imagine (bitmap) programe de manipulare a imaginilor (o variantă a imagemagick)
netpbm V:29, I:301 8435 imagine (bitmap) instrumente de conversie grafică
libheif-examples V:0.3, I:3.5 439 heif→jpeg(bitmap) convertește High Efficiency Image File Format (HEIF) în formatele JPEG, PNG sau Y4M cu comanda heif-convert(1)
icoutils V:4, I:35 221 png↔ico(bitmap) convertește pictogramele și cursorii MS Windows în și din formatul PNG (favicon.ico)
pstoedit V:2, I:41 1076 ps/pdf→imagine (vectorială) convertor de fișiere PostScript și PDF în grafică vectorială editabilă (SVG)
libwmf-bin V:5, I:90 149 Windows/imagine (vectorială) instrumente de conversie a meta-fișierelor Windows (date grafice vectoriale)
fig2sxd V:0.04, I:0.20 151 fig→sxd(vectorial) convertește fișierele XFig în formatul OpenOffice.org Draw
unpaper V:2, I:17 417 imagine→imagine instrument de post-procesare a paginilor scanate pentru OCR
tesseract-ocr V:8, I:33 2210 image→text software OCR liber bazat pe motorul OCR comercial al HP
tesseract-ocr-eng V:8, I:34 4032 image→text motor de date OCR: fișiere de limbă tesseract-ocr pentru text în limba engleză
ocrad V:0.3, I:2.5 604 image→text program liber de recunoaștere optică a caracterelor
exif V:3, I:55 335 imagine (Exif) instrument de linie de comandă pentru afișarea informațiilor EXIF din fișierele JPEG
exiv2 V:2, I:21 429 imagine (Exif) instrument de manipulare a metadatelor EXIF/IPTC
exiftran V:1, I:12 81 imagine (Exif) transformă imaginile JPEG realizate cu aparatul foto digital
exiftags V:0.3, I:3.0 309 imagine (Exif) instrument pentru citirea etichetelor Exif dintr-un fișier JPEG provenit de la un aparat foto digital
exifprobe V:0.3, I:2.6 502 imagine (Exif) citește metadatele din imaginile digitale
dcraw V:1.0, I:8.3 428 imagine(Raw)→ppm decodifică imaginile brute ale aparatului foto digital
findimagedupes V:0.1, I:1.3 75 image→amprentă digitală(fingerprint) găsește imagini similare din punct de vedere vizual sau duplicate
ale V:0.01, I:0.15 818 imagine→imagine fuzionează imagini pentru a îmbunătăți calitatea sau pentru a crea mozaicuri
imageindex V:0.2, I:1.4 143 imagine (Exif)→html generează galerii HTML statice din imagini
outguess V:0.2, I:1.3 230 jpeg,png instrument Stenografic universal
jpegoptim V:0.8, I:6.2 59 jpeg optimizează fișierele JPEG
optipng V:3, I:43 187 png optimizează fișierele PNG, compresie fără pierderi
pngquant V:1, I:11 62 png optimizează fișierele PNG, compresie cu pierderi

Există multe alte programe pentru conversia datelor. Următoarele pachete mi-au atras atenția folosind expresia regulată „~Guse::converting” în aptitude(8) (a se vedea Secțiune 2.2.6, „Opțiuni pentru metoda de căutare cu aptitude”).


De asemenea, puteți extrage date din fișiere în format RPM folosind următoarea comandă.

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