Wiki Ubuntu-it

Indice
Partecipa
FAQ
Wiki Blog
------------------
Ubuntu-it.org
Forum
Chiedi
Chat
Cerca
Planet
  • Pagina non alterabile
  • Informazioni
  • Allegati
  • Differenze per "Grafica/ConvertireImmaginiInPdf"
Differenze tra le versioni 1 e 44 (in 43 versioni)
Versione 1 del 22/01/2007 23.17.23
Dimensione: 1172
Commento:
Versione 44 del 04/08/2019 20.57.11
Dimensione: 7360
Commento:
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="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


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

  1. 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

  2. Cercare la riga:

    <policy domain="coder" rights="none" pattern="PDF" />
  3. Modificare la riga in:

     <!--policy domain="coder" rights="none" pattern="PDF" /-->
  4. 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

  1. Avviare il terminale.

  2. Spostarsi nella directory che contiene le immagini da convertire.

  3. 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.

  1. 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
  2. Salvare col nome img2pdf e chiudere il file.

  3. Dare i permessi d'esecuzione allo script:

    chmod +x img2pdf
  4. Creare la directory di allocazione:

    sudo mkdir -p /usr/local/bin
  5. Copiare il file nella directory creata digitando il comando:

    sudo cp img2pdf /usr/local/bin/
  6. 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

  1. Avviare il programma Converseen.

  2. 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.

  3. Scorrere il Pannello delle azioni fino a Opzioni di output fare clic su […] e selezionare la directory Immagini.

  4. 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

  1. Fare clic su Apri immagini, selezionare la directory che contiene le immagini da convertire e selezionare tutto il contenuto.

  2. Spuntare nella finestra le immagini da convertire, oppure in alto fare clic sull'icona Spunta tutto.

  3. Impostare sotto la finestra nel menù a tendina Converti in: PDF - (Portable Document Format).

  4. Fare clic sull'icona Converti.

  5. Terminata la conversione, fare clic su Chiudi nella finestrella di controllo.

  6. 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).

Ulteriori risorse


CategoryGrafica CategoryMultimedia