Dimensione: 1172
Commento:
|
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 ## page was renamed from ConvertireJpgInPdf #format wiki |
|
Linea 2: | Linea 7: |
[[BR]] ||<tablestyle="float:right; font-size: 0.9em; width:35%; background:#F1F1ED; margin: 0 0 1em 1em;" style="padding:0.5em;">[[TableOfContents]]|| |
<<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 5: | Linea 11: |
= Convertire più immagini JPEG in un unico documento PDF = | = Introduzione = |
Linea 7: | Linea 13: |
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 8: | Linea 15: |
Se vi è mai capitato di avere una lista di file di immagini in formato JPEG e di volerli unire in un file PDF, ecco la semplice procedura. | = Installazione = |
Linea 10: | Linea 17: |
== Installazione pacchetti == Saranno necessari i seguenti pacchetti: '''gs, pdftk''' |
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 13: | Linea 21: |
{{{ $ sudo apt-get install gs pdftk |
* '''Tramite interfaccia grafica''': [[apt://converseen |converseen]]. = Configurazione = 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. = 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 17: | Linea 136: |
== Esecuzione comandi fondamentali == * Converte tutti i file JPEG contenuti nella cartella in equivalenti in formato PDF {{{ $ for i in *.jpg; do convert $i $i.pdf; done |
0. Salvare col nome `img2pdf` e chiudere il file. 0. Dare i permessi d'esecuzione allo script:{{{ chmod +x img2pdf |
Linea 23: | Linea 140: |
* Unisce e concatena tutti i file PDF nella cartella in un unico file chiamato ''output.pdf'' (mettici quello che vuoi al suo posto) {{{ $ pdftk *.pdf cat output output.pdf |
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 28: | Linea 152: |
== Note == La procedura descritta è particolarmente funzionale quando i file JPEG sono ordinati tramite una numerazione (es.1.jpg,2.jpg,...,n.jpg) Ricordarsi eventualmente di fare pulizia nella cartella dando un {{{ rm xxx.pdf |
== Utilizzo interfaccia grafica == === 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 34: | Linea 178: |
= Ulteriori risorse = * [[http://www.imagemagick.org/script/index.php|Sito ufficiale di ImageMagick]] |
|
Linea 35: | Linea 183: |
CategoryNuoviDocumenti CategoryNuoviDocumenti | CategoryGrafica CategoryMultimedia |
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).