openapi: 3.0.3
info:
title: PDFShift API Documentation account Convert API
version: '3.0'
description: 'This is the documentation for the PDFShift API.
Our aim here is to provide you with a clear, concise and complete set of tool to generate the PDF you want.
Don''t forget to add the `sandbox` parameter to `True` while testing the API, this won''t use your credits and generate free PDF (with a watermark).
But if you forgot to set it, don''t worry ; Send us a message and we''ll reset your credits usage.'
termsOfService: https://pdfshift.io/terms
contact:
name: PDFShift
url: https://pdfshift.io
email: support@pdfshift.io
x-logo:
url: https://pdfshift.io/images/favicons/android-chrome-512x512.png
servers:
- url: https://api.pdfshift.io/v3
description: ''
x-last-modified: 1764750693905
security:
- apiKeyHeader: []
tags:
- name: Convert
paths:
/convert/pdf:
post:
tags:
- Convert
summary: Convert to PDF
x-mint:
content: 'Convert a given HTML document to a PDF file.
You can provide the HTML source directly, or a URL to fetch it from.
Numerous options are available to customize the generated PDF document.
Please note that the response from this endpoint will vary depending on some parameters.
You can read more at [Varying responses](/docs/varying-responses).
'
parameters:
- name: X-Processor-Version
in: header
description: '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.'
required: false
schema:
type: string
enum:
- '116'
- '142'
requestBody:
required: true
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/ConvertForm'
- type: object
properties:
landscape:
type: boolean
default: false
description: Will set the view in landscape mode instead of portrait.
format:
type: string
default: A4
description: '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.'
disable_backgrounds:
type: boolean
default: false
description: The final document will not have the background images.
remove_blank:
type: boolean
default: false
description: 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:
type: string
default: null
description: '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.'
zoom:
type: number
minimum: 0.1
maximum: 2
default: 1
description: '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.'
margin:
oneOf:
- $ref: '#/components/schemas/MarginForm'
- type: string
- type: integer
default: null
description: Empty spaces between the outer and the beginning of the content. See the [Margin](/docs/margin) section for more details.
header:
$ref: '#/components/schemas/CustomHeaderFooter'
description: '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