Moderatore: Gruppo Documentazione
Eliminazione di tutte le restrizioni sull'utilizzo
Per gli utenti desktop che non eseguono un server web, è sufficiente eliminare queste restrizioni. A tale scopo, si può cancellare il file, ma è meglio "spostare il file" rinominandolo. Con questo comando, stai rinominando il file. Di conseguenza, tutte le politiche vengono rimosse, ma è comunque possibile ripristinare, se necessario:
- Codice: Seleziona tutto
sudo mv /etc/ImageMagick-6/policy.xml /etc/ImageMagick-6/policy.xmlout
Per ripristinare la situazione originale, basta rinominare il nome originale:
- Codice: Seleziona tutto
sudo mv /etc/ImageMagick-6/policy.xmlout /etc/ImageMagick-6/policy.xml
Marilù3 ha scritto:Perfetto!
Nelle ulteriori risorse ci aggiungerei il link
https://askubuntu.com/questions/1081895 ... ng-convert
#!/bin/sh
convert "$1" "${1%\.jpg}.pdf"
convert immagineStrana.jpg -page A4 immagineA4.pdf
#!/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
img2pdf *.jpg
img2pdf /percorso/di/immagine.png /percorso/de/immag.jpg # e così via
sudo mkdir -p /usr/local/bin
sudo cp img2pdf /usr/local/bin/
dato che l'operazione da eseguire è sempre la stessa non è il caso di ripetere per due volte tutti e quattro i punti: meno si scrive meglio si leggewilecoyote ha scritto: Differenziato la path in cui correggere le policy di Imagemagick per 14.04.
Non è raro che le immagini da convertire siano più di 9; in quel caso senza lo zero iniziale sarebbero elaborate nell'ordine 1, 10, 2, 3, ...In Esecuzione
Per essere certi che l'ordinamento dei file sia corretto io scriverei:
... assegnando loro dei nomi numerici (es. 01.jpeg, 02.jpeg, 03.jpeg) e spostandoli in una cartella dedicata.
Visualizzano questa sezione: 0 utenti registrati e 10 ospiti