Dimensione: 1645
Commento: corretta categoria
|
Dimensione: 7366
Commento: Verifica 20.04
|
Le cancellazioni sono segnalate in questo modo. | Le aggiunte sono segnalate in questo modo. |
Linea 1: | Linea 1: |
## page was renamed from Grafica/ImmaginiInPdf ## page was renamed from Grafica/ConvertireJpgInPdf ## page was renamed from Multimedia/Grafica/ConvertireJpgInPdf |
|
Linea 4: | Linea 7: |
[[BR]] ||<tablestyle="float:right; font-size: 0.9em; width:35%; background:#F1F1ED; margin: 0 0 1em 1em;" style="padding:0.5em;">[[TableOfContents(1)]]|| |
<<BR>> <<Indice(depth=2)>> <<Informazioni(forum="http://forum.ubuntu-it.org/viewtopic.php?t=57533; rilasci="20.04 18.04 16.04 14.04")>> |
Linea 9: | Linea 13: |
Questa guida contiene una semplice procedura utile a convertire e unire una lista di file di immagini in formato `.jpeg` in un unico file `.pdf`. | Questa guida illustra alcune procedure, da terminale e da interfaccia grafica, utili per convertire uno o più file di immagini, in qualsiasi formato, in un unico file `.pdf`. |
Linea 11: | Linea 15: |
= Preparativi = | = Installazione = |
Linea 13: | Linea 17: |
È necessario installare i seguenti pacchetti: * ''pdftk'' * ''imagemagick'' |
A seconda della procedura desiderata, [[AmministrazioneSistema/InstallareProgrammi|installare]] i seguenti pacchetti, se non presenti: * '''Tramite terminale''': [[apt://imagemagick | imagemagick]] (solitamente preinstallato in '''Ubuntu''' e tutte le derivate ufficiali, eccetto '''Lubuntu'''). |
Linea 17: | Linea 21: |
Per maggiori informazioni sull'installazione, consultare la guida all'[:InstallareProgrammi:installazione dei programmi]. | * '''Tramite interfaccia grafica''': [[apt://converseen |converseen]]. |
Linea 19: | Linea 23: |
= Esecuzione = | = Configurazione = |
Linea 21: | Linea 25: |
||<tablestyle="text-align: justify; width:100%; " style="border:none;" 5%>[[Immagine(Icone/Grandi/info.png,,center)]] ||<style="padding:0.5em; border:none;">Prima di seguire la procedura è consigliato ordinare i file di origine assegnando loro dei nomi numerici (es. {{{1.jpeg}}}, {{{2.jpeg}}}, {{{3.jpeg}}}). || | 0. A seconda della versione in uso, aprire con un [[Ufficio/EditorDiTesto|editor di testo]] e con i [[AmministrazioneSistema/Sudo|privilegi di amministrazione]] il seguente file: * Ubuntu 16.04 e successive: `/etc/ImageMagick-6/policy.xml` * Ubuntu 14.04: `/etc/ImageMagick/policy.xml` 0. Cercare la riga:{{{ <policy domain="coder" rights="none" pattern="PDF" /> }}} 0. Modificare la riga in:{{{ <!--policy domain="coder" rights="none" pattern="PDF" /--> }}} 0. Salvare e chiudere il file. |
Linea 23: | Linea 36: |
Prima di iniziare è necessario posizionarsi nella cartella che comprende i file `.jpeg`: {{{ cd /percorso/della/cartella/ |
= Utilizzo = {{{#!wiki tip Prima di seguire una delle procedure riportate, è consigliabile ordinare i file di origine assegnando loro dei nomi numerici (es. `01.jpeg`, `02.jpeg`, `03.jpeg`) e spostarli in una cartella dedicata.}}} == Comandi da terminale == 0. Avviare il [[AmministrazioneSistema/Terminale|terminale]]. 0. [[AmministrazioneSistema/ComandiBase#cd|Spostarsi]] nella directory che contiene le immagini da convertire. 0. Convertire tutti i file nel formato `.pdf` con il seguente comando:{{{ convert *.<formatoimmagine> Risultato.pdf }}}Sostituendo la dicitura «`<formatoimmagine>`» con il formato dell'immagine (ad esempio `png`, `jpeg`, `tiff` ecc.) e «`Risultato.pdf`» con il nome del file che si vuole creare. == Utilizzo tramite script == Il seguente [[Programmazione/Script|script]] è particolarmente utile per mantenere le corrette proporzioni delle immagini per la stampa in formato `.pdf` su foglio di dimensioni A4. 0. Aprire un [[Ufficio/EditorDiTesto|editor di testo]] e copiare al suo interno lo script:{{{ #! #!/bin/bash # dipende da: bc imagemagick poppler-utils # in Ubuntu dovrebbero essere pre-installati :<<FORMULE Pixels ÷ DPI = Inches Pixels ÷ Inches = DPI DPI x Inches = Pixels formato A4 in pollici: 8.27 x 11.69 FORMULE # dal formato A4 tolgo 1" per i margini (sup + inf; dx + sn): 0.5 + 0.5 wInches=7.27 hInches=10.69 CLIError="\n Errore negli argomenti. La sintassi deve essere:\n \n $(basename $0) </PERCORSO/IMMAGINE> [</PERCORSO/ALTRAIMMAGINE>] [...] \n" if [[ ! -f $1 ]]; then echo -e $CLIError exit fi nomefile=$(basename "$1") tempdir="/tmp/${nomefile%.*}/" outfile=$(dirname "$1")/${nomefile%.*}.pdf #crea la cartella dei file temporanei e ci si sposta mkdir -p "$tempdir" for infile in "$@"; do #infile="${path}$infile" # estrae le dimensioni in pixel dell'immagine read w h <<<$(identify -ping -format '%w %h' "$infile") # calcola il DPI nella pagina A4 DPI=$(bc <<< "($w/$wInches+0.5)/1") # floating point arrotondato all'intero # calcola il n° di pixel verticali nella pagina A4 con quel DPI PPP=$(bc <<< "($DPI*10.69+0.5)/1") # floating point arrotondato all'intero # calcola il n° di pagine A4 necessarie # se restano pixel va aggiunta un'ultima pagina resto=$((h%PPP)) [ $resto = 0 ] || ceiling=1; NPimg=$((h/PPP+ceiling)) # a partire dall'immagine ne crea tante quante sono le pagine necessarie offset=0 ((NPtot+=NPimg)) for i in $(seq -f '%03g' $((1+NPtot-NPimg)) $NPtot); do convert "$infile" -crop ${w}x${PPP}+0+$offset "$tempdir${i}.png" # mette una cornice bianca di 0.5 inches per lato convert "$tempdir${i}.png" -bordercolor white \ -border $((DPI/2)) "$tempdir${i}.png" ((offset+=PPP)) done # aggiunge all'ultima pagina il necessario margine bianco inferiore finale=$((PPP-resto)) convert "$tempdir${i}.png" -gravity south \ -background white -splice 0x$finale "$tempdir${i}.png" done # poi le converte in formato pdf for png in "$tempdir"*.png; do convert $png -page A4 ${png/.*}.pdf done if [ $h -le $PPP -a $# = 1 ] # quando h <= PPP il PDF ha una sola pagina then cp "$tempdir${i}.pdf" "$outfile" else pdfunite "$tempdir"*.pdf "$outfile" fi |
Linea 28: | Linea 136: |
Convertire tutti i file `.jpeg` in formato `.pdf` (i file risultanti avranno lo stesso nome di origine) con il seguente comando: {{{ for i in *.jpg; do convert $i $i.pdf; echo $i.pdf >> tmp; done |
0. Salvare col nome `img2pdf` e chiudere il file. 0. Dare i permessi d'esecuzione allo script:{{{ chmod +x img2pdf }}} 0. Creare la directory di allocazione:{{{ sudo mkdir -p /usr/local/bin }}} 0. Copiare il file nella directory creata digitando il comando:{{{ sudo cp img2pdf /usr/local/bin/ }}} 0. Usare lo script con la seguente sintassi:{{{ img2pdf nomeimmagine.<formatoimmagine>. }}} o se trattasi di più immagini con la sintassi:{{{ img2pdf *.<formatoimmagine> |
Linea 32: | Linea 152: |
Dunque unire e concatenare tutti i file `.pdf` in un unico file: {{{ pdftk *.pdf cat output risultato.pdf }}} |
== Utilizzo interfaccia grafica == |
Linea 36: | Linea 154: |
Infine non resta che eliminare i file temporanei: {{{ xargs rm < tmp; rm tmp |
=== Impostazioni al primo avvio === 0. [[AmbienteGrafico/AvviareProgrammi|Avviare]] il programma '''Converseen'''. 0. Per utilizzare il programma in lingua italiana seguire il menu '''File → settings''', quindi nel menu a tendina '''Language''' selezionare '''Italiano''' e premere '''Ok'''. Infine chiudere e riavviare il programma. 0. Scorrere il '''Pannello delle azioni''' fino a '''Opzioni di output''' fare clic su '''[…]''' e selezionare la directory '''Immagini'''. 0. Fare clic su '''Nuova cartella''', digitare '''Converseen''' e fare clic su '''OK'''. <<BR>> {{{#!wiki note In questo modo le immagini convertite saranno disponibili nella directory `/home/<nomeutente>/Immagini/Converseen`.}}} 0. Chiudere e riavviare '''Converseen'''. === Utilizzo === 0. Fare clic su '''Apri immagini''', selezionare la directory che contiene le immagini da convertire e selezionare tutto il contenuto. 0. Spuntare nella finestra le immagini da convertire, oppure in alto fare clic sull'icona '''Spunta tutto'''. 0. Impostare sotto la finestra nel menù a tendina '''Converti in:''' '''PDF - (Portable Document Format)'''. 0. Fare clic sull'icona '''Converti'''. 0. Terminata la conversione, fare clic su '''Chiudi''' nella finestrella di controllo. 0. Per chiudere il programma premere '''Ctrl+X'''. {{{#!wiki tip In alcuni casi (ad esempio se lo sfondo della pagina è trasparente) l'immagine creata viene mostrata con sfondo nero. Per correggere il problema in '''Converseen''' spuntare in basso a destra la casella '''Sostituisci lo sfondo trasparente''', quindi cliccare accanto a '''Scegli colore''' e scegliere un colore di sfondo a piacere (per le necessità più comuni si consiglia il bianco). |
Linea 43: | Linea 180: |
* [:ComandiBase#mv:Guida ai comandi base] come rinominare i file | * [[http://www.imagemagick.org/script/index.php|Sito ufficiale di ImageMagick]] |
Guida verificata con Ubuntu: 20.04
Problemi in questa pagina? Segnalali in questa discussione
Introduzione
Questa guida illustra alcune procedure, da terminale e da interfaccia grafica, utili per convertire uno o più file di immagini, in qualsiasi formato, in un unico file .pdf.
Installazione
A seconda della procedura desiderata, installare i seguenti pacchetti, se non presenti:
Tramite terminale: imagemagick (solitamente preinstallato in Ubuntu e tutte le derivate ufficiali, eccetto Lubuntu).
Tramite interfaccia grafica: converseen.
Configurazione
A seconda della versione in uso, aprire con un editor di testo e con i privilegi di amministrazione il seguente file:
Ubuntu 16.04 e successive: /etc/ImageMagick-6/policy.xml
Ubuntu 14.04: /etc/ImageMagick/policy.xml
Cercare la riga:
<policy domain="coder" rights="none" pattern="PDF" />
Modificare la riga in:
<!--policy domain="coder" rights="none" pattern="PDF" /-->
- Salvare e chiudere il file.
Utilizzo
Prima di seguire una delle procedure riportate, è consigliabile ordinare i file di origine assegnando loro dei nomi numerici (es. 01.jpeg, 02.jpeg, 03.jpeg) e spostarli in una cartella dedicata.
Comandi da terminale
Avviare il terminale.
Spostarsi nella directory che contiene le immagini da convertire.
Convertire tutti i file nel formato .pdf con il seguente comando:
convert *.<formatoimmagine> Risultato.pdf
Sostituendo la dicitura «<formatoimmagine>» con il formato dell'immagine (ad esempio png, jpeg, tiff ecc.) e «Risultato.pdf» con il nome del file che si vuole creare.
Utilizzo tramite script
Il seguente script è particolarmente utile per mantenere le corrette proporzioni delle immagini per la stampa in formato .pdf su foglio di dimensioni A4.
Aprire un editor di testo e copiare al suo interno lo script:
#!/bin/bash # dipende da: bc imagemagick poppler-utils # in Ubuntu dovrebbero essere pre-installati :<<FORMULE Pixels ÷ DPI = Inches Pixels ÷ Inches = DPI DPI x Inches = Pixels formato A4 in pollici: 8.27 x 11.69 FORMULE # dal formato A4 tolgo 1" per i margini (sup + inf; dx + sn): 0.5 + 0.5 wInches=7.27 hInches=10.69 CLIError="\n Errore negli argomenti. La sintassi deve essere:\n \n $(basename $0) </PERCORSO/IMMAGINE> [</PERCORSO/ALTRAIMMAGINE>] [...] \n" if [[ ! -f $1 ]]; then echo -e $CLIError exit fi nomefile=$(basename "$1") tempdir="/tmp/${nomefile%.*}/" outfile=$(dirname "$1")/${nomefile%.*}.pdf #crea la cartella dei file temporanei e ci si sposta mkdir -p "$tempdir" for infile in "$@"; do #infile="${path}$infile" # estrae le dimensioni in pixel dell'immagine read w h <<<$(identify -ping -format '%w %h' "$infile") # calcola il DPI nella pagina A4 DPI=$(bc <<< "($w/$wInches+0.5)/1") # floating point arrotondato all'intero # calcola il n° di pixel verticali nella pagina A4 con quel DPI PPP=$(bc <<< "($DPI*10.69+0.5)/1") # floating point arrotondato all'intero # calcola il n° di pagine A4 necessarie # se restano pixel va aggiunta un'ultima pagina resto=$((h%PPP)) [ $resto = 0 ] || ceiling=1; NPimg=$((h/PPP+ceiling)) # a partire dall'immagine ne crea tante quante sono le pagine necessarie offset=0 ((NPtot+=NPimg)) for i in $(seq -f '%03g' $((1+NPtot-NPimg)) $NPtot); do convert "$infile" -crop ${w}x${PPP}+0+$offset "$tempdir${i}.png" # mette una cornice bianca di 0.5 inches per lato convert "$tempdir${i}.png" -bordercolor white \ -border $((DPI/2)) "$tempdir${i}.png" ((offset+=PPP)) done # aggiunge all'ultima pagina il necessario margine bianco inferiore finale=$((PPP-resto)) convert "$tempdir${i}.png" -gravity south \ -background white -splice 0x$finale "$tempdir${i}.png" done # poi le converte in formato pdf for png in "$tempdir"*.png; do convert $png -page A4 ${png/.*}.pdf done if [ $h -le $PPP -a $# = 1 ] # quando h <= PPP il PDF ha una sola pagina then cp "$tempdir${i}.pdf" "$outfile" else pdfunite "$tempdir"*.pdf "$outfile" fi
Salvare col nome img2pdf e chiudere il file.
Dare i permessi d'esecuzione allo script:
chmod +x img2pdf
Creare la directory di allocazione:
sudo mkdir -p /usr/local/bin
Copiare il file nella directory creata digitando il comando:
sudo cp img2pdf /usr/local/bin/
Usare lo script con la seguente sintassi:
img2pdf nomeimmagine.<formatoimmagine>.
o se trattasi di più immagini con la sintassi:
img2pdf *.<formatoimmagine>
Utilizzo interfaccia grafica
Impostazioni al primo avvio
Avviare il programma Converseen.
Per utilizzare il programma in lingua italiana seguire il menu File → settings, quindi nel menu a tendina Language selezionare Italiano e premere Ok. Infine chiudere e riavviare il programma.
Scorrere il Pannello delle azioni fino a Opzioni di output fare clic su […] e selezionare la directory Immagini.
Fare clic su Nuova cartella, digitare Converseen e fare clic su OK.
In questo modo le immagini convertite saranno disponibili nella directory /home/<nomeutente>/Immagini/Converseen.
Chiudere e riavviare Converseen.
Utilizzo
Fare clic su Apri immagini, selezionare la directory che contiene le immagini da convertire e selezionare tutto il contenuto.
Spuntare nella finestra le immagini da convertire, oppure in alto fare clic sull'icona Spunta tutto.
Impostare sotto la finestra nel menù a tendina Converti in: PDF - (Portable Document Format).
Fare clic sull'icona Converti.
Terminata la conversione, fare clic su Chiudi nella finestrella di controllo.
Per chiudere il programma premere Ctrl+X.
In alcuni casi (ad esempio se lo sfondo della pagina è trasparente) l'immagine creata viene mostrata con sfondo nero. Per correggere il problema in Converseen spuntare in basso a destra la casella Sostituisci lo sfondo trasparente, quindi cliccare accanto a Scegli colore e scegliere un colore di sfondo a piacere (per le necessità più comuni si consiglia il bianco).