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?

Was dit nuttig?

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:

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

Gelisensieer onder: CC-BY-SA met toeskrywing
Nie verbonde aan StackOverflow
scroll top