Kry 'n voorskou JPEG van 'n PDF op Windows?
Vra
Ek het 'n kruisplatform-toepassing (Python) wat 'n JPEG-voorskou van die eerste bladsy van 'n PDF moet genereer.
Op die Mac is ek besig om te spawn slukkies.Is daar iets soortgelyks eenvoudig wat ek op Windows kan doen?
Oplossing
ImageMagick delegeer in elk geval die PDF->bitmap-omskakeling na GhostScript, so hier is 'n opdrag wat jy kan gebruik (dit is gebaseer op die werklike opdrag wat deur die ps:alpha
afgevaardigde in ImageMagick, pas aangepas om JPEG as uitvoer te gebruik):
gs -q -dQUIET -dPARANOIDSAFER -dBATCH -dNOPAUSE -dNOPROMPT \
-dMaxBitmap=500000000 -dLastPage=1 -dAlignToPixels=0 -dGridFitTT=0 \
-sDEVICE=jpeg -dTextAlphaBits=4 -dGraphicsAlphaBits=4 -r72x72 \
-sOutputFile=$OUTPUT -f$INPUT
waar $OUTPUT
en $INPUT
is die uitvoer en invoer lêername.Pas die 72x72
tot watter resolusie jy ook al nodig het.(Natuurlik, stroop die agterste skuinstekens uit as jy die hele opdrag as een reël uitskryf.)
Dit is goed om twee redes:
- Jy hoef nie meer ImageMagick te hê geïnstalleer nie.Nie dat ek iets teen ImageMagick het nie (ek is mal daaroor), maar ek glo in eenvoudige oplossings.
- ImageMagick doen 'n tweestap-omskakeling.Eers PDF->PPM, dan PPM->JPEG.Op hierdie manier is die omskakeling een-stap.
Ander dinge om te oorweeg:met die lêers wat ek getoets het, komprimeer PNG beter as JPEG.As jy PNG wil gebruik, verander die -sDEVICE=jpeg
aan -sDEVICE=png16m
.
Ander wenke
U kan ImageMagick se omskakelingshulpmiddel hiervoor gebruik, sien 'n paar voorbeelde in http://studio.imagemagick.org/pipermail/magick-users/2002-May/002636.html :
Convert taxes.pdf taxes.jpg
Sal 'n PDF-lêer van twee bladsye omskep in [2] jpeg-lêers:belasting.jpg.0, belasting.jpg.1
Ek kan ook hierdie JPEGS omskakel na 'n duimnael soos volg:
convert -size 120x120 taxes.jpg.0 -geometry 120x120 +profile '*' thumbnail.jpg
Ek kan selfs die PDF direk omskakel na 'n jpeg-kleinkiekie soos volg:
convert -size 120x120 taxes.pdf -geometry 120x120 +profile '*' thumbnail.jpg
Dit sal lei tot 'n duimnael.jpg.0 en Thumbnail.jpg.1 vir die twee bladsye.
Is die rekenaar waarskynlik Acrobat geïnstalleer?Ek dink Acrobat installeer 'n dop-uitbreiding sodat voorskoue van die eerste bladsy van 'n PDF-dokument in Windows Explorer se duimnael-aansig verskyn.Jy kan self duimnaels kry via die IExtractImage COM API, wat jy sal moet toevou. VBAaccelerator het 'n voorbeeld in C# wat jy na Python kan oordra.