2012-10-06 7 views
8

Potrzebuję stworzyć miniatury plików pdf i używam Imagemagick, aby to osiągnąć.Python Magickwand pdf to image konwersja i zmiana rozmiaru obrazu

Próbowałem Pythonmagick i różdżki, aby przekonwertować pdf na obraz. Jednak gdy próbuję zmienić rozmiar przekonwertowanego pliku PDF, wynikowy obraz staje się czarny.

Czy istnieje opcja ustawienia -define pdf:use-cropbox=true przy użyciu pakowania python?

Czy w Pythonie jest jakakolwiek inna metoda konwersji pliku PDF na miniaturę?

Kod jest w następujący sposób:

import wand 
    img = wand.image.Image(filename="d:\\test.pdf[0]") 
    img.resize(160,160) 
    img.save(filename="d:\\test.jpg") 

Odpowiedz

5

znalazłem pracę wokół tego problemu. Konwertuj pdf na obraz 1. i zapisz obraz. otwórz nowo zapisany obraz i zmień jego rozmiar.

import wand 
img = wand.image.Image(filename="d:\\test.pdf[0]") 
img.save(filename="d:\\temp.jpg") 
img = wand.image.Image(filename="d:\\temp.jpg") 
img.resize(160,160) 
img.save(filename="d:\\resized_image.jpg") 

Wciąż czekam na lepszą odpowiedź.

+0

Sugerowałbym, że oszczędność pośredni do „d: \\ temp.jpg” stosowany format bezstratnej, tak aby nie wprowadzać żadnych dodatkowych artefaktów kompresji do ostatecznego obrazu . – awatts

0

Możesz to zrobić bez używania plików tymczasowych - jeśli nie polegasz na JPG.

następujące prace dla mnie:

import wand 
img=wand.image.Image(filename="/home/vagrant/tmp/wand/law.pdf[0]") 
img.format='png' 
img.resize(220,220) 
img.save(filename="/home/vagrant/tmp/wand/law_2.png") 
Powiązane problemy