How to Convert PDF to BMP with Python

Learn how to convert PDF pages to BMP images using pdfRest PDF to Images API Tool with Python
Share this page

Why Convert PDF to BMP with Python?

The pdfRest PDF to Images API Tool provides a convenient way to convert PDF documents into image files programmatically. This tool is especially useful when you need to extract visual content from PDFs for use in web services, content management systems, or for further image processing tasks.

For example, a user might need to convert a PDF brochure into image files to embed them on a website or to create thumbnails for a document management system.

Convert PDF to BMP with Python Code Example

from requests_toolbelt import MultipartEncoder
import requests
import json

bmp_endpoint_url = 'https://api.pdfrest.com/bmp'

# The /bmp endpoint can take a single PDF file or id as input and turn them into BMP image files.
# This sample takes in a PDF and converts all pages into grayscale BMP files.
mp_encoder_bmp = MultipartEncoder(
    fields={
        'file': ('file_name.pdf', open('/path/to/file', 'rb'), 'application/pdf'),
        'pages': '1-last',
        'resolution': '600',
        'color_model': 'gray',
        'output' : 'example_bmp_out',
    }
)

# Let's set the headers that the bmp endpoint expects.
# Since MultipartEncoder is used, the 'Content-Type' header gets set to 'multipart/form-data' via the content_type attribute below.
headers = {
    'Accept': 'application/json',
    'Content-Type': mp_encoder_bmp.content_type,
    'Api-Key': 'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx' # place your api key here
}

print("Sending POST request to bmp endpoint...")
response = requests.post(bmp_endpoint_url, data=mp_encoder_bmp, headers=headers)

print("Response status code: " + str(response.status_code))

if response.ok:
    response_json = response.json()
    print(json.dumps(response_json, indent = 2))
else:
    print(response.text)

# If you would like to download the file instead of getting the JSON response, please see the 'get-resource-id-endpoint.py' sample.

Source: GitHub

Breaking Down the Code

This code snippet demonstrates how to use the pdfRest API to convert a PDF file into BMP images using Python:

  • requests_toolbelt and requests libraries are used to construct and send the HTTP request.
  • MultipartEncoder is utilized to encode the files and parameters for the POST request.
  • The fields dictionary includes all the parameters for the API request:
    • 'file': The PDF file to be converted. Replace '/path/to/file' with the actual file path.
    • 'pages': Defines the pages to convert. '1-last' means all pages.
    • 'resolution': The resolution in DPI for the output images.
    • 'color_model': Specifies the color model, 'gray' for grayscale images.
    • 'output': The base name for the output files.
  • Headers are set to accept JSON responses and include the API key for authentication.
  • The POST request is sent to the /bmp endpoint, and the response is handled accordingly.

Beyond the Tutorial

By following this tutorial, you've learned how to send an API call to the pdfRest PDF to Images API to convert a PDF into BMP images. You can now apply this knowledge to integrate PDF conversion features into your applications or workflows.

Feel free to demo all of the pdfRest API Tools in the API Lab and refer to the API Reference documentation for more information.

Note: This is an example of a multipart API call. Code samples using JSON payloads can be found at GitHub.

Generate a self-service API Key now!
Create your FREE API Key to start processing PDFs in seconds, only possible with pdfRest.