import requests
url = "https://api.pdfshift.io/v3/convert/pdf"
payload = { "source": "<string>" }
headers = {
"X-API-Key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)"<...PDF binary data...>"import requests
url = "https://api.pdfshift.io/v3/convert/pdf"
payload = { "source": "<string>" }
headers = {
"X-API-Key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)"<...PDF binary data...>"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.
116, 142 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.
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.
Will return the generated PDF in Base64 encoded format, instead of raw.
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.
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 the print stylesheet instead of the general one.
Will append this CSS styles to the document before saving it. Can be an URL or a String of CSS rules.
Will execute the given Javascript before saving the document. Can be an URL or a String of JS code.
In milliseconds. Will wait for this duration before capturing the document. Up to 10 seconds max.
0 <= x <= 10000If provided, will kill the page loading at a specified time without stopping with a TimeoutError. Value in seconds.
0 <= x <= 900Name 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.
If set to true, will wait that there was no network requests in the last 500ms.
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.
Will not execute the javascript at all in the document.
When set to true, will scroll the page to the bottom to trigger loading the images with lazy loading before saving the document.
Won't convert the document if the loaded source (when HTTP) returns a non 2XX response.
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.
Show child attributes
Basic authentication that will be sent along the request to load the source when it's an URL.
Show child attributes
List of HTTP headers that you can pass to the request when loading the source URL.
Show child attributes
List of cookies you want to send along with the requests when loading the source. They must be provided as an array of objects.
Show child attributes
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.
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 the request parameters. Useful for debugging purposes with PDFShift support.
Will set the view in landscape mode instead of portrait.
Format of the document.
You can either use the standard values (Letter, Legal, Tabloid, Ledger, A0, A1, A2, A3, A4, A5) or a custom {width}x{height} value.
For {width} and {height}, you can indicate the following units: in, cm, mm.
. The {height} value can be replaced by auto to automatically adjust the height to the content. For instance, pasing the format 1024xauto will set the page width to 1024px and the height to the content height.
The final document will not have the background images.
Will analyze the last page of the document. If no content is present in it, the page will be removed. But note that if there are remaining hidden data, header or footer that have been pushed to that page, the page will be kept.
Pages to print. Can be one number (3), a range (1-5), a list (4,5,6) or a combination of both (1-3,6,7).
If the number is higher than the real number of pages, that number will be ignored.
A value between 0.1 and 2. Allows you to increase the zoom in the document for specific purposes. 1 is the default zoom, lower is smaller, higher is bigger.
0.1 <= x <= 2Defines a custom header.
Note: The footer and header are Independent from the rest of the document.
As such, the CSS style defined in your body won't apply on your header/footer. To style your header/footer, you need to set a specific style either using
See the Header/Footer section for more details.
Show child attributes
{
"source": "<div style=\"font-size:12px;\">Header Example</div>",
"height": "48",
"start_at": 1
}Defines a custom header.
Note: The footer and header are Independent from the rest of the document.
As such, the CSS style defined in your body won't apply on your header/footer. To style your header/footer, you need to set a specific style either using
See the Header/Footer section for more details.
Show child attributes
{
"source": "<div style=\"font-size:12px;\">Footer Example</div>",
"height": "48",
"start_at": 1
}Allows you to add custom metadata to the generated PDF document. The following metadata are reserved and thus not accepted: 'author_raw', 'creator_raw', 'producer', 'producer_raw', 'subject_raw', 'title_raw'.
Show child attributes
{
"author": "John Doe",
"title": "Sample PDF Document",
"subject": "Demonstration of PDFShift Capabilities",
"keywords": "PDF, API, PDFShift, Example"
}Will add restrictions on the PDF document.
Note: Some PDF Reader don't make the distinction between user and owner in a PDF Document. This means that when the user password has been entered, some PDF reader ignore the restrictions (no print, no copy, etc).
So, setting a blank password for the user is similar to no security.
See the Protection section for more details.
Show child attributes
PDF file generated successfully
The response is of type file.