Skip to main content
POST
/
convert
/
png
Convert to PNG
import requests

url = "https://api.pdfshift.io/v3/convert/png"

payload = { "source": "<string>" }
headers = {
    "X-API-Key": "<api-key>",
    "Content-Type": "application/json"
}

response = requests.post(url, json=payload, headers=headers)

print(response.text)
"<...PNG binary data...>"
This endpoint will convert an HTML document to a PNG image. You can specify additional options to customize the output image, such as capturing the full page, selecting specific elements using CSS selectors, or defining a clip region.
Only one of fullpage, css_selector, or clip can be set at a time.
Please note that the response from this endpoint will vary depending on some parameters.You can read more at Varying responses.

Authorizations

X-API-Key
string
header
required

Authenticate your account by including your secret key in API requests. You can manage your API keys in the Dashboard.

Authentication to the API is performed by using the HTTP Header X-API-Key.

Headers

X-Processor-Version
enum<string>

Specifies the Chromium version that will be used for the conversion. Right now, only "116" and "142" are accepted. All new users are automatically using the latest version.

Available options:
116,
142

Body

application/json
source
required

Original document to convert to PDF. PDFShift will automatically detect if it's an URL and load it, or an HTML document and charge it. You can also send an array of documents to convert if parallel conversions is enabled on your account. In that case, you will also need to provide the webhook parameters as this operation is asynchronous.

viewport
string
default:1280x1024

Default size of the rendering window. This will define the size of your image when using fullpage. Format in {width}x{height} (in pixels).

transparent
boolean
default:false

If set to true, the image will have a transparent background. Note: This option is only available when outputting PNG images.

fullpage
boolean
default:false

Capture the full scrollable page. Only one of fullpage, css_selector, or clip can be set.

css_selector
string

CSS selector for the element to capture. Only one of fullpage, css_selector, or clip can be set.

clip
object

Clip region to capture. Only one of fullpage, css_selector, or clip can be set.

quality
integer
default:80

Quality of the output image (only for JPEG, 10-100).

Required range: 10 <= x <= 100
dpi
enum<integer>
default:1

DPI scaling factor. Must be one of 1, 2, or 4.

Available options:
1,
2,
4
sandbox
boolean
default:false

Will generates documents that doesn't count in the credits. The generated document will come with a watermark and you are limited to 10 documents per minutes.

encode
boolean
default:false

Will return the generated PDF in Base64 encoded format, instead of raw.

filename
string

Name of the destination file. Only an alphanumerical value with "-" or "_", of at least 7 chars accepted.

If given, the response will not be the PDF, but a JSON response containing an url parameter to an Amazon S3 bucket, to download the file. The file will be kept for 2 days, then automatically deleted.

See Saving the document to Amazon S3 for an example.

s3_destination
string

Path to your S3 bucket, in order to save the converted PDF directly into your AWS S3 account. Use a full path value like s3://doc-example-bucket/pdfshift/upload/86aa3ede7d05.pdf.

See Saving to your Amazon S3 for more details.

use_print
boolean
default:false

Use the print stylesheet instead of the general one.

css
string

Will append this CSS styles to the document before saving it. Can be an URL or a String of CSS rules.

javascript
string

Will execute the given Javascript before saving the document. Can be an URL or a String of JS code.

delay
integer
default:0

In milliseconds. Will wait for this duration before capturing the document. Up to 10 seconds max.

Required range: 0 <= x <= 10000
timeout
integer

If provided, will kill the page loading at a specified time without stopping with a TimeoutError. Value in seconds.

Required range: 0 <= x <= 900
wait_for
string

Name of a function available globally. When present, PDFShift will wait for this function to return a truthy value (true, 1, a string, etc) or up to 30 seconds, then proceed to the conversion. If the function never returns a truthy value in the allocated time, the conversion will fail with an error.

wait_for_network
boolean
default:true

If set to true, will wait that there was no network requests in the last 500ms.

ignore_long_polling
boolean
default:false

Will not wait for long-polling request to end before generating the document. This can be helpful when loading a page that have websockets or long running queries that have no impact on the generated document. Requires wait_for_network to be set to true, otherwise the conversion never waits for network requests at all.

disable_javascript
boolean
default:false

Will not execute the javascript at all in the document.

lazy_load_images
boolean
default:false

When set to true, will scroll the page to the bottom to trigger loading the images with lazy loading before saving the document.

raise_for_status
boolean
default:false

Won't convert the document if the loaded source (when HTTP) returns a non 2XX response.

webhook

An URL where we will send a POST request containing a JSON body similar to when you use the filename parameter. The JSON response will contain a URL key that points to your file, stored on Amazon S3.

Note: When the conversion fail, we also do a POST request to your endpoint, but with an error key instead.

We recommend you to first check if the body contains the error before processing the document, and act accordingly.

auth
object

Basic authentication that will be sent along the request to load the source when it's an URL.

http_headers
object

List of HTTP headers that you can pass to the request when loading the source URL.

cookies
object[]

List of cookies you want to send along with the requests when loading the source. They must be provided as an array of objects.

is_hipaa
boolean
default:false

When set to True, ensure the conversion's parameters are compliant to HIPAA regulations. This will disable features such as filename or webhook when the s3_destination is managed by PDFShift, to avoid storing any sensitive documents on PDFShift's servers. See Handling sensitive documents for more details.

is_gdpr
boolean
default:false

When set to True, ensure the conversion's parameters are compliant to GDPR regulations. This will disable features such as filename or webhook when the s3_destination is managed by PDFShift, to avoid storing any sensitive documents on PDFShift's servers. See Handling sensitive documents for more details.

log_request
boolean
default:false

Log the request parameters. Useful for debugging purposes with PDFShift support.

Response

PNG file generated successfully

The response is of type file.