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 37 (in 36 versioni)
Versione 1 del 22/01/2007 23.17.23
Dimensione: 1172
Commento:
Versione 37 del 28/01/2019 00.01.28
Dimensione: 6631
Autore: jeremie2
Commento: importata pagina da wilecoyote/Prova1
Le cancellazioni sono segnalate in questo modo. Le aggiunte sono segnalate in questo modo.
Linea 1: Linea 1:
## page was renamed from Multimedia/Grafica/ConvertireJpgInPdf
## page was renamed from ConvertireJpgInPdf
#format wiki
Linea 2: Linea 5:
[[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 9:
= Convertire più immagini JPEG in un unico documento PDF = = Introduzione =

Questa guida illustra le procedure utili a convertire uno o più file di immagini in qualsiasi formato in un unico file `.pdf`.

= Preparativi =

== Installazione ==

In Lubuntu è necessario preventivamente [[AmministrazioneSistema/InstallareProgrammi|Installare]] il pacchetto [[apt://imagemagick | imagemagick]].

Negli altri *buntu '''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:{{{
<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.

= Esecuzione =

||<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. 01.jpeg, 02.jpeg, 03.jpeg)}}} e spostandoli in una cartella dedicata. ||

== Tramite terminale ==

=== Usando comando ===

 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 alla dicitura «formato immagine» il formato dell'immagine, es. `png`, `jpeg`, `tiff`, ecc., e «Risultato.pdf» il nome del file che si vuole creare.

=== Usando script ===

Questo script è utile per mantenere le corrette proporzioni delle immagini, nel caso serva stamparle come formato `.pdf` su foglio di dimensioni A4.

 0. Aprire un [[Ufficio/EditorDiTesto|editor di testo]] e copiare 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
}}}
 0. Salvare col nome `img2pdf` e chiudere lo script.
 0. Dare i permessi d'esecuzione allo script:{{{
chmod +x img2pdf
}}}
 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>
}}}
Linea 8: Linea 149:
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. == Tramite interfaccia grafica ==
Linea 10: Linea 151:
== Installazione pacchetti ==
Saranno necessari i seguenti pacchetti: '''gs, pdftk'''
=== Impostazioni ===
Linea 13: Linea 153:
{{{
$ sudo apt-get install gs pdftk
}}}
Queste impostazioni sono da fare solo dopo il primo avvio, dai successivi rimangono memorizzate
Linea 17: Linea 155:
== Esecuzione comandi fondamentali ==  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''', fare clic su '''Nuova cartella''' e digitare '''Converseen''', fare clic su '''OK'''.
 0. Chiudere e riavviare '''Converseen'''.
Linea 19: Linea 160:
 * Converte tutti i file JPEG contenuti nella cartella in equivalenti in formato PDF
{{{
$ for i in *.jpg; do convert $i $i.pdf; done
}}}
 * 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
}}}
=== Utilizzo ===
Linea 28: Linea 162:
== 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
}}}
 0. Fare clic su '''Apri immagini''', selezionare la directory che contiene le immagini da convertire, 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'''.
<<BR>>
 Le immagini convertite sono rese disponibili nella directory `/home/<nomeutente>/Immagini/Converseen`.

= Ulteriori risorse =

 * [[http://www.imagemagick.org/script/index.php|Sito ufficiale di ImageMagick]]
Linea 35: Linea 175:
CategoryNuoviDocumenti CategoryNuoviDocumenti CategoryGrafica CategoryMultimedia


Problemi in questa pagina? Segnalali in questa discussione

Introduzione

Questa guida illustra le procedure utili a convertire uno o più file di immagini in qualsiasi formato in un unico file .pdf.

Preparativi

Installazione

In Lubuntu è necessario preventivamente Installare il pacchetto imagemagick.

Negli altri *buntu Imagemagick è preinstallato.

Configurazione

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

  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.

Esecuzione

Prima di seguire la procedura è consigliato ordinare i file di origine assegnando loro dei nomi numerici (es. 01.jpeg, 02.jpeg, 03.jpeg) e spostandoli in una cartella dedicata.

Tramite terminale

Usando comando

  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 alla dicitura «formato immagine» il formato dell'immagine, es. png, jpeg, tiff, ecc., e «Risultato.pdf» il nome del file che si vuole creare.

Usando script

Questo script è utile per mantenere le corrette proporzioni delle immagini, nel caso serva stamparle come formato .pdf su foglio di dimensioni A4.

  1. Aprire un editor di testo e copiare lo script:

    # 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 lo script.

  3. Dare i permessi d'esecuzione allo script:

    chmod +x img2pdf
  4. Creare la directory d'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>

Tramite interfaccia grafica

Impostazioni

Queste impostazioni sono da fare solo dopo il primo avvio, dai successivi rimangono memorizzate

  1. Avviare il programma Converseen.

  2. Fare clic su File → settings, nel menù a tendina selezionare Italiano, premere Ok.

  3. Scorrere il Pannello delle azioni fino a Opzioni di output, fare clic su […] e selezionare la directory Immagini, fare clic su Nuova cartella e digitare Converseen, fare clic su OK.

  4. Chiudere e riavviare Converseen.

Utilizzo

  1. Fare clic su Apri immagini, selezionare la directory che contiene le immagini da convertire, 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, nella finestrella di controllo terminata la conversione fare clic su Chiudi.

  5. Per chiudere il programma premere Ctrl+X.


  • Le immagini convertite sono rese disponibili nella directory /home/<nomeutente>/Immagini/Converseen.

Ulteriori risorse


CategoryGrafica CategoryMultimedia