Forum Informatica Libera
[ Risolto] Conversione gruppi di immagini con ImageMagick - Versione stampabile

+- Forum Informatica Libera (https://www.ergosumracalmuto.org/informaticalibera/forum)
+-- Forum: Software (https://www.ergosumracalmuto.org/informaticalibera/forum/forumdisplay.php?fid=11)
+--- Forum: Ufficio ed Internet (https://www.ergosumracalmuto.org/informaticalibera/forum/forumdisplay.php?fid=12)
+--- Discussione: [ Risolto] Conversione gruppi di immagini con ImageMagick (/showthread.php?tid=586)



[ Risolto] Conversione gruppi di immagini con ImageMagick - gfast - 02/06/2020

Mi ritrovo spesso cartelle di immagini di vario formato- png, jpg, gif. etc.-, prese da articoli, saggi, libri, che poi devo convertire e trasformare in pdf unici da poter leggere più agevolmente.
Per farlo uso diversi programmi- libreoffice, nuance omnipage, pdf24, stampa virtuale, masterpdf- ognuno dei quali richiede un certo numero di passaggi e impiego di risorse. Se le immagini sono in numero consistente diventa necessario poter usare un metodo il più economico possibile, per risparmiare tempo e lavoro.

Oggi mi sono ricordato di un metodo che ho usato negli anni scorsi per ottenere il risultato con un solo comando, quello di convert in Imagemagick, dato in riga di comando dalla rispettiva cartella di immagini. Mi sono accorto che, rispetto alle versioni precedenti di imagemagick, l'operazione richiede alucni passaggi preliminari, per rendere effettiva la conversione. Il comando è il seguente


Codice:
convert `ls -v {1..n}.png 2>/dev/null` out.pdf


Prima di usarlo però è necessario modificare il file /etc/ImageMagick-6/policy.xml alla riga
 
<policy domain="coder" rights="none" pattern="PDF" /> 

che va modificata con leafpad per ottenere

<!--policy domain="coder" rights="none" pattern="PDF" /-->

Salvato e chiuso quel file, il comando potrà dare il pdf desiderato.

Ora provando a usare lo stesso comando in un'altra cartella di immagini, stavolta in formato jpg ( jpeg), non ho avuto il risultato sperato. Presumo si debba fare qualche altra modifica a quel file, o a qualche altro, ma non so quale.


RE: Conversione gruppi di immagini con ImageMagick - stonehenge - 02/06/2020

Ciao

Secondo me la cosa è più semplice cosi:

Crei una cartella e ci butti dentro tutte le immagini in un determinato formato

Poi apri un terminale dentro la cartella tasto destro "apri nel terminale" 
dai il comando







Codice:
convert *.png outputfile.pdf    -----------------Se sono png
convert *.jpg outputfile.pdf    -----------------Se sono jpg
ecc
se le rinomini 1,2,3 ecc ti appariranno in ordine nel pdf in caso contrario il comando andra in ordine alfabetico.

Ps. io non ho modificato niente di nessun programma.




Pss. naturalmente il programma ImageMagick deve essere installato nel sistema.



-------------------------------


il tuo file forse dovra essere modificato cosi convert `ls -v {1..n}.jpg 2>/dev/null` out.pdf


RE: Conversione gruppi di immagini con ImageMagick - dxgiusti - 02/06/2020

D-BARTO: quello che dici è molto semplice però tutte le immagini convertite saranno dentro un unico file.

ora bisognerebbe sapere se gfast vuole un unico file oppure tutti file singoli, se gli va bene mantenere la stessa dimensione oppure vuole cambiarla.
io con >> Converseen faccio tutto con un click ovviamente dopo averlo impostato. anche se sono formati diversi tra loro.

se vuoi fare una prova, metti in una cartella varie immagini in vari formati. ora apri il terminale nella stessa cartella e scrivi ( magari copia/incolla ):
Codice:
for f in *.jpg *.png *.tga; do
  convert ./"$f" ./"${f%.jpg}.pdf"
done
io ho messo i tre formati ma tu puoi aggiungerne altri, esempio >>> jpeg oppure eliminare quello che non ti interessa.
incolla il comando proprio come è scritto come fosse un file.sh ( non serve specificarlo )

altro comando ( sempre per fare una prova ):
Codice:
mogrify -format pdf -- *.jpg *.png *jpeg *.tiff *.tga
tu metti pure solo le estensioni da convertire.


RE: Conversione gruppi di immagini con ImageMagick - stonehenge - 02/06/2020

Lui dice
Citazione:trasformare in pdf unici da poter leggere più agevolmente.
ma il tuo comando è ottimo per creare singole immagini in pdf (o di qualsiasi estenzione, se le vogliamo tutte .jpg basta cambiare l'ultimo parametro)   .pdf "; done in .jpg"; done


RE: Conversione gruppi di immagini con ImageMagick - gfast - 02/06/2020

ciao! grazie!!
Chiedevo: da una cartella di n immagini in un certo formato, già numerate in ordine lineare progressivo, ricavare un unico file pdf, che naturalmente segua lo stesso ordine.
I comandi di D-BARTO hanno funzionato. Ma provando in una cartella di 650 immagini jpg, numerate da 0001 a 0660 (c'è qualche buco perché non avevo copiato alcune pagine bianche o inutili del libro) mi ha prodotto un pdf che si è fermato a 520 pagine, perché, dice:

convert-im6.q16: DistributedPixelCache '127.0.0.1' @ error/distribute-cache.c/ConnectPixelCacheServer/244.
convert-im6.q16: cache resources exhausted `laquestdellave0000dran_0526.jp2&scale=5.jpg' @ error/cache.c/OpenPixelCache/3984.
convert-im6.q16: DistributedPixelCache '127.0.0.1' @ error/distribute-cache.c/ConnectPixelCacheServer/244.

Probabilmente dovrei ampliare la capienza della cache del programma? O cosa? E come? Per evitare altri tentativi abortiti o incompiuti, con proliferazione di file, aspetto qualche altro vostro suggerimento.
p.s. @D-Barto ... il tentativo col comando modificato come dicevi l'avevo già fatto senza riuscita. Forse perché il programma anticipa in automatico l'incapacità della cache?

edit1: Come pensavo, per mettere a disposizione del programma uno spazio maggiore andava modificata un'altra riga di quello stesso file che avevo modificato nel primo post (/etc/ImageMagick-6/policy.xml), cioè la riga:

<policy domain="resource" name="disk" value="1GiB"/>

portandone il valore da 1GiB a 5GiB. Anche la modifica fatta nel primo post va mantenuta, altrimenti il comando non viene autorizzato.
Fatte queste modifiche e ridato il comando- quello di D-BARTO- esso ha funzionato.
Ringrazio ancora sia D-BARTO che dxgiusti per le indicazioni datemi.. potranno tutte tornare utili per le tante varie operazioni richieste dai miei traffici infiniti con libri, pagine, formati, etc..


RE: [ Risolto] Conversione gruppi di immagini con ImageMagick - RobertoThai - 03/06/2020

Ho utilizzato i comandi indicati da dxgiusti e D-BARTO, le conversioni avvengono con successo con tutti i comandi, però c'è una piccola perdita di qualità che si ripete uguale indipendentemente dal comando dato. E' normale?
Uso Ubuntu 14.04

Un saluto a tutto il forum


RE: [ Risolto] Conversione gruppi di immagini con ImageMagick - stonehenge - 03/06/2020

Credo che ci sia della perdità si qualità anche perchè un pdf non è proprio un estensione dedicata alle foto.
Per il mio comando comunque ho trovato queste opzioni da aggiungere
Codice:
convert *.jpg -quality 100 -units PixelsPerInch -density 72x72 output.pdf    ------(da jpg a pdf)

 Conversione to PDF
migliore è l'immagine di partenza maggiore sarà la resa.

Ps.Io però non ho l'occhio clinico aspetto un tuo parere Roberto
(secondo me qualcosa in più si ottiene)