2008-08-02 16 views

Odpowiedz

30

ImageMagick powierza PDF-> konwersji bitmap Ghostscriptowi tak, więc oto komendy można użyć (jest na podstawie rzeczywistej polecenia wymienione przez ps:alpha delegata w ImageMagick, tylko dostosowane do korzystania JPEG jako wyjście):

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 

gdzie $OUTPUT i $INPUT są wyjściowymi i wejściowymi nazwami plików. Dostosuj wartość 72x72 do dowolnej rozdzielczości. (Oczywiście, rozebrać się z backslashy jeśli piszesz z całą komendę w jednej linii).

To jest dobre dla dwóch powodów:

  1. Nie trzeba mieć zainstalowany ImageMagick już. Nie, żebym miał coś przeciwko ImageMagick (uwielbiam to na kawałki), ale wierzę w proste rozwiązania.
  2. ImageMagick wykonuje konwersję dwuetapową. Pierwszy plik PDF-> PPM, a następnie PPM-> JPEG. W ten sposób konwersja jest jednoetapowa.

Inne rzeczy do rozważenia: z przetestowanymi plikami PNG kompresuje się lepiej niż JPEG. Jeśli chcesz użyć formatu PNG, zmień wartość -sDEVICE=jpeg na -sDEVICE=png16m.

11

Można użyć narzędzia convert ImageMagick za to, patrz przykłady w http://studio.imagemagick.org/pipermail/magick-users/2002-May/002636.html :

Convert taxes.pdf taxes.jpg 

przekonwertuje dwie strony pliku PDF do [2] plików JPEG: taxes.jpg.0, taxes.jpg.1

mogę również przekonwertować te pliki JPEG do miniaturki następująco:

convert -size 120x120 taxes.jpg.0 -geometry 120x120 +profile '*' thumbnail.jpg 

mogę nawet konwertować pliki PDF bezpośrednio do miniaturki jpeg następująco:

convert -size 120x120 taxes.pdf -geometry 120x120 +profile '*' thumbnail.jpg 

To spowoduje thumbnail.jpg.0 i thumbnail.jpg.1 dla dwóch stronach.

3

Czy na komputerze PC może być zainstalowany program Acrobat? Wydaje mi się, że Acrobat instaluje rozszerzenie powłoki, więc podglądy pierwszej strony dokumentu PDF pojawiają się w widoku miniaturek Eksploratora Windows. Możesz uzyskać miniatury za pomocą interfejsu API IExtractImage COM, które musisz zawijać. VBAccelerator has an example in C#, które można przesłać do Pythona.

Powiązane problemy