Python Baguette convertir les PDF en PNG désactiver transparent (alpha_channel)
Je suis en train de convertir un PDF en PNG - tout cela fonctionne très bien, cependant, l'image de sortie est encore transparent, même quand je crois que j'ai désactivé:
with Image(filename='sample.pdf', resolution=300) as img:
img.background_color = Color("white")
img.alpha_channel = False
img.save(filename='image.png')
Le produit ci-dessus les images, mais elles sont transparentes, j'ai aussi essayé la ci-dessous:
with Image(filename='sample.pdf', resolution=300, background=Color('white')) as img:
img.alpha_channel = False
img.save(filename='image.png')
qui produit cette erreur:
Traceback (most recent call last):
File "file_convert.py", line 20, in <module>
with Image(filename='sample.pdf', resolution=300, background=Color('white')) as img:
File "/Users/Frank/.virtualenvs/wand/lib/python2.7/site-packages/wand/image.py", line 1943, in __init__
raise TypeError("blank image parameters can't be used with image "
TypeError: blank image parameters can't be used with image opening parameters
Après avoir passé une demi-heure sur
wand
et ImageMagick, et toute la complexité nécessaire sur Windows, j'ai finalement utilisé un très court de solution à l'aide de pdftoppm
. Inspiré par le Comment convertir des PDF en Image?.
OriginalL'auteur Munro | 2015-01-07
Vous devez vous connecter pour publier un commentaire.
À partir d'un réponse précédente, essayez de créer une image vide avec une couleur d'arrière-plan, puis composite.
OriginalL'auteur emcconville
J'ai aussi eu des fichiers Pdf à convertir en PNG. Cela a fonctionné pour moi et semble plus simple que la composition des images, comme indiqué ci-dessus.:
Référence: la baguette magique.image
OriginalL'auteur Manuel Riel
De la compilation d'autres réponses, voici la fonction que j'utilise pour convertir un fichier PDF en pages:
OriginalL'auteur Thibaut Mattio
L'autre réponse (compositing avec une image blanche) fonctionne, mais seulement sur la dernière page, tout comme le réglage du canal alpha directement. La suite aux travaux sur la baguette 0.4.2:
Je pense que c'est probablement un bug dans la baguette. Il semble que le réglage du canal alpha pour un PDF devrait affectent toutes les pages, mais il ne le fait pas.
OriginalL'auteur RecursivelyIronic
Pour ceux qui sont encore avoir un problème avec cela, j'ai trouvé la solution (il travaille dans la version 0.4.1 et au-dessus, je ne suis pas sûr que les versions antérieures).
Donc, vous devriez utiliser quelque chose comme ceci:
OriginalL'auteur ands