Ghostscript PDF - > La conversione TIFF è terribile per me, la gente ne è entusiasta, io da solo sembro cupo [chiuso]
-
03-07-2019 - |
Domanda
Il mio stomaco si agita quando vedo questo tipo di output.
http://www.freeimagehosting.net/uploads/e1097a5a10.jpg
e questo era il mio comando come suggerito da Il modo migliore per convertire file pdf in file tiff
gswin32c.exe -q -dNOPAUSE -sDEVICE=tiffg4 -sOutputFile=a.tif a.pdf -c quit
Cosa sto sbagliando?
(i prodotti commerciali non saranno considerati)
Soluzione
tiffg4 è un dispositivo di output in bianco e nero. Dovresti usare tiff24nc o tiff12nc come PDF a colori del dispositivo di output - vedi dispositivi di output ghostscript . Questi non saranno compressi ma potresti trasferire i TIFF risultanti tramite imagemagick o simili per salvare nuovamente come TIFF compresso.
Altri suggerimenti
Uso ImageMagick da un po 'di tempo. È uno strumento molto carino con molte funzionalità.
Installa ImageMagick ed esegui il comando seguente. Questo è quello che ho usato su Linux, potresti dover sostituire convert
con quello corretto.
Il comando seguente converte i PDF in CCITT Group 3 TIF standard (standard fax):
convert -define quantum:polarity=min-is-white \
-endian MSB \
-units PixelsPerInch \
-density 204x196 \
-monochrome \
-compress Fax \
-sample 1728 \
"input.pdf" "output.tif"
Inoltre puoi usare GraphicsMagick , è anche simile a ImageMagick, ma ImageMagick è più interessato alla qualità che alla velocità .
È abbastanza carino per un fax! ; -)
La risposta di Danio è probabilmente la migliore, se hai bisogno di una copia a colori.
Ho notato anche, dal thread collegato, che hai omesso di specificare DPI per l'output, quindi l'aspetto negativo ... Se hai bisogno di B & amp; W con dithering pura, dovresti usare una risoluzione più alta.
Ho anche ottenuto un'immagine di bell'aspetto usando NConvert
nconvert -page 1 -out tiff -dpi 200 -c 2 -o c.tif FMD.pdf
Lo menziono per la cronaca, perché penso che tu abbia bisogno di una licenza per ridistribuirla (altrimenti è gratuita per uso personale).
Grazie ragazzi questo è quello con cui sono finito
os.popen(' '.join([
self._ghostscriptPath + 'gswin32c.exe',
'-q',
'-dNOPAUSE',
'-dBATCH',
'-r800',
'-sDEVICE=tiffg4',
'-sPAPERSIZE=a4',
'-sOutputFile=%s %s' % (tifDest, pdfSource),
]))
Come altri post suggeriti, utilizzare un formato colore (ad esempio -sDEVICE = tiff24nc) e specificare una risoluzione più alta (ad esempio -r600x600):
gswin32c.exe -q -dNOPAUSE -r600 -sDEVICE=tiff24nc -sOutputFile=a.tif a.pdf -c quit
Il comando setori non specifica la risoluzione da utilizzare per l'output tiffg4 . La conseguenza è: Ghostscript utilizzerà l'impostazione predefinita per quell'output, che è 204x196 dpi.
Per aumentare la risoluzione a 600 dpi, aggiungere un parametro della riga di comando -r600
:
gswin32c.exe ^
-o output.tiff ^
-sDEVICE=tiffg4 ^
-r600 ^
input.pdf
Si noti inoltre che TIFFG4 è il formato fax standard e come tale utilizza solo nero + bianco / scala di grigi, ma nessun colore.
@jeff: hai mai provato il parametro -dDITHERPPI = < lpi >
con Ghostscript? (I valori ragionevoli per lpi sono da N / 5 a N / 20, dove N è la risoluzione in dpi. Quindi per -r600
usa provare con -dDITHERPPI = 30
in dDITHERPPI = 120
).
Ho riscontrato lo stesso problema con le pagine fax.
Stavo usando Imagick in php e questo comando ha corretto l'aspetto.
$Imagick->blackThresholdImage('grey');
Non ho visto alcuna opzione di soglia usando 'gs' ma convert potrebbe funzionare anche per te.
convert a.pdf -threshold 60% a.tif