Indice
In questo capitolo sono descritti strumenti e trucchi per convertire tra diversi formati di dati in un sistema Debian.
Gli strumenti standard sono eccellenti, ma il supporto per i formati proprietari per i dati è limitato.
Quelli che seguono sono pacchetti per la conversione dei dati testuali che hanno attirato la mia attenzione.
Tabella 11.1. Elenco di strumenti di conversione di dati testuali
pacchetto | popcon | dimensione | parola chiave | descrizione |
---|---|---|---|---|
libc6
|
V:917, I:999 | 12988 | set di caratteri | convertitore della codifica del testo tra localizzazioni usando
iconv (1) (fondamentale) |
recode
|
V:2, I:18 | 602 | set caratteri+carattere fine riga | convertitore della codifica del testo tra localizzazioni (versatile, maggior numero di alias e funzionalità) |
konwert
|
V:1, I:48 | 134 | set di caratteri | convertitore della codifica tra localizzazioni (elegante) |
nkf
|
V:0, I:9 | 360 | set di caratteri | traduttore del set di caratteri per il giapponese |
tcs
|
V:0, I:0 | 518 | set di caratteri | traduttore del set di caratteri |
unaccent
|
V:0, I:0 | 35 | set di caratteri | sostituisce le lettere accentate con le equivalenti senza accento |
tofrodos
|
V:1, I:17 | 51 | carattere fine riga | convertitore del formato di testo tra DOS e Unix:
fromdos (1) e todos (1) |
macutils
|
V:0, I:0 | 312 | carattere fine riga | convertitore del formato di testo tra Macintosh e Unix:
frommac (1) e tomac (1) |
Suggerimento | |
---|---|
|
Si può convertire la codifica di un file di testo con
iconv
(1) nel modo seguente.
$ iconv -f encoding1 -t encoding2 input.txt >output.txt
Nel trovare corrispondenze con i valori delle codifiche non viene tenuto
conto delle lettere maiuscole o minuscole e vengono ignorati i caratteri
"-
" e "_
". Si possono controllare le
codifiche supportate con il comando "iconv -l
".
Tabella 11.2. Elenco dei valori delle codifiche e loro uso
valore della codifica | uso |
---|---|
ASCII | American Standard Code for Information Interchange, codifica americana standard per lo scambio di informazioni, codice a 7 bit senza caratteri accentati |
UTF-8 | attuale standard multilingua per tutti i sistemi operativi moderni |
ISO-8859-1 | vecchio standard per le lingue europee occidentali, ASCII + caratteri accentati |
ISO-8859-2 | vecchio standard per le lingue europee orientali, ASCII + caratteri accentati |
ISO-8859-15 | vecchio standard per le lingue europee occidentali, ISO-8859-1 con simbolo dell'euro |
CP850 | code page 850, caratteri Microsoft DOS con caratteri grafici per le lingue europee occidentali, variante di ISO-8859-1 |
CP932 | code page 932, variante in stile Microsoft Windows di Shift-JIS per il giapponese |
CP936 | code page 936, variante in stile Microsoft Windows di GB2312, GBK o GB18030 per il cinese semplificato |
CP949 | code page 949, variante in stile Microsoft Windows di EUC-KR o Unified Hangul Code per il coreano |
CP950 | code page 950, variante in stile Microsoft Windows di Big5 per il cinese tradizionale |
CP1251 | code page 1251, codifica in stile Microsoft Windows per l'alfabeto cirillico |
CP1252 | code page 1252, variante in stile Microsoft Windows di ISO-8859-15 per le lingue europee occidentali |
KOI8-R | vecchio standard UNIX russo per l'alfabeto cirillico |
ISO-2022-JP | codifica standard per la posta elettronica in giapponese che usa solo codici a 7 bit |
eucJP | vecchio standard UNIX giapponese con codici a 8 bit completamente diverso da Shift-JIS |
Shift-JIS | standard JIS X 0208 Appendix 1 per il giapponese (vedere CP932) |
Nota | |
---|---|
Alcune codifiche sono gestite solo per la conversione dei dati e non sono utilizzate come valori di localizzazione (Sezione 8.1, «La localizzazione»). |
Per i set di caratteri contenuti in un singolo byte, come i set di caratteri ASCII e ISO-8859, la codifica di carattere è quasi la stessa cosa del set di caratteri.
Per i set di caratteri con molti caratteri, come JIS X 0213 per il giapponese o Universal Character Set (UCS, Unicode, ISO-10646-1) per praticamente tutte le lingue, esistono molti schemi di codifica per inserirli nella sequenza dei byte dati.
EUC e ISO/IEC 2022 (chiamato anche JIS X 0202) per il giapponese
UTF-8, UTF-16/UCS-2 e UTF-32/UCS-4 per Unicode
In questi casi c'è una netta differenza tra il set di caratteri e la codifica di caratteri.
Il termine code page è usato come sinonimo di tabella di codifica dei caratteri per alcune tabelle specifiche di produttori.
Nota | |
---|---|
Notare che la maggior parte dei sistemi di codifica condividono con ASCII
gli stessi codici per i caratteri a 7 bit. Ci sono però alcune eccezioni. Se
si stanno convertendo dati di vecchi programmi C o URL in giapponese dal
formato di codifica volgarmente chiamato Shift-JIS in formato UTF-8, usare
" |
Suggerimento | |
---|---|
Si può anche usare |
Si può controllare se un file di testo è nella codifica UTF-8 usando
iconv
(1) nel modo seguente.
$ iconv -f utf8 -t utf8 input.txt >/dev/null || echo "non-UTF-8 found"
Suggerimento | |
---|---|
Usare l'opzione " |
Ecco uno script d'esempio per convertire in una directory la codifica dei nomi di file dai nomi creati in un vecchio sistema operativo a quelli UTF-8 moderni.
#!/bin/sh ENCDN=iso-8859-1 for x in *; do mv "$x" "$(echo "$x" | iconv -f $ENCDN -t utf-8)" done
La variabile "$ENCDN
" specifica la codifica originale
usata per i nomi di file nei sistemi operativi più vecchi come in Tabella 11.2, «Elenco dei valori delle codifiche e loro uso».
Per scenari più complessi, montare, usando come opzione di
mount
(8) la codifica appropriata (vedere Sezione 8.1.3, «Codifica per i nomi di file»), il file system (ad esempio una partizione
in un disco fisso) contenente tali nomi di file e copiare usando il comando
"cp-a
" il suo intero contenuto in un altro file system
montato come UTF-8.
Il formato dei file di testo e specificatamente il codice EOL (End of line, fine riga) è dipendente dalla piattaforma.
Tabella 11.3. Elenco di stili per EOL per differenti piattaforme
piattaforma | codice EOL | carattere di controllo | decimale | esadecimale |
---|---|---|---|---|
Debian (unix) | LF | ^J |
10 | 0A |
MSDOS e Windows | CR-LF | ^M^J |
13 10 | 0D 0A |
Macintosh di Apple | CR | ^M |
13 | 0D |
I programmi di conversione del formato di EOL,
fromdos
(1), todos
(1),
frommac
(1) e tomac
(1), sono piuttosto
comodi. Anche recode
(1) è utile.
Nota | |
---|---|
Alcuni dati nel sistema Debian, come i dati della pagina wiki per il
pacchetto |
Nota | |
---|---|
La maggior parte degli editor (es. |
Suggerimento | |
---|---|
È meglio usare " |
Esistono alcuni programmi popolari specializzati nella conversione dei codici di tabulazione.
Tabella 11.4. Elenco di comandi di conversione di TAB dai pacchetti
bsdmainutils
e coreutils
funzione | bsdmainutils |
coreutils |
---|---|---|
espande le tabulazioni in spazi | "col -x " |
expand |
de-espande gli spazi in tabulazioni | "col -h " |
unexpand |
indent
(1) nel pacchetto indent
riformatta completamente gli spazi bianchi nei programmi C.
Anche programmi editor come vim
ed
emacs
possono essere usati per la conversione di TAB. Per
esempio con vim
, è possibile espandere i TAB con la
sequenza di comandi ":set expandtab
" e
":%retab
". Si può annullare questa azione con la sequenza
di comandi ":set noexpandtab
" e
":%retab!
".
Gli editor moderni intelligenti come il programmavim
sono
piuttosto bravi e gestiscono bene qualsiasi sistema di codifica e formato di
file. Per una migliore compatibilità questi editor andrebbero usati con la
localizzazione UTF-8 in console con capacità UTF-8.
Un vecchio file di testo Unix in lingua europea occidentale,
"u-file.txt
" salvato nella codifica latin1 (iso-8859-1)
può essere modificato con vim
semplicemente con il
comando seguente.
$ vim u-file.txt
Ciò è reso possibile dal fatto che il meccanismo di rivelazione automatica
della codifica dei file di vim
presuppone come prima cosa
che la codifica sia UTF-8 e, se ciò fallisce, presuppone che sia latin1.
Un vecchio file di testo Unix in lingua polacca,
"pu-file.txt
" salvato nella codifica latin1 (iso-8859-1)
può essere modificato con vim
con il comando seguente.
$ vim '+e ++enc=latin2 pu-file.txt'
Un vecchio file di testo Unix in giapponese,
"ju-file.txt
" salvato nella codifica eucJP può essere
modificato con vim
con il comando seguente.
$ vim '+e ++enc=eucJP ju-file.txt'
Un vecchio file di testo MS-Windows in giapponese,
"jw-file.txt
" salvato nella cosiddetta codifica shift-JIS
(più precisamente CP932) può essere modificato con vim
con il comando seguente.
$ vim '+e ++enc=CP932 ++ff=dos jw-file.txt'
Quando un file viene aperto con le opzioni "++enc
" e
"++ff
", l'uso di ":w
" nella riga di
comando di Vim lo salva nel formato originale sovrascrivendo il file
originale. Si può anche specificare nella riga di comando di Vim il formato
e il nome con cui salvare il file, ad esempio ":w ++enc=utf8
nuovo.txt
".
Fare riferimento a mbyte.txt per il "supporto di testi multi-byte"
nell'aiuto in linea di vim
e a Tabella 11.2, «Elenco dei valori delle codifiche e loro uso» per i valori delle localizzazione usati
con "++enc
".
La famiglia di programmi emacs
può svolgere funzioni
equivalenti.
Il comando seguente legge una pagina web mettendola in un file di testo. È
molto utile quando si copiano configurazioni dal Web o per applicare
strumenti di testo base Unix come grep
(1) sulla pagina
web.
$ w3m -dump https://www.remote-site.com/help-info.html >textfile
In modo analogo, si possono estrarre dati in testo puro da altri formati con gli strumenti seguenti.
Tabella 11.5. Elenco di strumenti per estrarre dati in testo puro
pacchetto | popcon | dimensione | parola chiave | funzione |
---|---|---|---|---|
w3m
|
V:15, I:187 | 2837 | html→testo puro | conversione da HTML a testo semplice con il comando "w3m
-dump " |
html2text
|
V:3, I:53 | 243 | html→testo puro | convertitore avanzato da HTML a testo semplice (ISO 8859-1) |
lynx
|
V:25, I:344 | 1948 | html→testo puro | conversione da HTML a testo semplice con il comando "lynx
-dump " |
elinks
|
V:3, I:20 | 1654 | html→testo puro | conversione da HTML a testo semplice con il comando "elinks
-dump " |
links
|
V:3, I:28 | 2314 | html→testo puro | conversione da HTML a testo semplice con il comando "links
-dump " |
links2
|
V:1, I:12 | 5492 | html→testo puro | conversione da HTML a testo semplice con il comando "links2
-dump " |
catdoc
|
V:14, I:155 | 686 | MSWord→testo puro, TeX | converte file MSWord in testo puro o TeX |
antiword
|
V:1, I:7 | 589 | MSWord→testo puro, ps | converte file MSWord in testo puro o ps |
unhtml
|
V:0, I:0 | 40 | html→testo puro | rimuove i tag marcatori da file HTML |
odt2txt
|
V:2, I:40 | 60 | odt→testo puro | converte da OpenDocument Text in testo puro |
È possibile evidenziare e formattare dati in testo puro usando gli strumenti seguenti.
Tabella 11.6. Elenco di strumenti per evidenziare dati in testo puro
pacchetto | popcon | dimensione | parola chiave | descrizione |
---|---|---|---|---|
vim-runtime
|
V:18, I:395 | 36525 | evidenziare | MACRO Vim per convertire codice sorgente in HTML con ":source
$VIMRUNTIME/syntax/html.vim " |
cxref
|
V:0, I:0 | 1190 | c→html | convertitore per programmi C in latex e HTML (linguaggio C) |
src2tex
|
V:0, I:0 | 622 | evidenziare | converte molti codici sorgenti in TeX (linguaggio C) |
source-highlight
|
V:0, I:5 | 2114 | evidenziare | converte molti codici sorgenti in file HTML, XHTML, LaTeX, Texinfo, sequenze di escape per colori ANSI e DocBook con evidenziazione (C++) |
highlight
|
V:0, I:5 | 1371 | evidenziare | converte molti codici sorgenti in file HTML, XHTML, RTF, LaTeX, TeX o XSL-FO con evidenziazione (C++) |
grc
|
V:0, I:5 | 208 | testo→colori | colorazione generica per tutto (Python) |
pandoc
|
V:9, I:45 | 194495 | testo→tutto | convertitore universale di marcatori (Haskel) |
python3-docutils
|
V:14, I:51 | 1804 | testo→tutto | formattatore di documenti ReStructured Text in XML (Python) |
markdown
|
V:0, I:9 | 58 | testo→html | formattatore Markdown di documenti di testo in (X)HTML (Perl) |
asciidoctor
|
V:0, I:7 | 98 | testo→tutto | formattatore AsciiDoc di documenti di testo in XML/HTML (Ruby) |
python3-sphinx
|
V:6, I:24 | 2756 | testo→tutto | sistema di pubblicazione di documenti basati su ReStructured Text (Python) |
hugo
|
V:0, I:5 | 78678 | testo→html | sistema di pubblicazione di siti statici basato su Markdown (Go) |
XML (Extensible Markup Language) è un linguaggio a marcatori per documenti contenenti informazioni strutturate.
Vedere informazioni introduttive su XML.COM.
I testi XML hanno un aspetto simile all'HTML. Permettono di gestire formati di output multipli
per un documento. Un facile sistema per XML è il pacchetto
docbook-xsl
che è stato usato per questo documento.
Ogni file XML inizia con una dichiarazione XML standard come la seguente.
<?xml version="1.0" encoding="UTF-8"?>
La sintassi di base per un elemento XML usa un marcatore come il seguente.
<name attribute="value">content</name>
Gli elementi XML senza contenuto sono indicati nella seguente forma breve.
<name attribute="value" />
La parte "attributo="valore"
" negli esempi precedenti è
opzionale.
In XML una sezione di commento è marcata nel modo seguente.
<!-- comment -->
A parte l'aggiunta dei marcatori, XML richiede solo una minima conversione dei contenuti usando entità predefinite per i caratteri seguenti.
Tabella 11.7. Elenco di entità predefinite per XML
entità predefinita | carattere in cui convertire |
---|---|
" |
" : virgolette |
' |
' : apostrofo |
< |
< : minore-di |
> |
> : maggiore-di |
& |
& : e-commerciale |
Attenzione | |
---|---|
" |
Nota | |
---|---|
Quando vengono usate entità definite in stile SGML, ad esempio
" |
Nota | |
---|---|
Fintanto che i marcatori XML sono usati in modo coerente con un certo set dei nomi di tag (qualche dato usato come contenuto o valore di attributo), la conversione in un altro XML è un compito banale usando XSLT (Extensible Stylesheet Language Trasformations. |
Sono disponibili molti strumenti per elaborare file XML, come l'XSL (Extensible Stylesheet Language).
Fondamentalmente, una volta creato un file XML ben formato, lo si può convertire in qualsiasi formato usando XSLT (Extensible Stylesheet Language Transformation).
XSL-FO (Extensible
Stylesheet Language for Formatting Object), linguaggio per fogli di
stile estensibile per la formattazione di oggetti, è pensato per essere una
soluzione per la formattazione. Il pacchetto fop
è una
novità nell'archivio Debian main
a causa delle sue
dipendenze dal linguaggio di
programmazione Java. Perciò il codice LaTeX è solitamente generato
dall'XML usando XSLT ed il sistema LaTeX viene usato per creare file adatti
alla stampa come DVI, PostScript e PDF.
Tabella 11.8. Elenco di strumenti XML
pacchetto | popcon | dimensione | parola chiave | descrizione |
---|---|---|---|---|
docbook-xml
|
I:403 | 2134 | xml | DTD (Document Type Definition) XML per DocBook |
docbook-xsl
|
V:13, I:146 | 14851 | xml/xslt | fogli di stile XSL per elaborare XML DocBook con XSLT in vari formati di output |
xsltproc
|
V:16, I:79 | 162 | xslt | elaboratore a riga di comando XSLT (XML→ XML, HTML, testo semplice, ecc.) |
xmlto
|
V:1, I:14 | 130 | xml/xslt | convertitore da-XML-a-tutto con XSLT |
fop
|
V:0, I:11 | 284 | xml/xsl-fo | converte file XML DocBook in PDF |
dblatex
|
V:2, I:10 | 4636 | xml/xslt | converte file DocBook con XSLT in documenti DVI, PostScript, PDF |
dbtoepub
|
V:0, I:0 | 37 | xml/xslt | convertitore da XML DocBook a .epub |
Dato che XML è un sottoinsieme di SGML (Standard Generalized Markup Language), può essere elaborato dagli strumenti completi disponibili per SGML, come DSSSL (Document Style Semantics and Specification Language).
Tabella 11.9. Elenco di strumenti DSSSL
pacchetto | popcon | dimensione | parola chiave | descrizione |
---|---|---|---|---|
openjade
|
V:1, I:26 | 1061 | dsssl | elaboratore standard DSSSL ISO/IEC 10179:1996 (più recente) |
docbook-dsssl
|
V:0, I:13 | 2605 | xml/dsssl | fogli di stile DSSSL per elaborare XML DocBook con DSSSL in vari formati di output |
docbook-utils
|
V:0, I:9 | 287 | xml/dsssl | utilità per file DocBook, inclusa la conversione in altri formati (HTML,
RTF, PS, man, PDF) con comandi docbook2* con DSSSL |
sgml2x
|
V:0, I:0 | 90 | SGML/dsssl | convertitore da SGML e XML che usa fogli di stile DSSSL |
Si possono esstrarre dati HTML o XML da altri formati usando gli strumenti seguenti.
Tabella 11.10. Elenco di strumenti di estrazione di dati XML
pacchetto | popcon | dimensione | parola chiave | descrizione |
---|---|---|---|---|
man2html
|
V:0, I:1 | 142 | pagine man→html | convertitore da pagine man a HTML (supporto CGI) |
doclifter
|
I:0 | 472 | troff→xml | convertitore da troff a XML DocBook |
texi2html
|
V:0, I:5 | 1847 | texi→html | convertitore da texinfo a HTML |
info2www
|
V:1, I:2 | 74 | info→html | convertitore da GNU info a HTML (supporto CGI) |
wv
|
V:0, I:4 | 733 | MSWord→tutto | convertitore di documenti da Microsoft Word a HTML, LaTeX, ecc. |
unrtf
|
V:0, I:3 | 148 | rtf→html | convertitore di documenti da RTF a HTML, ecc. |
wp2x
|
V:0, I:0 | 200 | WordPerfect→tutto | da file WordPerfect 5.0 e 5.1 a TeX, LaTeX, troff, GML e HTML |
I file HTML non-XML possono essere convertiti in XHTML che è un'istanza di XML ben strutturato. XHTML può essere elaborato con strumenti XML.
La sintassi dei file XML e la correttezza deli URL in essi può essere verificata.
Tabella 11.11. Elenco di strumenti per belle stampe XML
pacchetto | popcon | dimensione | funzione | descrizione |
---|---|---|---|---|
libxml2-utils
|
V:21, I:213 | 180 | xml↔html↔xhtml | strumento XML a riga di comando con xmllint (1) (controllo
di sintassi, riformattazione, eliminazione sporcizia, …) |
tidy
|
V:1, I:9 | 75 | xml↔html↔xhtml | controllore della sintassi e riformattatore per HTML |
weblint-perl
|
V:0, I:1 | 32 | lint | strumento di controllo della sintassi e dello stile di base per HTML |
linklint
|
V:0, I:0 | 343 | controllo dei collegamenti | controllore veloce di collegamenti e strumento per manutenzione di siti web |
Una volta che è stato generato codice XML corretto, si può usare la tecnologia XSLT per estrarre dati in base al contesto dei marcatori
Per semplici impaginazioni si può usare il programma Unix troff sviluppato da AT&T. Viene di solito usato per creare pagine man.
TeX, creato da Donald Knuth è uno strumento di impaginazione molto potente ed è lo standard di fatto. LaTeX, scritto originariamente da Leslie Lamport, permette un accesso alla potenza di TeX a più alto livello.
Tradizionalmente il sistema di elaborazione di testi Unix principale è
roff. Vedere 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) e "info groff
".
Si può leggere o stampare un buon tutorial e documento di consultazione
sulla macro "-me
" in
"/usr/share/doc/groff/
", dopo aver installato il
pacchetto groff
.
Suggerimento | |
---|---|
" |
Suggerimento | |
---|---|
Per rimuovere i "^H" e "_" da un file di testo generato con
|
La distribuzione software TeX Live offre un
sistema TeX completo. Il metapacchetto texlive
fornisce
una buona selezione dei pacchetti TeX Live
che dovrebbe essere sufficiente per la maggior parte dei compiti più comuni.
Ci sono molti documenti consultabili disponibili per TeX e LaTeX.
tex
(1)
latex
(1)
texdoc
(1)
texdoctk
(1)
"The TeXbook", di Donald E. Knuth, (Addison-Wesley)
"LaTeX - A Document Preparation System", di Leslie Lamport, (Addison-Wesley)
"The LaTeX Companion", di Goossens, Mittelbach, Samarin, (Addison-Wesley)
Questo è l'ambiente di impaginazione più potente. Molti elaboratori SGML lo usano come backend per l'elaborazione del
testo. Lyx, fornito dal pacchetto
lyx
, e GNUTeXmacs,
fornito dal pacchetto texmacs
, offrono un bell'ambiente
WYSIWYG per LaTeX; inoltre molti usano Emacs e Vim come scelta di
editor per i sorgenti.
Sono disponibili molte risorse in rete.
The TEX Live Guide - TEX Live 2007
("/usr/share/doc/texlive-doc-base/english/texlive-en/live.html
")
(pacchetto texlive-doc-base
)
Quando i documenti crescono di dimensioni, a volte TeX può generare
errori. Per risolvere queto problema si deve aumentare la dimensione di pool
in "/etc/texmf/texmf.cnf
" (o in modo più corretto,
modificare "/etc/texmf/texmf.d/95NonPath
" ed eseguire
update-texmf
(8)).
Nota | |
---|---|
Il sorgente TeX di "The TeXbook" è disponibile all'indirizzo www.ctan.org tex-archive site for
texbook.tex. Questo file contiene la maggior parte delle macro
necessarie. Mi è stato detto che si può elaborare questo documento con
|
Si può stampare una pagina di manuale in PostScript in un bel modo usando uno dei comandi seguenti.
$ man -Tps some_manpage | lpr
Benché sia possibile scrivere una pagina di manuale (pagina man) in formato troff semplice, ci sono alcuni pacchetti di aiuto per farlo.
Tabella 11.13. Elenco di pacchetti che aiutano a creare una pagina man
pacchetto | popcon | dimensione | parola chiave | descrizione |
---|---|---|---|---|
docbook-to-man
|
V:0, I:8 | 191 | SGML→paginaman | convertitore da SGML DocDook in macro roff man |
help2man
|
V:0, I:7 | 542 | testo→paginaman | generatore automatico di pagine man da --help |
info2man
|
V:0, I:0 | 134 | info→paginaman | convertitore da GNU info a POD o pagine man |
txt2man
|
V:0, I:0 | 112 | testo→paginaman | converte testo in puro ASCII nel formato delle pagine man |
In un sistema Debian i dati stampabili sono presentati in formato PostScript. CUPS (Common Unix Printing System) usa Ghostscript come suo programma backend per la rasterizzazione per le stampanti non-PostScript.
I dati stampabili possono anche essere prodotti nel formato PDF nei sistemi Debian recenti.
I file PDF possono essere visualizzati e i campi nei loro moduli possono essere riempiti usando strumenti GUI per visualizzazione come Evince e Okular (vedere Sezione 7.4, «Applicazioni GUI») e i browser moderni come Chromium.
I file PDF possono essere modificati usando alcuni strumenti grafici come LibreOffice, Scribus e Inkscape (vedere Sezione 11.6, «Strumenti per dati grafici»).
Suggerimento | |
---|---|
Si può leggere un file PDF con GIMP e convertirlo in formato PNG usando una risoluzione maggiore di 300 dpi. Ciò può essere usato come immagine di sfondo per LibreOffice, per produrre una stampa modificata come si desidera con uno sforzo minimo. |
Il cuore centrale della manipolazione dei dati da stampare è l'interprete PostScript (PS) Ghostscript che genera immagini raster.
Tabella 11.14. Elenco di interpreti PostScript Ghostscript
pacchetto | popcon | dimensione | descrizione |
---|---|---|---|
ghostscript
|
V:161, I:583 | 179 | interprete PostScript/PDF GPL Ghostscript |
ghostscript-x
|
V:2, I:38 | 87 | interprete PostScript/PDF GPL Ghostscript - supporto per display X |
libpoppler102
|
V:16, I:129 | 4274 | libreria di rendering per PDF risultato di un fork del visualizzatore di PDF xpdf |
libpoppler-glib8
|
V:260, I:485 | 484 | libreria di rendering per PDF (libreria condivisa basata su GLib) |
poppler-data
|
V:134, I:607 | 13086 | CMaps per la libreria di rendering per PDF (per supporto CJK: Adobe-*) |
Suggerimento | |
---|---|
La configurazione di Ghostscript può essere visualizzata con " |
È possibile unire due file PostScript
(PS) o PDF (Portable
Document Format) usando gs
(1) di 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
Nota | |
---|---|
Il formato PDF che è un formato ampiamente usato per dati stampabili multipiattaforma, è essenzialmente il formato PS compresso con alcune funzionalità ed estensioni aggiuntive. |
Suggerimento | |
---|---|
Per manipolare dalla riga di comando documenti PostScript sono utili
|
Quello che segue è un elenco di pacchetti con utilità per dati stampabili che hanno attirato la mia attenzione.
Tabella 11.15. Elenco di utilità per dati stampabili
pacchetto | popcon | dimensione | parola chiave | descrizione |
---|---|---|---|---|
poppler-utils
|
V:152, I:471 | 728 | pdf→ps,testo,… | utilità PDF: pdftops , pdfinfo ,
pdfimages , pdftotext ,
pdffonts |
psutils
|
V:4, I:67 | 219 | ps→ps | strumenti di conversione di documenti PostScript |
poster
|
V:0, I:3 | 57 | ps→ps | crea grandi poster da pagine PostScript |
enscript
|
V:1, I:14 | 2130 | testo→ps, html, rtf | converte testo ASCII in PostScript, HTML, RTF o Pretty-Print |
a2ps
|
V:0, I:10 | 3979 | testo→ps | convertitore e creatore di belle stampe "Da tutto a PostScript" |
pdftk
|
I:37 | 28 | pdf→pdf | strumento di conversione di documenti PDF: pdftk |
html2ps
|
V:0, I:2 | 261 | html→ps | converte da HTML aPostScript |
gnuhtml2latex
|
V:0, I:0 | 27 | html→latex | convertitore da HTML a latex |
latex2rtf
|
V:0, I:4 | 495 | latex→rtf | converte documenti da LaTeX a RTF leggibili da MS Word |
ps2eps
|
V:2, I:42 | 95 | ps→eps | converte da PostScript a EPS (Encapsulated PostScript) |
e2ps
|
V:0, I:0 | 109 | testo→ps | convertitore da testo a PostScript con supporto per la codifica giapponese |
impose+
|
V:0, I:0 | 118 | ps→ps | Utilità PostScript |
trueprint
|
V:0, I:0 | 149 | testo→ps | belle stampe di molti tipi di codice sorgente (C, C++, Java, Pascal, Perl, Pike, Sh e Verilog) in PostScript. (linguaggio C) |
pdf2svg
|
V:0, I:3 | 32 | pdf→svg | convertitore da PDF al formato SVG (Scalable Vector Graphics) |
pdftoipe
|
V:0, I:0 | 65 | pdf→ipe | convertitore da PDF al formato XML di IPE |
Entrambi i comandi lp
(1) e lpr
(1)
forniti da CUPS (Common Unix
Printing System) forniscono opzioni per stampe personalizzate dei
dati stampabili.
Si possono stampare 3 copie fascicolate di un file usando uno dei comandi seguenti.
$ lp -n 3 -o Collate=True filename
$ lpr -#3 -o Collate=True filename
Si può personalizzare ulteriormente l'operazione di stampa usando opzioni
come "-o number-up=2
", "-o
page-set=even
", "-o page-set=odd
", "-o
scaling=200
", "-o natural-scaling=200
", ecc.,
documentate in Stampa dalla
riga di comando ed opzioni relative.
Quelli che seguono sono pacchetti per la conversione dei dati di posta che hanno attirato la mia attenzione.
Tabella 11.16. Elenco di pacchetto che aiutano a convertire dati di posta
pacchetto | popcon | dimensione | parola chiave | descrizione |
---|---|---|---|---|
sharutils
|
V:2, I:36 | 1415 | posta | shar (1), unshar (1),
uuencode (1), uudecode (1) |
mpack
|
V:1, I:11 | 108 | MIME | codifica e decodifica di messaggiMIME:
mpack (1) e munpack (1) |
tnef
|
V:0, I:6 | 110 | ms-tnef | spacchettamento di allegati MIME di tipo "application/ms-tnef" che è un formato esclusivo di Microsoft |
uudeview
|
V:0, I:3 | 105 | posta | codificatore e decodificatore per i seguenti formati: uuencode, xxencode, BASE64, quoted printable e BinHex |
Suggerimento | |
---|---|
Se il software del programma di posta può essere configurato per usarlo, anche il server IMAP4 (Internet Message Access Protocol, versione 4) può essere usato per spostare la posta da sistemi proprietari. |
I dati di posta (SMTP) dovrebbero essere limitati a serie di 7 bit di dati. Perciò dati binari e testi a 8 bit sono codificati in un formato a 7 bit con MIME (Multipurpose Internet Mail Extensions) e la selezione del set di caratteri (vedere Tabella 11.2, «Elenco dei valori delle codifiche e loro uso»).
Il formato standard per l'archiviazione della posta è mbox strutturato
seguendo la RFC2822 (che aggiorna
RFC822). Vedere mbox
(5) (fornito dal pacchetto
mutt
).
Per le lingue europee, per la posta viene di solito usato
"Content-Transfer-Encoding: quoted-printable
" con il set
di caratteri ISO-8859-1 dato che non ci sono molti caratteri a 8 bit. Se il
testo europeo è codificato in UTF-8, è probabile venga usato
"Content-Transfer-Encoding: quoted-printable
" dato che
sono per la maggior parte dati a 7 bit.
Per il giapponese, per la posta viene tradizionalmente usato
"Content-Type: text/plain; charset=ISO-2022-JP
" per
mantenere il testo a 7 bit. Ma sistemi Microsoft più vecchi possono inviare
dati di posta in Shift-JIS senza una dichiarazione appropriata. Se il testo
giapponese è codificato in UTF-8, è probabile venga usato Base64 dato che contiene molti dati a 8 bit. La
situazione delle altre lingue asiatiche è simile.
Nota | |
---|---|
Se i dati di posta non-Unix sono accessibili da un software di posta non-Debian che può comunicare con il server IMAP4, potrebbe essere possibile spostarli eseguendo un proprio server IMAP4. |
Nota | |
---|---|
Se si usano altri formati di archiviazione, spostarli nel formato mbox è un
buon primo passo. Un versatile programma client come
|
Si può suddividere il contenuto di una casella di posta nei singoli messaggi
usando procmail
(1) e formail
(1).
Ciascun messaggio di posta può essere spachettato usando
munpack
(1), dal pacchetto mpack
, (o
con altri strumenti specializzati) per ottenere i contenuti codificati MIME.
Sebbene programmi con interfaccia utente grafica come
gimp
(1) siano molto potenti, strumenti a riga di comando
come imagemagick
(1) sono piuttosto utili per manipolare
in modo automatico immagini usando script.
Il formato standard di fatto per i file immagini delle fotocamere digitali è EXIF (Exchangeable Image File Format) che è il formato per file immagine JPEG con tag aggiuntivi con metadati. Può contenere informazioni come la data, l'orario e le impostazioni della fotocamera.
I diritti sulla compressione senza perdita di dati Lempel-Ziv-Welch (LZW) sono scaduti. Le utilità GIF (Graphics Interchange Format) che usano il metodo di compressione LZW sono ora disponibili liberamente sul sistema Debian.
Suggerimento | |
---|---|
Qualsiasi fotocamera digitale o scanner con un supporto di archiviazione removibile funziona in Linux attraverso i lettori di archiviazione USB dato che segue le regole progettuali per i file system delle fotocamere e usa il file system FAT. Vedere Sezione 10.1.7, «Supporti di archiviazione removibili». |
I seguenti metapacchetti sono un buon punto di inizio per cercare strumenti
per dati grafici usando aptitude
(8). Un altro punto di
partenza può essere "Panoramica dei pacchetti per i
manutentori degli strumenti per fotografia di Debian".
Tabella 11.17. Elenco di strumenti per dati grafici (metapacchetto)
pacchetto | popcon | dimensione | parola chiave | descrizione |
---|---|---|---|---|
design-desktop-graphics
|
I:0 | 13 | svg, jpeg, … | metapacchetto per grafici e graphic designer |
education-graphics
|
I:0 | 30 | svg, jpeg, … | metapacchetto per insegnare grafica e arti pittoriche. |
open-font-design-toolkit
|
I:0 | 9 | ttf, ps, … | metapacchetto per creazione di tipi di caratteri open |
Suggerimento | |
---|---|
Cercare ulteriori strumenti per le immagini usando l'espressione regolare
" |
Quelli che seguono sono pacchetti di strumenti GUI per la conversione, la modifica e l'organizzazione di dati grafici che hanno attirato la mia attenzione.
Tabella 11.18. Elenco di strumenti per dati grafici (GUI)
pacchetto | popcon | dimensione | parola chiave | descrizione |
---|---|---|---|---|
gimp
|
V:50, I:252 | 19304 | immagine(bitmap) | GNU Image Manipulation Program, programma GNU di manipolazione di immagini |
xsane
|
V:12, I:144 | 2339 | immagine(bitmap) | frontend X11 basato su GTK per SANE (Scanner Access Now Easy) |
scribus
|
V:1, I:16 | 31345 | ps/pdf/SVG/… | editor DTP Scribus |
libreoffice-draw
|
V:72, I:430 | 10312 | immagine(vettoriale) | suite per ufficio LibreOffice - disegno |
inkscape
|
V:15, I:112 | 99800 | immagine(vettoriale) | editor SVG (Scalable Vector Graphics) |
dia
|
V:2, I:22 | 3741 | immagine(vettoriale) | editor di diagrammi (Gtk) |
xfig
|
V:0, I:11 | 7849 | immagine(vettoriale) | strumento per la generazione interattiva di figure in X11 |
gocr
|
V:0, I:7 | 540 | immagine→testo | software OCR libero |
eog
|
V:64, I:277 | 7770 | immagine(Exif) | visualizzatore di immagini grafiche Eye of GNOME |
gthumb
|
V:3, I:16 | 5032 | immagine(Exif) | navigatore e visualizzatore di immagini (GNOME) |
geeqie
|
V:4, I:15 | 2522 | immagine(Exif) | visualizzatore d'immagini che usa GTK |
shotwell
|
V:17, I:255 | 6263 | immagine(Exif) | organizzatore di foto digitali (GNOME) |
gwenview
|
V:33, I:106 | 11755 | immagine(Exif) | visualizzatore di immagini (KDE) |
kamera
|
I:105 | 998 | immagine(Exif) | supporto per fotocamere digitali in applicazioni KDE |
digikam
|
V:1, I:9 | 293 | immagine(Exif) | applicazione per la gestione delle foto digitali per KDE |
darktable
|
V:4, I:13 | 30554 | immagine(Exif) | tavolo luminoso e camera oscura virtuali per fotografi |
hugin
|
V:0, I:8 | 5208 | immagine(Exif) | ricucitore di foto per panorami |
librecad
|
V:1, I:15 | 8963 | DXF, ... | editor di dati CAD 2D |
freecad
|
I:18 | 36 | DXF, ... | editor di dati CAD 3D |
blender
|
V:3, I:28 | 84492 | blend, TIFF, VRML, … | editor di contenuti 3D per animazioni, ecc. |
mm3d
|
V:0, I:0 | 3881 | ms3d, obj, dxf, … | editor di modelli 3D basato su OpenGL |
fontforge
|
V:0, I:6 | 3993 | ttf, ps, … | editor di tipi di carattere per caratteri PS, TrueType e OpenType |
xgridfit
|
V:0, I:0 | 806 | ttf | programma per gridfitting e hinting di tipi di carattere TrueType |
Quelli che seguono sono pacchetti di strumenti CLI per la conversione, la modifica e l'organizzazione di dati grafici che hanno attirato la mia attenzione.
Tabella 11.19. Elenco di strumenti per dati grafici (CLI)
pacchetto | popcon | dimensione | parola chiave | descrizione |
---|---|---|---|---|
imagemagick
|
I:317 | 74 | immagine(bitmap) | programmi di manipolazione immagini |
graphicsmagick
|
V:1, I:11 | 5565 | immagine(bitmap) | programmi di manipolazione di immagini (fork di
imagemagick ) |
netpbm
|
V:28, I:326 | 8526 | immagine(bitmap) | strumenti di conversione di dati grafici |
libheif-examples
|
V:0, I:2 | 191 | heif→jpeg(bitmap) | convertire il formato High
Efficiency Image File (HEIF) nei formati JPEG, PNG o Y4M con il
comandoheif-convert (1) |
icoutils
|
V:7, I:50 | 221 | png↔ico(bitmap) | converte icone e puntatori MS Windows da e verso il formato PNG (favicon.ico) |
pstoedit
|
V:2, I:52 | 1011 | ps/pdf→immagine(vettoriale) | convertitore di file PostScript e PDF in grafica vettoriale modificabile (SVG) |
libwmf-bin
|
V:7, I:119 | 151 | Windows/immagine(vettoriale) | strumenti di conversione di metafile windows (dati di grafica vettoriale) |
fig2sxd
|
V:0, I:0 | 151 | fig→sxd(vettoriale) | converte file XFig nel formato di Draw di OpenOffice.org |
unpaper
|
V:2, I:17 | 412 | immagine→immagine | strumento di post-elaborazione per pagine scansionate per OCR |
tesseract-ocr
|
V:7, I:33 | 2228 | immagine→testo | software OCR libero basato sul motore OCR commerciale di HP |
tesseract-ocr-eng
|
V:7, I:34 | 4032 | immagine→testo | dati per motore OCR: file di lingua tesseract-ocr per testi in inglese |
ocrad
|
V:0, I:3 | 587 | immagine→testo | software OCR libero |
exif
|
V:2, I:42 | 339 | immagine(Exif) | utilità a riga di comando per mostrare informazioni EXIF in file JPEG |
exiv2
|
V:2, I:27 | 275 | immagine(Exif) | strumento di manipolazione di metadati EXIF/IPTC |
exiftran
|
V:1, I:14 | 69 | immagine(Exif) | trasforma immagini JPEG di fotocamere digitali |
exiftags
|
V:0, I:3 | 292 | immagine(Exif) | utilità per leggere i tag EXIF da un file JPEG di una fotocamera digitale |
exifprobe
|
V:0, I:3 | 499 | immagine(Exif) | legge metadati da immagini digitali |
dcraw
|
V:1, I:12 | 583 | immagine(Raw)→ppm | decodifica immagini raw di fotocamere digitali |
findimagedupes
|
V:0, I:1 | 77 | immagine→fingerprint | trova immagini simili visivamente o duplicati |
ale
|
V:0, I:0 | 839 | immagine→immagine | fonde immagini per migliorarne la fedeltà o creare mosaici |
imageindex
|
V:0, I:1 | 145 | immagine(Exif)→html | genera gallerie HTML statiche da immagini |
outguess
|
V:0, I:1 | 230 | jpeg,png | strumento steganografico universale |
jpegoptim
|
V:0, I:7 | 59 | jpeg | ottimizza file JPEG |
optipng
|
V:3, I:43 | 213 | png | ottimizza file PNG, con compressione senza perdita |
pngquant
|
V:0, I:9 | 61 | png | ottimizza file PNG, con compressione senza perdita |
Ci sono molti altri programmi per convertire dati. I pacchetti seguenti,
trovati usando l'espressione regolare "~Guse::converting
"
in aptitude
(8) (vedere Sezione 2.2.6, «Opzioni per i metodi di ricerca in aptitude»), hanno catturato la mia
attenzione.
Tabella 11.20. Elenco di strumenti di conversione di dati vari
pacchetto | popcon | dimensione | parola chiave | descrizione |
---|---|---|---|---|
alien
|
V:1, I:19 | 163 | rpm/tgz→deb | convertitore di pacchetti estranei in pacchetti Debian |
freepwing
|
V:0, I:0 | 424 | EB→EPWING | convertitore da "Electric Book" (popolare in Giappone) in un singolo formato JIS X 4081 (un sottoinsieme di EPWING V1) |
calibre
|
V:6, I:28 | 63385 | tutto→EPUB | convertitore e gestione di una biblioteca per libri elettronici |
Si possono estrarre i dati dal formato RPM anche nel modo seguente.
$ rpm2cpio file.src.rpm | cpio --extract