Rafas
Rafas

Reputation: 103

How can I convert a PDF to an image using Python?

So I'm using Wand to try to convert the PDF to an image

from wand.image import Image

with Image(filename="test.pdf") as img:
     img.save(filename="/temp.jpg")

with Image(filename="test.jpg") as img:
     img.resize(200, 150)
     img.save(filename="t.jpg")

but for some reason i get:

Traceback (most recent call last):
  File "C:\Users\Rafael\Desktop\k\pdf to image.py", line 3, in <module>
    with Image(filename="test.pdf") as img:
  File "C:\Python27\lib\site-packages\wand\image.py", line 2534, in __init__
    self.read(filename=filename, resolution=resolution)
  File "C:\Python27\lib\site-packages\wand\image.py", line 2601, in read
    self.raise_exception()
  File "C:\Python27\lib\site-packages\wand\resource.py", line 222, in raise_exception
    raise e
DelegateError: PDFDelegateFailed `The system cannot find the file specified.

' @ error/pdf.c/ReadPDFImage/798

Can i do something or is there another way to convert a pdf to an image?

Upvotes: 5

Views: 10625

Answers (4)

Martin Thoma
Martin Thoma

Reputation: 136359

My favorite way to do this is using PyMuPDF

Install package

pip install PyMuPDF

Usage

import fitz  # installed via pymupdf!

# To get higher resolution
zoom_x = 2.0
zoom_y = 2.0
matrix = fitz.Matrix(zoom_x, zoom_y)

doc = fitz.open("becomes-black.pdf")
for page in doc:
    pix = page.get_pixmap(matrix=matrix)
    pix.save(f"page-{page.number}.png")

Upvotes: 1

zuozuoxiong
zuozuoxiong

Reputation: 71

There is another way. Looks like you are using windows so you need download "https://github.com/oschwartz10612/poppler-windows/releases/" Because you are using Windows,so you need to state the path to poppler/bin folder: code:

from pdf2image import convert_from_path

poppler_path = "C:\path\to\poppler\bin"

images = convert_from_path('example.pdf')

for i in range(len(images)):

  
    images[i].save('page'+ str(i) +'.jpg', 'JPEG')

reference : https://www.geeksforgeeks.org/convert-pdf-to-image-using-python/

Upvotes: 0

Abhishek Jain
Abhishek Jain

Reputation: 4199

Installing Ghostscript and adding

C:\Program Files (x86)\gs\gs9.06\bin

to your systempath should help to resolve this issue as it helped me to overcome this error....

Upvotes: 2

Peter Clause
Peter Clause

Reputation: 1141

The reason may be a missing ghostscript installation. This is a similar question on SO

Upvotes: 1

Related Questions