Dimensione: 1259
Commento: Un po' di stile. Inserito un nuovo pacchetto fondamentale.
|
← Versione 46 del 11/05/2022 15.29.59 ⇥
Dimensione: 8296
Commento: Aggiornamento wiki Maggio 2022 ed aggiunto comando per allegerire i PDF creati
|
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]]|| = Convertire più immagini JPEG in un unico documento PDF = 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. == Pacchetti neccessari == Installare i seguenti pacchetti: ''gs'' ''pdftk'' ''imagemagick''. {{{ sudo apt-get install gs pdftk imagemagick }}} == Esecuzione comandi fondamentali == Questo comando converte tutti i file '''JPEG''' contenuti nella cartella in equivalenti in formato '''PDF''': {{{ for i in *.jpg; do convert $i $i.pdf; done }}} Questo comando unisce e concatena tutti i file '''PDF''' nella cartella in un unico file chiamato `output.pdf` (inserire eventualmente un nome alternativo): {{{ pdftk *.pdf cat output output.pdf }}} == 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 tramite comando: {{{ rm xxx.pdf }}} |
<<BR>> <<Indice(depth=3)>> <<Informazioni(forum="http://forum.ubuntu-it.org/viewtopic.php?t=57533; rilasci="22.04 20.04 18.04 16.04 14.04")>> = 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, [[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'''). * '''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 con un [[Ufficio/EditorDiTesto|editor di testo]] il file `~/img2pdf`. 0. Copiare al suo interno il seguente 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 }}} 0. Salvare e chiudere il file. 0. [[AmministrazioneSistema/PermessiFile#Assegnare_i_permessi_di_esecuzione|Assegnare i permessi d'esecuzione]] al file `~/img2pdf`. 0.[[AmministrazioneSistema/ComandiBase#cp|Copiare]] il file `~/img2pdf` nella cartella `/usr/local/bin`. === Uso script === A seconda dei casi usare lo script con una delle seguenti sintassi: * '''Immagine da convertire singola''':{{{ img2pdf <nomeimmagine>.<formatoimmagine>. }}} * '''Immagine da convertire multipla''':{{{ img2pdf *.<formatoimmagine> }}} Sostituire <nome immagine> col nome dell'immagine e <formato immagine> col formato originale. == 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). }}} = Risoluzione problemi = == File PDF pesante == Nel caso che il file una volta convertito in `.pdf` risultasse di molti kB o MB, si può allegerire seguendo questa procedura. 0. Aprire un [[AmministrazioneSistema/Terminale|terminale]]. 0. [[AmministrazioneSistema/ComandiBase#cd|Spostarsi]] nella cartella dove è stato salvato il file `pdf`. 0. Digitare il seguente comando:{{{ gs -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dNOPAUSE -dBATCH -dPDFSETTINGS=/default -dColorImageResolution=200 -dDownsampleColorImages=true -sOutputFile=<nome file nuovo>.pdf <nome file attuale>.pdf }}} Sostituire <nome file attuale> col nome del file da alleggerire, e <nome file nuovo> col nome del file alleggerito. = Ulteriori risorse = * [[http://www.imagemagick.org/script/index.php|Sito ufficiale di ImageMagick]] |
Linea 34: | Linea 204: |
CategoryNuoviDocumenti CategoryNuoviDocumenti | CategoryGrafica CategoryMultimedia |
Guida verificata con Ubuntu: 20.04 22.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 con un editor di testo il file ~/img2pdf.
Copiare al suo interno il seguente 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 e chiudere il file.
Assegnare i permessi d'esecuzione al file ~/img2pdf. 0.Copiare il file ~/img2pdf nella cartella /usr/local/bin.
Uso script
- A seconda dei casi usare lo script con una delle seguenti sintassi:
Immagine da convertire singola:
img2pdf <nomeimmagine>.<formatoimmagine>.
Immagine da convertire multipla:
img2pdf *.<formatoimmagine>
Sostituire <nome immagine> col nome dell'immagine e <formato immagine> col formato originale.
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).
Risoluzione problemi
File PDF pesante
Nel caso che il file una volta convertito in .pdf risultasse di molti kB o MB, si può allegerire seguendo questa procedura.
Aprire un terminale.
Spostarsi nella cartella dove è stato salvato il file pdf.
Digitare il seguente comando:
gs -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dNOPAUSE -dBATCH -dPDFSETTINGS=/default -dColorImageResolution=200 -dDownsampleColorImages=true -sOutputFile=<nome file nuovo>.pdf <nome file attuale>.pdf
Sostituire <nome file attuale> col nome del file da alleggerire, e <nome file nuovo> col nome del file alleggerito.