Dimensione: 2112
Commento:
|
Dimensione: 6779
Commento: Revisione
|
Le cancellazioni sono segnalate in questo modo. | Le aggiunte sono segnalate in questo modo. |
Linea 11: | Linea 11: |
Questa guida contiene una semplice procedura utile per 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 a convertire uno o più file di immagini in qualsiasi formato in un unico file `.pdf`. |
Linea 13: | Linea 13: |
= Preparativi = | = Installazione = |
Linea 15: | Linea 15: |
0. [[AmministrazioneSistema/InstallareProgrammi|Installare]] il pacchetto [[apt://imagemagick | imagemagick]]. 0. Aprire con un [[Ufficio/EditorDiTesto|editor di testo]] e con i [[AmministrazioneSistema/Sudo|privilegi di amministrazione]] il file `/etc/ImageMagick-6/policy.xml`. 0. Cercare la riga contenente il seguente testo:{{{ |
Se si utilizza '''Lubuntu''' è necessario [[AmministrazioneSistema/InstallareProgrammi|Installare]] il pacchetto [[apt://imagemagick | imagemagick]].<<BR>> In Ubuntu e nelle derivate ufficiali '''Imagemagick''' è preinstallato. = Configurazione = 0. Aprire con un [[Ufficio/EditorDiTesto|editor di testo]] e con i [[AmministrazioneSistema/Sudo|privilegi di amministrazione]] il file `/etc/ImageMagick-6/policy.xml` per i rilasci dal 16.04 in poi, o il file `/etc/ImageMagick/policy.xml` per i rilasci fino al 14.04. 0. Cercare la riga:{{{ |
Linea 25: | Linea 29: |
= Esecuzione = | = Utilizzo = |
Linea 27: | Linea 31: |
||<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 (ad esempio `1.jpeg`, `2.jpeg`, `3.jpeg` ecc.). || | ||<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 una delle procedure riportate, è consigliabile ordinare i file di origine assegnando loro dei nomi numerici (es. `01.jpeg`, `02.jpeg`, `03.jpeg`) e spostandoli in una cartella dedicata.|| |
Linea 29: | Linea 33: |
0. Aprire un [[AmministrazioneSistema/Terminale|terminale]] e [[AmministrazioneSistema/ComandiBase#cd|spostarsi]] nella cartella che comprende i file `.jpeg` digitando: {{{ cd /percorso/della/cartella/ |
== 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 es. `png`, `jpeg`, `tiff`..) 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 32: | Linea 127: |
sostituendo la dicitura «`/percorso/della/cartella/`» con il nome della directory. | |
Linea 34: | Linea 128: |
0. Convertire tutti i file `.jpeg` in formato `.pdf` con il comando: {{{ convert *.jpeg Risultato.pdf |
0. Salvare col nome `img2pdf` e chiudere il file. 0. Dare i permessi d'esecuzione allo script:{{{ chmod +x img2pdf |
Linea 37: | Linea 132: |
sostituendo la dicitura «`Risultato.pdf`» con il nome del file che si vuole creare. | 0. Creare la directory d'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> }}} == Utilizzo interfaccia grafica == === Impostazioni al primo avvio === 0. [[AmbienteGrafico/AvviareProgrammi|Avviare]] il programma '''Converseen'''. 0. Fare clic su '''File → settings''', nel menù a tendina selezionare '''Italiano''', premere '''Ok'''. 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'''. 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'''. Nella finestrella di controllo terminata la conversione fare clic su '''Chiudi'''. 0. Per chiudere il programma premere '''Ctrl+X'''. ||<tablestyle="text-align: justify; width:100%;" style="border:none;" 5%>{{attachment:Icone/Piccole/note.png}} ||<style="border:none;">''Le immagini convertite sono rese disponibili nella directory `/home/<nomeutente>/Immagini/Converseen`.''|| |
Linea 42: | Linea 167: |
*[[https://askubuntu.com/questions/1081895/trouble-with-batch-conversion-of-png-to-pdf-using-convert|Discussione su askubuntu.com]] |
Problemi in questa pagina? Segnalali in questa discussione
Introduzione
Questa guida illustra alcune procedure, da terminale e da interfaccia grafica, utili a convertire uno o più file di immagini in qualsiasi formato in un unico file .pdf.
Installazione
Se si utilizza Lubuntu è necessario Installare il pacchetto imagemagick.
In Ubuntu e nelle derivate ufficiali Imagemagick è preinstallato.
Configurazione
Aprire con un editor di testo e con i privilegi di amministrazione il file /etc/ImageMagick-6/policy.xml per i rilasci dal 16.04 in poi, o il file /etc/ImageMagick/policy.xml per i rilasci fino al 14.04.
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 spostandoli 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 es. png, jpeg, tiff..) 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 d'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.
Fare clic su File → settings, nel menù a tendina selezionare Italiano, premere Ok.
Scorrere il Pannello delle azioni fino a Opzioni di outputfare clic su […] e selezionare la directory Immagini.
Fare clic su Nuova cartella, digitare Converseen e fare clic su OK.
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. Nella finestrella di controllo terminata la conversione fare clic su Chiudi.
Per chiudere il programma premere Ctrl+X.
|
Le immagini convertite sono rese disponibili nella directory /home/<nomeutente>/Immagini/Converseen. |