Link Search Menu Expand Document

PDF.co API v.1.00

NOTE: This documentation applies to both PDF.co and its on-prem version called ByteScout API Server. Remarks in the documentation highlight a difference between on-prem and cloud versions if any.

PDF.co API Benefits

  • Security: PDF.co API runs on the secure and certified Amazon AWS infrastructure. All data transfers are encrypted by SSL/TLS encryption. See the security page for more details. On-prem version can run on any hosting provider and cloud storage of your choice.
  • Asynchronous mode is supported so you can process large files and documents with hundreds of pages in the cloud.
  • Battle tested by thousands of production users. Our engines are tested in production by thousands of enterprise users.
  • Credits based system. For every page/image or a single call processed credits are reduced on your account. You can purchase credits with one-time payments or subscribe for monthly credits. You can check how many credits are left using credits property in output or and remainingCredits property to check how many credits are left. For details please explore your API logs.
  • On-Prem API Server and On-Prem SDK are also available. Enterprise users may easily switch to ByteScout API Server that provides similar API interface and install it on their own server. Contact support for more information about on-prem version.

Not a developer? Use PDF.co via No-Code, Business Automation and RPA platforms integrations

You can use PDF.co on popular platforms including:

Known Issues

Source Code Samples

We have hundreds of ready to copy-paste source code samples!

Explore Hundreds of Source Code Sample Apps on Github. Samples apps are available for Javascript, Node.js, PHP, Java, C#, Visual Basic, ASP.NET, Powershell, CLI and others!

Contact Tech Support

Our team of engineers is happy to help with the integration, coding of proof of concept projects and any other questions. To contact us please:

Technical Notes

How to upload files to API

  1. Request a temporary URL for upload using /file/upload/get-presigned-url. This will return JSON with presignedUrl property that contains a link you should upload into using PUT and url property that contains a link to the uploaded file.
  2. Upload your file using PUT to this presignedUrl link generated on the previous step. Once finished, your file can be accessed using the link from url link from the step 1
  3. Congrats! Now you can access your uploaded file using that link from url param from step 1. Now you can call any API method with your link set as url param.

Security Note: Uploaded files are auto-removed within 60 minutes by default. You can also remove your file earlier using /file/delete endpoint.

On-Prem Version only: Depending on your settings, your files are stored on your server or in the cloud storage of your choice or on your file server. If you use cloud storage (like AWS S3) then you need to set up an auto-removal policy for uploaded files or remove files using /file/delete endpoint.

How to run a background job

We’ve designed a special async mode that is available for almost all endpoints. If your call takes more than 25 seconds then you need to run it as a background job that can work for up to 15-20 minutes and can process large documents and files.

When you set async param to true, your call returns jobId param containing unique ID of your background job. Use /job/check to read a background job status to find when your output file is ready for download.

Step by step:

  1. Add the async parameter and set it to true. 2 Enable async mode by setting async input parameter to true. This will tell API method to create background job and immediately return unique id of this new background job in jobId property in the output along with the final url. Use this url to access the output file (if any) once the job is finished.
  2. Now check the status of that new background job using /job/check with jobId parameter set to the jobId value from the previous step. Repeat and check until it returns status as success. Recommended interval for checking is 1-2 seconds for small documents and 10-15 seconds for large documents.

Status Errors Returned by API

API returns https status but also returns JSON that includes status parameter indicating error.

Status valueDescription
200The request has succeeded
400bad input parameters
401unauthorized
402not enough credits
403forbidden (source file or url is not accessible)
408Timeout error. To process large documents or files please use asynchronous mode ( set async parameter to true) and then check the status using /job/check endpoint. If file contains many pages then specify a page range using pages parameter. The number of pages of the document can be obtained using the endpoint /pdf/info

! Don’t forget to set x-api-key url param or http header param (preferred) to API key. Get your API key here

Indices


01. Document Parser

Document Parser automatically extracts fields, tables, values from invoices, statements, orders and other PDF and scanned documents.

Built-in templates:

  • Invoices (currently, English language only) can be parsed by the built-in template 1 (set the templateId param to 1).

Helper tools:

Some Sample Templates

Simple templates (extracting data from fixed coordinates) can be easily created with Document Parser template editor

Complex templates are also supported. You can edit them using the editor and also can edit manually.

Sample PDF document: PDF document with tables and multiple pages

Below is the template that demonstrates parsing of multi-page table using only regular expressions for the table start, end, and rows. If regular expression cannot be used for every table row (for example, if the table contains empty cells), try the second template below (MultiPageTable-template2) showcasing another approach.

MultipageTable-template1.json:

{
  "templateVersion": 3,
  "templatePriority": 0,
  "sourceId": "Multipage Table Test",
  "detectionRules": {
    "keywords": []
  },
  "fields": {
    "total": {
      "type": "regex",
      "expression": "TOTAL {{DECIMAL}}",
      "dataType": "decimal"
    }
  },
  "tables": [
    {
      "name": "table1",
      "start": {
        "expression": "Item\\s+Description\\s+Price\\s+Qty\\s+Extended Price"
      },
      "end": {
        "expression": "TOTAL\\s+\\d+\\.\\d\\d"
      },
      "row": {
        "expression": "^\\s*(?<itemNo>\\d+)\\s+(?<description>.+?)\\s+(?<price>\\d+\\.\\d\\d)\\s+(?<qty>\\d+)\\s+(?<extPrice>\\d+\\.\\d\\d)"
      },
      "columns": [
        {
          "name": "itemNo",
          "type": "integer"
        },
        {
          "name": "description",
          "type": "string"
        },
        {
          "name": "price",
          "type": "decimal"
        },
        {
          "name": "qty",
          "type": "integer"
        },
        {
          "name": "extPrice",
          "type": "decimal"
        }
      ],
      "multipage": true
    }
  ]
}

NOTE: put this template code into the template param as string. You can also just add this template into your templates and reference to it using templateId param.

1. /pdf/documentparser (output as CSV)

Description: Gets data from documents using a data extraction template. With this API method you may extract data from custom areas, by search, form fields, tables, multiple pages and more!

Additional tools and guides:

  • Document Parser Template Editor
  • Template Manual Coding Guide

  • url required. URL to the source file. Supports links from Google Drive, Dropbox and from built-in PDF.co files storage. For uploading files via API please check Files Upload section.
  • templateId. required. Sets Id of document parser template to be used. View and manage your templates at https://app.pdf.co/document-parser
  • template. optional. You can pass code of document parser template to be used directly.
  • inline. optional. Set to true to return results inside the response. Otherwise endpoint will return a link to output file generated.
  • outputFormat. optional. Default is JSON. You can override default output format to CSV or XML to generate CSV or XML output accordingly.
  • storeResult. optional. Set to true if you want to store results generated in PDF.co. You can view stored data extraction results at https://app.pdf.co/document-parser
  • password optional. Password of PDF file. Must be a String
  • async optional. Runs processing asynchronously. Returns Use JobId that you may use with /job/check to check state of the processing (possible states: working, failed, aborted and success). Must be one of: true, false.
  • encrypt optional. Enable encryption for output file. Must be one of: true, false.
  • name optional. File name for generated output. Must be a String.
  • profiles optional. Must be a String. You can set additional and extra options using this parameter that allows you to set custom configuration. See profiles samples for examples.

Endpoint:

Method: POST
Type: RAW
URL: https://api.pdf.co/v1/pdf/documentparser

Headers:

KeyValueDescription
Content-Typeapplication/json 
x-api-key{{x-api-key}}Required. API key for PDF.co. Get yours at https://pdf.co/

Body:

{
    "url": "https://bytescout-com.s3-us-west-2.amazonaws.com/files/demo-files/cloud-api/document-parser/sample-invoice.pdf",
    "templateId": "1",
    "outputFormat": "CSV",
    "generateCsvHeaders": true,

    "async": false,
    "encrypt": "false",
    "inline": "true",
    "password": "",
    "storeResult": false

}

More example Requests/Responses:

I. Example Request: /pdf/documentparser (output as CSV)

Headers:

KeyValueDescription
Content-Typeapplication/json 
x-api-key{{x-api-key}}Required. API key for PDF.co. Get yours at https://pdf.co/

Body:

{
    "url": "https://bytescout-com.s3-us-west-2.amazonaws.com/files/demo-files/cloud-api/document-parser/sample-invoice.pdf",
    "templateId": "1",
    "outputFormat": "CSV",
    "generateCsvHeaders": true,

    "async": false,
    "encrypt": "false",
    "inline": "true",
    "password": ""
}
I. Example Response: /pdf/documentparser (output as CSV)
{
    "body": "companyName,companyName2,invoiceId,dateIssued,dateDue,bankAccount,total,subTotal,tax,tableNames,tables\r\n\"Amazon Web Services, Inc\",\"Amazon Web Services, Inc\",123456789,2018-04-03T00:00:00,2018-04-03T00:00:00,123456789012,6.58,,1.01,table,\r\n\r\n",
    "pageCount": 1,
    "error": false,
    "status": 200,
    "name": "sample-invoice.csv",
    "remainingCredits": 60804
}

Status Code: 200


2. /pdf/documentparser (output as JSON)

Description: Gets data from documents using a data extraction template. With this API method you may extract data from custom areas, by search, form fields, tables, multiple pages and more!

Additional tools and guides:

Parameters

  • url required. URL to the source file. Supports links from Google Drive, Dropbox and from built-in PDF.co files storage. For uploading files via API please check Files Upload section.
  • templateId. required. Sets Id of document parser template to be used. View and manage your templates at https://app.pdf.co/document-parser
  • template. optional. You can pass code of document parser template to be used directly.
  • inline. optional. Set to true to return results inside the response. Otherwise endpoint will return a link to output file generated.
  • outputFormat. optional. Default is JSON. You can override default output format to CSV or XML to generate CSV or XML output accordingly.
  • storeResult. optional. Set to true if you want to store results generated in PDF.co. You can view stored data extraction results at https://app.pdf.co/document-parser
  • password optional. Password of PDF file. Must be a String
  • async optional. Runs processing asynchronously. Returns Use JobId that you may use with /job/check to check state of the processing (possible states: working, failed, aborted and success). Must be one of: true, false.
  • encrypt optional. Enable encryption for output file. Must be one of: true, false.
  • name optional. File name for generated output. Must be a String.
  • profiles optional. Must be a String. You can set additional and extra options using this parameter that allows you to set custom configuration. See profiles samples for examples.

Endpoint:

Method: POST
Type: RAW
URL: https://api.pdf.co/v1/pdf/documentparser

Headers:

KeyValueDescription
Content-Typeapplication/json 
x-api-key{{x-api-key}}Required. API key for PDF.co. Get yours at https://pdf.co/

Body:

{
    "url": "https://bytescout-com.s3-us-west-2.amazonaws.com/files/demo-files/cloud-api/document-parser/sample-invoice.pdf",
    "outputFormat": "JSON",
    "templateId": "1",
    "async": false,
    "encrypt": "false",
    "inline": "true",
    "password": "",
    "profiles": "",
    "storeResult": false
}

More example Requests/Responses:

I. Example Request: /pdf/documentparser (output as JSON)

Headers:

KeyValueDescription
Content-Typeapplication/json 
x-api-key{{x-api-key}}Required. API key for PDF.co. Get yours at https://pdf.co/

Body:

{
    "url": "https://bytescout-com.s3-us-west-2.amazonaws.com/files/demo-files/cloud-api/document-parser/sample-invoice.pdf",
    "outputFormat": "JSON",
    "templateId": "1",
    "async": false,
    "encrypt": "false",
    "inline": "true",
    "password": "",
    "profiles": ""    
}
I. Example Response: /pdf/documentparser (output as JSON)
{
    "body": {
        "objects": [
            {
                "name": "companyName",
                "objectType": "field",
                "value": "Amazon Web Services, Inc",
                "rectangle": [
                    0,
                    0,
                    0,
                    0
                ]
            },
            {
                "name": "companyName2",
                "objectType": "field",
                "value": "Amazon Web Services, Inc",
                "rectangle": [
                    0,
                    0,
                    0,
                    0
                ]
            },
            {
                "name": "invoiceId",
                "objectType": "field",
                "value": "123456789",
                "pageIndex": 0,
                "rectangle": [
                    0,
                    0,
                    0,
                    0
                ]
            },
            {
                "name": "dateIssued",
                "objectType": "field",
                "value": "2018-04-03T00:00:00",
                "pageIndex": 0,
                "rectangle": [
                    0,
                    0,
                    0,
                    0
                ]
            },
            {
                "name": "dateDue",
                "objectType": "field",
                "value": "2018-04-03T00:00:00",
                "pageIndex": 0,
                "rectangle": [
                    0,
                    0,
                    0,
                    0
                ]
            },
            {
                "name": "bankAccount",
                "objectType": "field",
                "value": "123456789012",
                "pageIndex": 0,
                "rectangle": [
                    0,
                    0,
                    0,
                    0
                ]
            },
            {
                "name": "total",
                "objectType": "field",
                "value": 6.58,
                "pageIndex": 0,
                "rectangle": [
                    0,
                    0,
                    0,
                    0
                ]
            },
            {
                "name": "subTotal",
                "objectType": "field",
                "value": ""
            },
            {
                "name": "tax",
                "objectType": "field",
                "value": 1.01,
                "pageIndex": 0,
                "rectangle": [
                    0,
                    0,
                    0,
                    0
                ]
            },
            {
                "objectType": "table",
                "name": "table",
                "rows": []
            }
        ],
        "templateName": "Generic Invoice [en]",
        "templateVersion": "4",
        "timestamp": "2020-08-21T19:23:31"
    },
    "pageCount": 1,
    "error": false,
    "status": 200,
    "name": "sample-invoice.json",
    "remainingCredits": 60803
}

Status Code: 200


3. /pdf/documentparser (output as JSON, custom template code)

Description: Parses and gets data from documents using previously prepared custom data extraction template. With this API method you may extract data from custom areas, by search, form fields, tables, multiple pages and more!

Template tools and guides:

Parameters

  • url required. URL to the source file. Supports links from Google Drive, Dropbox and from built-in PDF.co files storage. For uploading files via API please check Files Upload section.
  • templateId. required. Sets Id of document parser template to be used. View and manage your templates at https://app.pdf.co/document-parser
  • template. optional. You can pass code of document parser template to be used directly.
  • inline. optional. Set to true to return results inside the response. Otherwise endpoint will return a link to output file generated.
  • outputFormat. optional. Default is JSON. You can override default output format to CSV or XML to generate CSV or XML output accordingly.
  • storeResult. optional. Set to true if you want to store results generated in PDF.co. You can view stored data extraction results at https://app.pdf.co/document-parser
  • password optional. Password of PDF file. Must be a String
  • async optional. Runs processing asynchronously. Returns Use JobId that you may use with /job/check to check state of the processing (possible states: working, failed, aborted and success). Must be one of: true, false.
  • encrypt optional. Enable encryption for output file. Must be one of: true, false.
  • name optional. File name for generated output. Must be a String.
  • profiles optional. Must be a String. You can set additional and extra options using this parameter that allows you to set custom configuration. See profiles samples for examples.

Endpoint:

Method: POST
Type: RAW
URL: https://api.pdf.co/v1/pdf/documentparser

Headers:

KeyValueDescription
Content-Typeapplication/json 
x-api-key{{x-api-key}}Required. API key for PDF.co. Get yours at https://pdf.co/

Body:

{
    "url": "https://bytescout-com.s3-us-west-2.amazonaws.com/files/demo-files/cloud-api/document-parser/MultiPageTable.pdf",
    "template": "{\r\n  \"templateVersion\": 3,\r\n  \"templatePriority\": 0,\r\n  \"sourceId\": \"Multipage Table Test\",\r\n  \"detectionRules\": {\r\n    \"keywords\": [\r\n      \"Sample document with multi-page table\"\r\n    ]\r\n  },\r\n  \"fields\": {\r\n    \"total\": {\r\n      \"type\": \"regex\",\r\n      \"expression\": \"TOTAL {{DECIMAL}}\",\r\n      \"dataType\": \"decimal\"\r\n    }\r\n  },\r\n  \"tables\": [\r\n    {\r\n      \"name\": \"table1\",\r\n      \"start\": {\r\n        \"expression\": \"Item\\\\s+Description\\\\s+Price\\\\s+Qty\\\\s+Extended Price\"\r\n      },\r\n      \"end\": {\r\n        \"expression\": \"TOTAL\\\\s+\\\\d+\\\\.\\\\d\\\\d\"\r\n      },\r\n      \"row\": {\r\n        \"expression\": \"^\\\\s*(?<itemNo>\\\\d+)\\\\s+(?<description>.+?)\\\\s+(?<price>\\\\d+\\\\.\\\\d\\\\d)\\\\s+(?<qty>\\\\d+)\\\\s+(?<extPrice>\\\\d+\\\\.\\\\d\\\\d)\"\r\n      },\r\n      \"columns\": [\r\n        {\r\n          \"name\": \"itemNo\",\r\n          \"type\": \"integer\"\r\n        },\r\n        {\r\n          \"name\": \"description\",\r\n          \"type\": \"string\"\r\n        },\r\n        {\r\n          \"name\": \"price\",\r\n          \"type\": \"decimal\"\r\n        },\r\n        {\r\n          \"name\": \"qty\",\r\n          \"type\": \"integer\"\r\n        },\r\n        {\r\n          \"name\": \"extPrice\",\r\n          \"type\": \"decimal\"\r\n        }\r\n      ],\r\n      \"multipage\": true\r\n    }\r\n  ]\r\n}",
    "outputFormat": "JSON",
    "async": false,
    "encrypt": "false",
    "inline": "true",
    "profiles": "",
    "password": "",
    "storeResult": false
}

More example Requests/Responses:

I. Example Request: POST /pdf/documentparser

Headers:

KeyValueDescription
Content-Typeapplication/json 
x-api-key{{x-api-key}}Required. API key for PDF.co. Get yours at https://pdf.co/

Body:

KeyValueDescription
inlinetrueoptional. Must be one of: true, false.
urlhttps://bytescout-com.s3-us-west-2.amazonaws.com/files/demo-files/cloud-api/document-parser/sample-invoice.pdfrequired. URL of the source PDF file. Must be a String. To use your file please upload it first to the temporary storage, see Upload and Manage Files section below to learn how to do it.
templateId1optional. ID of the template to be used. Add, manage templates at https://app.pdf.co/document-parser-templates
I. Example Response: POST /pdf/documentparser
{
    "body": {
        "objects": [
            {
                "name": "companyName",
                "objectType": "field",
                "value": "Amazon Web Services, Inc",
                "rectangle": [
                    0,
                    0,
                    0,
                    0
                ]
            },
            {
                "name": "companyName2",
                "objectType": "field",
                "value": "Amazon Web Services, Inc",
                "rectangle": [
                    0,
                    0,
                    0,
                    0
                ]
            },
            {
                "name": "invoiceId",
                "objectType": "field",
                "value": "123456789",
                "pageIndex": 0,
                "rectangle": [
                    0,
                    0,
                    0,
                    0
                ]
            },
            {
                "name": "dateIssued",
                "objectType": "field",
                "value": "2018-04-03T00:00:00",
                "pageIndex": 0,
                "rectangle": [
                    0,
                    0,
                    0,
                    0
                ]
            },
            {
                "name": "dateDue",
                "objectType": "field",
                "value": "2018-04-03T00:00:00",
                "pageIndex": 0,
                "rectangle": [
                    0,
                    0,
                    0,
                    0
                ]
            },
            {
                "name": "total",
                "objectType": "field",
                "value": 6.58,
                "pageIndex": 0,
                "rectangle": [
                    0,
                    0,
                    0,
                    0
                ]
            },
            {
                "name": "subTotal",
                "objectType": "field",
                "value": ""
            },
            {
                "name": "tax",
                "objectType": "field",
                "value": 1.01,
                "pageIndex": 0,
                "rectangle": [
                    0,
                    0,
                    0,
                    0
                ]
            },
            {
                "objectType": "table",
                "name": "table",
                "rows": []
            }
        ],
        "templateName": "Generic Invoice [en]",
        "templateVersion": "4",
        "timestamp": "2020-07-16T22:04:25"
    },
    "pageCount": 1,
    "error": false,
    "status": 200,
    "name": "sample-invoice.json",
    "remainingCredits": 77731
}

Status Code: 200


4. /pdf/documentparser (output as XML)

Description: Gets data from documents using a data extraction template. With this API method you may extract data from custom areas, by search, form fields, tables, multiple pages and more!

Additional tools and guides:

Parameters

  • url required. URL to the source file. Supports links from Google Drive, Dropbox and from built-in PDF.co files storage. For uploading files via API please check Files Upload section.
  • templateId. required. Sets Id of document parser template to be used. View and manage your templates at https://app.pdf.co/document-parser
  • template. optional. You can pass code of document parser template to be used directly.
  • inline. optional. Set to true to return results inside the response. Otherwise endpoint will return a link to output file generated.
  • outputFormat. optional. Default is JSON. You can override default output format to CSV or XML to generate CSV or XML output accordingly.
  • storeResult. optional. Set to true if you want to store results generated in PDF.co. You can view stored data extraction results at https://app.pdf.co/document-parser
  • password optional. Password of PDF file. Must be a String
  • async optional. Runs processing asynchronously. Returns Use JobId that you may use with /job/check to check state of the processing (possible states: working, failed, aborted and success). Must be one of: true, false.
  • encrypt optional. Enable encryption for output file. Must be one of: true, false.
  • name optional. File name for generated output. Must be a String.
  • profiles optional. Must be a String. You can set additional and extra options using this parameter that allows you to set custom configuration. See profiles samples for examples.

Endpoint:

Method: POST
Type: RAW
URL: https://api.pdf.co/v1/pdf/documentparser

Headers:

KeyValueDescription
Content-Typeapplication/json 
x-api-key{{x-api-key}}Required. API key for PDF.co. Get yours at https://pdf.co/

Body:

{
    "url": "https://bytescout-com.s3-us-west-2.amazonaws.com/files/demo-files/cloud-api/document-parser/sample-invoice.pdf",
    "outputFormat": "JSON",
    "templateId": "1",
    "async": false,
    "encrypt": "false",
    "inline": "true",
    "password": "",
    "profiles": "",
    "storeResult": false
}

More example Requests/Responses:

I. Example Request: /pdf/documentparser (output as JSON)

Headers:

KeyValueDescription
Content-Typeapplication/json 
x-api-key{{x-api-key}}Required. API key for PDF.co. Get yours at https://pdf.co/

Body:

{
    "url": "https://bytescout-com.s3-us-west-2.amazonaws.com/files/demo-files/cloud-api/document-parser/sample-invoice.pdf",
    "outputFormat": "JSON",
    "templateId": "1",
    "async": false,
    "encrypt": "false",
    "inline": "true",
    "password": "",
    "profiles": ""    
}
I. Example Response: /pdf/documentparser (output as JSON)
{
    "body": {
        "objects": [
            {
                "name": "companyName",
                "objectType": "field",
                "value": "Amazon Web Services, Inc",
                "rectangle": [
                    0,
                    0,
                    0,
                    0
                ]
            },
            {
                "name": "companyName2",
                "objectType": "field",
                "value": "Amazon Web Services, Inc",
                "rectangle": [
                    0,
                    0,
                    0,
                    0
                ]
            },
            {
                "name": "invoiceId",
                "objectType": "field",
                "value": "123456789",
                "pageIndex": 0,
                "rectangle": [
                    0,
                    0,
                    0,
                    0
                ]
            },
            {
                "name": "dateIssued",
                "objectType": "field",
                "value": "2018-04-03T00:00:00",
                "pageIndex": 0,
                "rectangle": [
                    0,
                    0,
                    0,
                    0
                ]
            },
            {
                "name": "dateDue",
                "objectType": "field",
                "value": "2018-04-03T00:00:00",
                "pageIndex": 0,
                "rectangle": [
                    0,
                    0,
                    0,
                    0
                ]
            },
            {
                "name": "bankAccount",
                "objectType": "field",
                "value": "123456789012",
                "pageIndex": 0,
                "rectangle": [
                    0,
                    0,
                    0,
                    0
                ]
            },
            {
                "name": "total",
                "objectType": "field",
                "value": 6.58,
                "pageIndex": 0,
                "rectangle": [
                    0,
                    0,
                    0,
                    0
                ]
            },
            {
                "name": "subTotal",
                "objectType": "field",
                "value": ""
            },
            {
                "name": "tax",
                "objectType": "field",
                "value": 1.01,
                "pageIndex": 0,
                "rectangle": [
                    0,
                    0,
                    0,
                    0
                ]
            },
            {
                "objectType": "table",
                "name": "table",
                "rows": []
            }
        ],
        "templateName": "Generic Invoice [en]",
        "templateVersion": "4",
        "timestamp": "2020-08-21T19:23:31"
    },
    "pageCount": 1,
    "error": false,
    "status": 200,
    "name": "sample-invoice.json",
    "remainingCredits": 60803
}

Status Code: 200


5. /pdf/documentparser/results

Return all document parser results for this user. Please use GET request.

Endpoint:

Method: GET
Type: 
URL: https://api.pdf.co/v1/pdf/documentparser/results

Headers:

KeyValueDescription
Content-Typeapplication/json 
x-api-key{{x-api-key}}Required. API key for PDF.co. Get yours at https://pdf.co/

Query params:

KeyValueDescription
templateId1optional. Return all results for this document parser template id. Must be a String.

More example Requests/Responses:

I. Example Request: JSON pdf/documentparser/results

Headers:

KeyValueDescription
Content-Typeapplication/json 
x-api-key{{x-api-key}}Required. API key for PDF.co. Get yours at https://pdf.co/

Query:

KeyValueDescription
templateId40optional. Return all results for this document parser template id. Must be a String.
I. Example Response: JSON pdf/documentparser/results
{
    "results": [
        {
            "id": 74,
            "templateId": 40,
            "body": {
                "fields": {
                    "date": {
                        "value": ""
                    },
                    "amount": {
                        "value": "2",
                        "pageIndex": 0
                    }
                },
                "sourceId": null,
                "templateId": null,
                "templateVersion": "3"
            },
            "createdAt": "2020-03-23T11:17:30.152Z",
            "filename": "EINPresswire-Report-512260784-bytescout-announces-release-of-its-data-extraction-tools-for-on-cloud-deployments.pdf"
        }
    ],
    "remainingCredits": 94220
}

Status Code: 200


6. /pdf/documentparser/results

Description Create document parser result for this user. Please use POST request.

Input Parameters

ParamDescription
templateIdoptional. Create document parser result with this template id. Must be a String.
resultoptional. JSONB storage for storing document parser result. Must be a String.
resultTypeoptional. Result format. Valid values: JSON, YAML, XML, CSV. Must be a String.
fileUrloptional. URL to source PDF File. Must be a String.

Status Errors

CodeDescription
200The request has succeeded
400bad input parameters
401unauthorized

Endpoint:

Method: POST
Type: RAW
URL: https://api.pdf.co/v1/pdf/documentparser/results

Headers:

KeyValueDescription
Content-Typeapplication/json 
x-api-key{{x-api-key}}Required. API key for PDF.co. Get yours at https://pdf.co/

Body:

{
    "fileUrl": "https://github.com/bytescout/ByteScout-SDK-SourceCode/raw/master/Document%20Parser%20SDK/DigitalOcean.pdf",
    "templateId": 48,
    "formatType": "CSV",
    "result": "companyName,companyName2,invoiceId,dateIssued,dateDue,total,subTotal,tax\r\n,,,,,450.00,,\r\n\r\n"
}

7. /pdf/documentparser/results/:id

DELETE document parser result with given id. Please use DELETE request.

Endpoint:

Method: DELETE
Type: 
URL: https://api.pdf.co/v1/pdf/documentparser/results/:id

Headers:

KeyValueDescription
Content-Typeapplication/json 
x-api-key{{x-api-key}}Required. API key for PDF.co. Get yours at https://pdf.co/

URL variables:

KeyValueDescription
id Required. ID of result to delete.

8. /pdf/documentparser/templates

Return all data extraction templates for document parser for this user. Please use GET request.

Endpoint:

Method: GET
Type: 
URL: https://api.pdf.co/v1/pdf/documentparser/templates

Headers:

KeyValueDescription
Content-Typeapplication/json 
x-api-key{{x-api-key}}Required. API key for PDF.co. Get yours at https://pdf.co/

More example Requests/Responses:

I. Example Request: pdf/documentparser/templates

Headers:

KeyValueDescription
Content-Typeapplication/json 
x-api-key{{x-api-key}}Required. API key for PDF.co. Get yours at https://pdf.co/
I. Example Response: pdf/documentparser/templates
{
    "templates": [
        {
            "id": 40,
            "type": "user",
            "title": "Untitled",
            "description": "Untitled"
        },
        {
            "id": 1,
            "type": "system",
            "title": "Invoice Parser",
            "description": "Parses invoices and extracts invoice number, company name, due date, amount, tax"
        }
    ],
    "remainingCredits": 94229
}

Status Code: 0


9. /pdf/documentparser/templates/:id

Returns detailed information for document parser template by template’s id. Please use GET request.

Endpoint:

Method: GET
Type: RAW
URL: https://api.pdf.co/v1/pdf/documentparser/templates/:id

Headers:

KeyValueDescription
Content-Typeapplication/json 
x-api-key{{x-api-key}}Required. API key for PDF.co. Get yours at https://pdf.co/

URL variables:

KeyValueDescription
id1 

02. PDF Translate

Get detailed information about PDF document, its properties and security permissions.

For one-time check of PDF file information (including pdf form fields information if any) you can also use this page: https://app.pdf.co/pdf-info.

1. /pdf/translate

Translates text in PDF from one language to another using ML and AI.

NOTE: by default translation is limited to the very first page. Use pages param to set another range of pages to translate.

  • url required. URL to the source file. Supports links from Google Drive, Dropbox and from built-in PDF.co files storage. For uploading files via API please check Files Upload section.
  • langFrom defines ID of the source language (see the list of available languages below). String. Default is en (English)
  • langTo defines ID of the target language (see the list of available languages below). String. Required.
  • profiles optional. Must be a String. You can set additional and extra options using this parameter that allows you to set custom configuration. See profiles samples for examples.
  • password optional. Password of PDF file. Must be a String
  • async optional. Runs processing asynchronously. Returns Use JobId that you may use with /job/check to check state of the processing (possible states: working, failed, aborted and success). Must be one of: true, false.
  • encrypt optional. Enable encryption for output file. Must be one of: true, false.
  • name optional. File name for generated output. Must be a String.
  • profiles optional. Must be a String. You can set additional and extra options using this parameter that allows you to set custom configuration. See profiles samples for examples.

The List of Supported Languages

LanguageId
Afrikaansaf
Albaniansq
Amharicam
Arabicar
Armenianhy
Azerbaijaniaz
Bengalibn
Bosnianbs
Bulgarianbg
Catalanca
Chinese (Simplified)zh
Chinese (Traditional)zh-TW
Croatianhr
Czechcs
Danishda
Darifa-AF
Dutchnl
Englishen
Estonianet
Farsi (Persian)fa
Filipino Tagalogtl
Finnishfi
Frenchfr
French (Canada)fr-CA
Georgianka
Germande
Greekel
Gujaratigu
Haitian Creoleht
Hausaha
Hebrewhe
Hindihi
Hungarianhu
Icelandicis
Indonesianid
Italianit
Japaneseja
Kannadakn
Kazakhkk
Koreanko
Latvianlv
Lithuanianlt
Macedonianmk
Malayms
Malayalamml
Maltesemt
Mongolianmn
Norwegianno
Persianfa
Pashtops
Polishpl
Portuguesept
Romanianro
Russianru
Serbiansr
Sinhalasi
Slovaksk
Sloveniansl
Somaliso
Spanishes
Spanish (Mexico)es-MX
Swahilisw
Swedishsv
Tagalogtl
Tamilta
Telugute
Thaith
Turkishtr
Ukrainianuk
Urduur
Uzbekuz
Vietnamesevi
Welshcy

Endpoint:

Method: POST
Type: RAW
URL: https://api.pdf.co/v1/pdf/translate

Headers:

KeyValueDescription
x-api-key{{x-api-key}}your api key for PDF.co API access. Get yours at https://app.pdf.co/

Body:

{
    "url": "https://bytescout-com.s3-us-west-2.amazonaws.com/files/demo-files/cloud-api/pdf-to-csv/sample.pdf",
    "name": "result-translate-en-to-de",
    "langFrom": "en",
    "langto": "de",
    "async": false
}

03. PDF Info Reader

Get detailed information about PDF document, its properties and security permissions.

For one-time check of PDF file information (including pdf form fields information if any) you can also use this page: https://app.pdf.co/pdf-info.

1. /pdf/info

Extracts basic information about input PDF file, PDF file security permissions, and other information. If you want to extract information about fillable fields (checkboxes, radiboxes, listboxes) from PDF then please use /pdf/info/fields instead.

  • url required. URL to the source file. Supports links from Google Drive, Dropbox and from built-in PDF.co files storage. For uploading files via API please check Files Upload section.
  • profiles optional. Must be a String. You can set additional and extra options using this parameter that allows you to set custom configuration. See profiles samples for examples.

Endpoint:

Method: POST
Type: RAW
URL: https://api.pdf.co/v1/pdf/info

Headers:

KeyValueDescription
x-api-key{{x-api-key}}your api key for PDF.co API access. Get yours at https://app.pdf.co/

Body:

{
    "url": "https://bytescout-com.s3-us-west-2.amazonaws.com/files/demo-files/cloud-api/pdf-info/sample.pdf"
}

More example Requests/Responses:

I. Example Request: POST /pdf/info

Headers:

KeyValueDescription
x-api-key{{x-api-key}}Required. API key for PDF.co. Get yours at https://pdf.co/

Body:

KeyValueDescription
urlhttps://bytescout-com.s3-us-west-2.amazonaws.com/files/demo-files/cloud-api/pdf-info/sample.pdfrequired. URL of the source PDF file. Must be a String. To use your file please upload it first to the temporary storage, see Upload and Manage Files section below to learn how to do it.
password optional. Password of PDF file. Must be a String.
I. Example Response: POST /pdf/info
{
    "info": {
        "PageCount": 1,
        "Author": "Alice V. Knox",
        "Title": "Kid's News 1",
        "Producer": "Acrobat Distiller 4.0 for Windows",
        "Subject": "Kid's News 1",
        "CreationDate": "8/15/2001 2:50:36 PM",
        "Bookmarks": "",
        "Keywords": "",
        "Creator": "Adobe PageMaker 6.52",
        "Encrypted": false,
        "PageRectangle": {
            "Location": {
                "IsEmpty": true,
                "X": 0,
                "Y": 0
            },
            "Size": "612, 792",
            "X": 0,
            "Y": 0,
            "Width": 612,
            "Height": 792,
            "Left": 0,
            "Top": 0,
            "Right": 612,
            "Bottom": 792,
            "IsEmpty": false
        },
        "ModificationDate": "9/20/2001 6:23:02 PM",
        "EncryptionAlgorithm": 0,
        "PermissionPrinting": true,
        "PermissionModifyDocument": true,
        "PermissionContentExtraction": true,
        "PermissionModifyAnnotations": true,
        "PermissionFillForms": true,
        "PermissionAccessibility": true,
        "PermissionAssemble": true,
        "PermissionHighQualityPrint": true
    },
    "error": false,
    "status": 200,
    "remainingCredits": 77732
}

Status Code: 200


03.1 PDF Forms Info Reader

Get information about fillable fields inside PDF form file.

For one-time check of PDF file information (including pdf form fields information if any) you can also use this page: https://app.pdf.co/pdf-info.

1. /pdf/info/fields

Extracts information about fillable PDF fields (fillable edit boxes, fillable checkboxes, radioboxes, comboboxes) from input PDF file along with general information about input PDF document. The purpose of this endpoint is to get information about fillable PDF for use with PDF.co pdf filler (/pdf/edit/add method)

  • url required. URL to the source file. Supports links from Google Drive, Dropbox and from built-in PDF.co files storage. For uploading files via API please check Files Upload section.
  • profiles optional. Must be a String. You can set additional and extra options using this parameter that allows you to set custom configuration. See profiles samples for examples.

Endpoint:

Method: POST
Type: RAW
URL: https://api.pdf.co/v1/pdf/info/fields

Headers:

KeyValueDescription
x-api-key{{x-api-key}}Required. API key for PDF.co. Get yours at https://pdf.co/

Body:

{
    "url": "https://bytescout-com.s3-us-west-2.amazonaws.com/files/demo-files/cloud-api/pdf-form/f1040.pdf"
}

More example Requests/Responses:

I. Example Request: /pdf/info/fields

Headers:

KeyValueDescription
x-api-key{{x-api-key}}Required. API key for PDF.co. Get yours at https://pdf.co/

Body:

{
    "url": "https://bytescout-com.s3-us-west-2.amazonaws.com/files/demo-files/cloud-api/pdf-form/f1040.pdf"
}
I. Example Response: /pdf/info/fields
{
    "info": {
        "PageCount": 3,
        "Author": "SE:W:CAR:MP",
        "Title": "2019 Form 1040",
        "Producer": "macOS Version 10.15.1 (Build 19B88) Quartz PDFContext",
        "Subject": "U.S. Individual Income Tax Return",
        "CreationDate": "8/7/2020 11:17:29 AM",
        "Bookmarks": "",
        "Keywords": "Fillable",
        "Creator": "Adobe LiveCycle Designer ES 9.0",
        "Encrypted": false,
        "PasswordProtected": false,
        "PageRectangle": {
            "Location": {
                "IsEmpty": true,
                "X": 0,
                "Y": 0
            },
            "Size": "612, 792",
            "X": 0,
            "Y": 0,
            "Width": 612,
            "Height": 792,
            "Left": 0,
            "Top": 0,
            "Right": 612,
            "Bottom": 792,
            "IsEmpty": false
        },
        "ModificationDate": "8/7/2020 11:17:29 AM",
        "EncryptionAlgorithm": "None",
        "PermissionPrinting": true,
        "PermissionModifyDocument": true,
        "PermissionContentExtraction": true,
        "PermissionModifyAnnotations": true,
        "PermissionFillForms": true,
        "PermissionAccessibility": true,
        "PermissionAssemble": true,
        "PermissionHighQualityPrint": true,
        "FieldsInfo": {
            "Fields": [
                {
                    "PageIndex": 1,
                    "Type": "CheckBox",
                    "FieldName": "topmostSubform[0].Page1[0].FilingStatus[0].c1_01[0]",
                    "Value": "False",
                    "Left": 95.5989990234375,
                    "Top": 67.99798583984375,
                    "Width": 8,
                    "Height": 8
                },
                {
                    "PageIndex": 1,
                    "Type": "CheckBox",
                    "FieldName": "topmostSubform[0].Page1[0].FilingStatus[0].c1_01[1]",
                    "Value": "False",
                    "Left": 138.7989959716797,
                    "Top": 67.99798583984375,
                    "Width": 8,
                    "Height": 8
                },
                {
                    "PageIndex": 1,
                    "Type": "CheckBox",
                    "FieldName": "topmostSubform[0].Page1[0].FilingStatus[0].c1_01[2]",
                    "Value": "False",
                    "Left": 225.19900512695312,
                    "Top": 67.99798583984375,
                    "Width": 8,
                    "Height": 8
                },
                {
                    "PageIndex": 1,
                    "Type": "CheckBox",
                    "FieldName": "topmostSubform[0].Page1[0].FilingStatus[0].c1_01[3]",
                    "Value": "False",
                    "Left": 340.39898681640625,
                    "Top": 67.99798583984375,
                    "Width": 8,
                    "Height": 8
                },
                {
                    "PageIndex": 1,
                    "Type": "CheckBox",
                    "FieldName": "topmostSubform[0].Page1[0].FilingStatus[0].c1_01[4]",
                    "Value": "False",
                    "Left": 441.1990051269531,
                    "Top": 67.99798583984375,
                    "Width": 8,
                    "Height": 8
                },
                {
                    "PageIndex": 1,
                    "Type": "EditBox",
                    "FieldName": "topmostSubform[0].Page1[0].FilingStatus[0].f1_01[0]",
                    "Value": "",
                    "Left": 208.8000030517578,
                    "Top": 90,
                    "Width": 331.20001220703125,
                    "Height": 11.9990234375
                },
                {
                    "PageIndex": 1,
                    "Type": "EditBox",
                    "FieldName": "topmostSubform[0].Page1[0].f1_02[0]",
                    "Value": "",
                    "Left": 36,
                    "Top": 111.9990234375,
                    "Width": 200.60000610351562,
                    "Height": 14.0009765625
                },
                {
                    "PageIndex": 1,
                    "Type": "EditBox",
                    "FieldName": "topmostSubform[0].Page1[0].f1_03[0]",
                    "Value": "",
                    "Left": 238.60000610351562,
                    "Top": 111.9990234375,
                    "Width": 228.39999389648438,
                    "Height": 14.0009765625
                },
                {
                    "PageIndex": 1,
                    "Type": "EditBox",
                    "FieldName": "topmostSubform[0].Page1[0].YourSocial_ReadOrderControl[0].f1_04[0]",
                    "Value": "",
                    "Left": 468,
                    "Top": 111.9990234375,
                    "Width": 108,
                    "Height": 14.0009765625
                },
                {
                    "PageIndex": 1,
                    "Type": "EditBox",
                    "FieldName": "topmostSubform[0].Page1[0].YourSocial_ReadOrderControl[0].f1_05[0]",
                    "Value": "",
                    "Left": 36,
                    "Top": 136,
                    "Width": 200.60000610351562,
                    "Height": 14.0009765625
                },
                {
                    "PageIndex": 1,
                    "Type": "EditBox",
                    "FieldName": "topmostSubform[0].Page1[0].YourSocial_ReadOrderControl[0].f1_06[0]",
                    "Value": "",
                    "Left": 238.60000610351562,
                    "Top": 136,
                    "Width": 228.39999389648438,
                    "Height": 14.0009765625
                },
                {
                    "PageIndex": 1,
                    "Type": "EditBox",
                    "FieldName": "topmostSubform[0].Page1[0].ReadOrderControl[0].f1_07[0]",
                    "Value": "",
                    "Left": 468,
                    "Top": 136,
                    "Width": 108,
                    "Height": 14.0009765625
                },
                {
                    "PageIndex": 1,
                    "Type": "EditBox",
                    "FieldName": "topmostSubform[0].Page1[0].ReadOrderControl[0].Address[0].f1_08[0]",
                    "Value": "",
                    "Left": 36,
                    "Top": 160.0009765625,
                    "Width": 380.6000061035156,
                    "Height": 14.00103759765625
                },
                {
                    "PageIndex": 1,
                    "Type": "EditBox",
                    "FieldName": "topmostSubform[0].Page1[0].ReadOrderControl[0].Address[0].f1_09[0]",
                    "Value": "",
                    "Left": 418.6000061035156,
                    "Top": 160.0009765625,
                    "Width": 48.399993896484375,
                    "Height": 14.00103759765625
                },
                {
                    "PageIndex": 1,
                    "Type": "EditBox",
                    "FieldName": "topmostSubform[0].Page1[0].ReadOrderControl[0].Address[0].f1_10[0]",
                    "Value": "",
                    "Left": 36,
                    "Top": 183.9990234375,
                    "Width": 431,
                    "Height": 14.0009765625
                },
                {
                    "PageIndex": 1,
                    "Type": "EditBox",
                    "FieldName": "topmostSubform[0].Page1[0].ReadOrderControl[0].Address[0].f1_11[0]",
                    "Value": "",
                    "Left": 36,
                    "Top": 208,
                    "Width": 222.20001220703125,
                    "Height": 14.0009765625
                },
                {
                    "PageIndex": 1,
                    "Type": "EditBox",
                    "FieldName": "topmostSubform[0].Page1[0].ReadOrderControl[0].Address[0].f1_12[0]",
                    "Value": "",
                    "Left": 260.20001220703125,
                    "Top": 208,
                    "Width": 142,
                    "Height": 14.0009765625
                },
                {
                    "PageIndex": 1,
                    "Type": "EditBox",
                    "FieldName": "topmostSubform[0].Page1[0].ReadOrderControl[0].Address[0].f1_13[0]",
                    "Value": "",
                    "Left": 404.20001220703125,
                    "Top": 208,
                    "Width": 62.79998779296875,
                    "Height": 14.0009765625
                },
                {
                    "PageIndex": 1,
                    "Type": "CheckBox",
                    "FieldName": "topmostSubform[0].Page1[0].ReadOrderControl[1].PresidentialElection[0].c1_02[0]",
                    "Value": "False",
                    "Left": 513.2000122070312,
                    "Top": 188,
                    "Width": 8,
                    "Height": 8
                },
                {
                    "PageIndex": 1,
                    "Type": "CheckBox",
                    "FieldName": "topmostSubform[0].Page1[0].ReadOrderControl[1].PresidentialElection[0].c1_03[0]",
                    "Value": "False",
                    "Left": 542,
                    "Top": 188,
                    "Width": 8,
                    "Height": 8
                },
                {
                    "PageIndex": 1,
                    "Type": "CheckBox",
                    "FieldName": "topmostSubform[0].Page1[0].ReadOrderControl[1].StandardDeduction[0].c1_04[0]",
                    "Value": "False",
                    "Left": 167.5989990234375,
                    "Top": 224,
                    "Width": 8,
                    "Height": 8
                },
                {
                    "PageIndex": 1,
                    "Type": "CheckBox",
                    "FieldName": "topmostSubform[0].Page1[0].ReadOrderControl[1].StandardDeduction[0].c1_05[0]",
                    "Value": "False",
                    "Left": 261.1990051269531,
                    "Top": 224,
                    "Width": 8,
                    "Height": 8
                },
                {
                    "PageIndex": 1,
                    "Type": "CheckBox",
                    "FieldName": "topmostSubform[0].Page1[0].ReadOrderControl[1].StandardDeduction[0].c1_06[0]",
                    "Value": "False",
                    "Left": 95.5989990234375,
                    "Top": 235.9990234375,
                    "Width": 8,
                    "Height": 8
                },
                {
                    "PageIndex": 1,
                    "Type": "CheckBox",
                    "FieldName": "topmostSubform[0].Page1[0].ReadOrderControl[1].AgeBlindness[0].c1_07[0]",
                    "Value": "False",
                    "Left": 117.1989974975586,
                    "Top": 253.9990234375,
                    "Width": 8,
                    "Height": 8
                },
                {
                    "PageIndex": 1,
                    "Type": "CheckBox",
                    "FieldName": "topmostSubform[0].Page1[0].ReadOrderControl[1].AgeBlindness[0].c1_08[0]",
                    "Value": "False",
                    "Left": 246.7989959716797,
                    "Top": 253.9990234375,
                    "Width": 8,
                    "Height": 8
                },
                {
                    "PageIndex": 1,
                    "Type": "CheckBox",
                    "FieldName": "topmostSubform[0].Page1[0].ReadOrderControl[1].AgeBlindness[0].c1_09[0]",
                    "Value": "False",
                    "Left": 340.39898681640625,
                    "Top": 253.9990234375,
                    "Width": 8,
                    "Height": 8
                },
                {
                    "PageIndex": 1,
                    "Type": "CheckBox",
                    "FieldName": "topmostSubform[0].Page1[0].ReadOrderControl[1].AgeBlindness[0].c1_10[0]",
                    "Value": "False",
                    "Left": 469.9989929199219,
                    "Top": 253.9990234375,
                    "Width": 8,
                    "Height": 8
                },
                {
                    "PageIndex": 1,
                    "Type": "CheckBox",
                    "FieldName": "topmostSubform[0].Page1[0].IfMoreThanFour[0].c1_11[0]",
                    "Value": "False",
                    "Left": 568,
                    "Top": 210.99798583984375,
                    "Width": 8,
                    "Height": 8
                },
                {
                    "PageIndex": 1,
                    "Type": "EditBox",
                    "FieldName": "topmostSubform[0].Page1[0].Dependents[0].Table_Dependents[0].Row1[0].f1_14[0]",
                    "Value": "",
                    "Left": 36,
                    "Top": 287.99700927734375,
                    "Width": 207.8000030517578,
                    "Height": 11.998992919921875
                },
                {
                    "PageIndex": 1,
                    "Type": "EditBox",
                    "FieldName": "topmostSubform[0].Page1[0].Dependents[0].Table_Dependents[0].Row1[0].f1_15[0]",
                    "Value": "",
                    "Left": 244.8000030517578,
                    "Top": 287.99700927734375,
                    "Width": 86.40000915527344,
                    "Height": 11.998992919921875
                },
                {
                    "PageIndex": 1,
                    "Type": "EditBox",
                    "FieldName": "topmostSubform[0].Page1[0].Dependents[0].Table_Dependents[0].Row1[0].f1_16[0]",
                    "Value": "",
                    "Left": 332.20001220703125,
                    "Top": 287.99700927734375,
                    "Width": 84.39999389648438,
                    "Height": 11.998992919921875
                },
                {
                    "PageIndex": 1,
                    "Type": "CheckBox",
                    "FieldName": "topmostSubform[0].Page1[0].Dependents[0].Table_Dependents[0].Row1[0].c1_12[0]",
                    "Value": "False",
                    "Left": 453.20001220703125,
                    "Top": 289.9960021972656,
                    "Width": 8,
                    "Height": 8
                },
                {
                    "PageIndex": 1,
                    "Type": "CheckBox",
                    "FieldName": "topmostSubform[0].Page1[0].Dependents[0].Table_Dependents[0].Row1[0].c1_13[0]",
                    "Value": "False",
                    "Left": 532.4000244140625,
                    "Top": 289.9960021972656,
                    "Width": 8,
                    "Height": 8
                },
                {
                    "PageIndex": 1,
                    "Type": "EditBox",
                    "FieldName": "topmostSubform[0].Page1[0].Dependents[0].Table_Dependents[0].Row2[0].f1_17[0]",
                    "Value": "",
                    "Left": 36,
                    "Top": 299.9960021972656,
                    "Width": 207.8000030517578,
                    "Height": 11.998992919921875
                },
                {
                    "PageIndex": 1,
                    "Type": "EditBox",
                    "FieldName": "topmostSubform[0].Page1[0].Dependents[0].Table_Dependents[0].Row2[0].f1_18[0]",
                    "Value": "",
                    "Left": 244.8000030517578,
                    "Top": 299.9960021972656,
                    "Width": 86.40000915527344,
                    "Height": 11.998992919921875
                },
                {
                    "PageIndex": 1,
                    "Type": "EditBox",
                    "FieldName": "topmostSubform[0].Page1[0].Dependents[0].Table_Dependents[0].Row2[0].f1_19[0]",
                    "Value": "",
                    "Left": 332.20001220703125,
                    "Top": 299.9960021972656,
                    "Width": 84.39999389648438,
                    "Height": 11.998992919921875
                },
                {
                    "PageIndex": 1,
                    "Type": "CheckBox",
                    "FieldName": "topmostSubform[0].Page1[0].Dependents[0].Table_Dependents[0].Row2[0].c1_14[0]",
                    "Value": "False",
                    "Left": 453.20001220703125,
                    "Top": 301.9949951171875,
                    "Width": 8,
                    "Height": 8
                },
                {
                    "PageIndex": 1,
                    "Type": "CheckBox",
                    "FieldName": "topmostSubform[0].Page1[0].Dependents[0].Table_Dependents[0].Row2[0].c1_15[0]",
                    "Value": "False",
                    "Left": 532.4000244140625,
                    "Top": 301.9949951171875,
                    "Width": 8,
                    "Height": 8
                },
                {
                    "PageIndex": 1,
                    "Type": "EditBox",
                    "FieldName": "topmostSubform[0].Page1[0].Dependents[0].Table_Dependents[0].Row3[0].f1_20[0]",
                    "Value": "",
                    "Left": 36,
                    "Top": 311.9949951171875,
                    "Width": 207.8000030517578,
                    "Height": 11.998992919921875
                },
                {
                    "PageIndex": 1,
                    "Type": "EditBox",
                    "FieldName": "topmostSubform[0].Page1[0].Dependents[0].Table_Dependents[0].Row3[0].f1_21[0]",
                    "Value": "",
                    "Left": 244.8000030517578,
                    "Top": 311.9949951171875,
                    "Width": 86.40000915527344,
                    "Height": 11.998992919921875
                },
                {
                    "PageIndex": 1,
                    "Type": "EditBox",
                    "FieldName": "topmostSubform[0].Page1[0].Dependents[0].Table_Dependents[0].Row3[0].f1_22[0]",
                    "Value": "",
                    "Left": 332.20001220703125,
                    "Top": 311.9949951171875,
                    "Width": 84.39999389648438,
                    "Height": 11.998992919921875
                },
                {
                    "PageIndex": 1,
                    "Type": "CheckBox",
                    "FieldName": "topmostSubform[0].Page1[0].Dependents[0].Table_Dependents[0].Row3[0].c1_16[0]",
                    "Value": "False",
                    "Left": 453.20001220703125,
                    "Top": 313.9939880371094,
                    "Width": 8,
                    "Height": 8
                },
                {
                    "PageIndex": 1,
                    "Type": "CheckBox",
                    "FieldName": "topmostSubform[0].Page1[0].Dependents[0].Table_Dependents[0].Row3[0].c1_17[0]",
                    "Value": "False",
                    "Left": 532.4000244140625,
                    "Top": 313.9939880371094,
                    "Width": 8,
                    "Height": 8
                },
                {
                    "PageIndex": 1,
                    "Type": "EditBox",
                    "FieldName": "topmostSubform[0].Page1[0].Dependents[0].Table_Dependents[0].Row4[0].f1_23[0]",
                    "Value": "",
                    "Left": 36,
                    "Top": 323.9939880371094,
                    "Width": 207.8000030517578,
                    "Height": 11.9990234375
                },
                {
                    "PageIndex": 1,
                    "Type": "EditBox",
                    "FieldName": "topmostSubform[0].Page1[0].Dependents[0].Table_Dependents[0].Row4[0].f1_24[0]",
                    "Value": "",
                    "Left": 244.8000030517578,
                    "Top": 323.9939880371094,
                    "Width": 86.40000915527344,
                    "Height": 11.9990234375
                },
                {
                    "PageIndex": 1,
                    "Type": "EditBox",
                    "FieldName": "topmostSubform[0].Page1[0].Dependents[0].Table_Dependents[0].Row4[0].f1_25[0]",
                    "Value": "",
                    "Left": 332.20001220703125,
                    "Top": 323.9939880371094,
                    "Width": 84.39999389648438,
                    "Height": 11.9990234375
                },
                {
                    "PageIndex": 1,
                    "Type": "CheckBox",
                    "FieldName": "topmostSubform[0].Page1[0].Dependents[0].Table_Dependents[0].Row4[0].c1_18[0]",
                    "Value": "False",
                    "Left": 453.20001220703125,
                    "Top": 325.9930114746094,
                    "Width": 8,
                    "Height": 8
                },
                {
                    "PageIndex": 1,
                    "Type": "CheckBox",
                    "FieldName": "topmostSubform[0].Page1[0].Dependents[0].Table_Dependents[0].Row4[0].c1_19[0]",
                    "Value": "False",
                    "Left": 532.4000244140625,
                    "Top": 325.9930114746094,
                    "Width": 8,
                    "Height": 8
                },
                {
                    "PageIndex": 1,
                    "Type": "EditBox",
                    "FieldName": "topmostSubform[0].Page1[0].ReadOrderControl_Lns1-8b[0].f1_26[0]",
                    "Value": "",
                    "Left": 504,
                    "Top": 335.9989929199219,
                    "Width": 72,
                    "Height": 11.998992919921875
                },
                {
                    "PageIndex": 1,
                    "Type": "EditBox",
                    "FieldName": "topmostSubform[0].Page1[0].ReadOrderControl_Lns1-8b[0].f1_27[0]",
                    "Value": "",
                    "Left": 252,
                    "Top": 348.0010070800781,
                    "Width": 71.25,
                    "Height": 11.998992919921875
                },
                {
                    "PageIndex": 1,
                    "Type": "EditBox",
                    "FieldName": "topmostSubform[0].Page1[0].ReadOrderControl_Lns1-8b[0].f1_28[0]",
                    "Value": "",
                    "Left": 504,
                    "Top": 348.0010070800781,
                    "Width": 72,
                    "Height": 11.998992919921875
                },
                {
                    "PageIndex": 1,
                    "Type": "EditBox",
                    "FieldName": "topmostSubform[0].Page1[0].ReadOrderControl_Lns1-8b[0].f1_29[0]",
                    "Value": "",
                    "Left": 252,
                    "Top": 360,
                    "Width": 71.25,
                    "Height": 11.998992919921875
                },
                {
                    "PageIndex": 1,
                    "Type": "EditBox",
                    "FieldName": "topmostSubform[0].Page1[0].ReadOrderControl_Lns1-8b[0].f1_30[0]",
                    "Value": "",
                    "Left": 504,
                    "Top": 360,
                    "Width": 72,
                    "Height": 11.998992919921875
                },
                {
                    "PageIndex": 1,
                    "Type": "EditBox",
                    "FieldName": "topmostSubform[0].Page1[0].ReadOrderControl_Lns1-8b[0].f1_31[0]",
                    "Value": "",
                    "Left": 252,
                    "Top": 371.9989929199219,
                    "Width": 71.25,
                    "Height": 11.998992919921875
                },
                {
                    "PageIndex": 1,
                    "Type": "EditBox",
                    "FieldName": "topmostSubform[0].Page1[0].ReadOrderControl_Lns1-8b[0].f1_32[0]",
                    "Value": "",
                    "Left": 504,
                    "Top": 371.9989929199219,
                    "Width": 72,
                    "Height": 11.998992919921875
                },
                {
                    "PageIndex": 1,
                    "Type": "EditBox",
                    "FieldName": "topmostSubform[0].Page1[0].ReadOrderControl_Lns1-8b[0].f1_33[0]",
                    "Value": "",
                    "Left": 252,
                    "Top": 384.0010070800781,
                    "Width": 71.25,
                    "Height": 11.998992919921875
                },
                {
                    "PageIndex": 1,
                    "Type": "EditBox",
                    "FieldName": "topmostSubform[0].Page1[0].ReadOrderControl_Lns1-8b[0].f1_34[0]",
                    "Value": "",
                    "Left": 504,
                    "Top": 384.0010070800781,
                    "Width": 72,
                    "Height": 11.998992919921875
                },
                {
                    "PageIndex": 1,
                    "Type": "EditBox",
                    "FieldName": "topmostSubform[0].Page1[0].ReadOrderControl_Lns1-8b[0].f1_35[0]",
                    "Value": "",
                    "Left": 252,
                    "Top": 396,
                    "Width": 71.25,
                    "Height": 11.998992919921875
                },
                {
                    "PageIndex": 1,
                    "Type": "EditBox",
                    "FieldName": "topmostSubform[0].Page1[0].ReadOrderControl_Lns1-8b[0].f1_36[0]",
                    "Value": "",
                    "Left": 504,
                    "Top": 396,
                    "Width": 72,
                    "Height": 11.998992919921875
                },
                {
                    "PageIndex": 1,
                    "Type": "CheckBox",
                    "FieldName": "topmostSubform[0].Page1[0].ReadOrderControl_Lns1-8b[0].c1_20[0]",
                    "Value": "False",
                    "Left": 465.2030029296875,
                    "Top": 410.74798583984375,
                    "Width": 8,
                    "Height": 8
                },
                {
                    "PageIndex": 1,
                    "Type": "EditBox",
                    "FieldName": "topmostSubform[0].Page1[0].ReadOrderControl_Lns1-8b[0].f1_37[0]",
                    "Value": "",
                    "Left": 504,
                    "Top": 407.9989929199219,
                    "Width": 72,
                    "Height": 11.998992919921875
                },
                {
                    "PageIndex": 1,
                    "Type": "EditBox",
                    "FieldName": "topmostSubform[0].Page1[0].ReadOrderControl_Lns1-8b[0].f1_38[0]",
                    "Value": "",
                    "Left": 504,
                    "Top": 420.0010070800781,
                    "Width": 72,
                    "Height": 11.998992919921875
                },
                {
                    "PageIndex": 1,
                    "Type": "EditBox",
                    "FieldName": "topmostSubform[0].Page1[0].ReadOrderControl_Lns1-8b[0].f1_39[0]",
                    "Value": "",
                    "Left": 504,
                    "Top": 432,
                    "Width": 72,
                    "Height": 11.998992919921875
                },
                {
                    "PageIndex": 1,
                    "Type": "EditBox",
                    "FieldName": "topmostSubform[0].Page1[0].ReadOrderControl_Lns1-8b[0].f1_40[0]",
                    "Value": "",
                    "Left": 504,
                    "Top": 443.9989929199219,
                    "Width": 72,
                    "Height": 11.998992919921875
                },
                {
                    "PageIndex": 1,
                    "Type": "EditBox",
                    "FieldName": "topmostSubform[0].Page1[0].ReadOrderControl_Lns1-8b[0].f1_41[0]",
                    "Value": "",
                    "Left": 504,
                    "Top": 456.0010070800781,
                    "Width": 72,
                    "Height": 11.998992919921875
                },
                {
                    "PageIndex": 1,
                    "Type": "EditBox",
                    "FieldName": "topmostSubform[0].Page1[0].f1_42[0]",
                    "Value": "",
                    "Left": 410.3999938964844,
                    "Top": 468,
                    "Width": 71.25,
                    "Height": 11.998992919921875
                },
                {
                    "PageIndex": 1,
                    "Type": "EditBox",
                    "FieldName": "topmostSubform[0].Page1[0].f1_43[0]",
                    "Value": "",
                    "Left": 410.3999938964844,
                    "Top": 479.9989929199219,
                    "Width": 71.25,
                    "Height": 11.998992919921875
                },
                {
                    "PageIndex": 1,
                    "Type": "EditBox",
                    "FieldName": "topmostSubform[0].Page1[0].f1_44[0]",
                    "Value": "",
                    "Left": 504,
                    "Top": 492,
                    "Width": 72,
                    "Height": 12
                },
                {
                    "PageIndex": 1,
                    "Type": "EditBox",
                    "FieldName": "topmostSubform[0].Page1[0].f1_45[0]",
                    "Value": "",
                    "Left": 504,
                    "Top": 504.0000305175781,
                    "Width": 72,
                    "Height": 11.998992919921875
                },
                {
                    "PageIndex": 2,
                    "Type": "CheckBox",
                    "FieldName": "topmostSubform[0].Page2[0].Lines12a-12b_ReadOrder[0].c2_01[0]",
                    "Value": "False",
                    "Left": 246.8000030517578,
                    "Top": 38.9990234375,
                    "Width": 8,
                    "Height": 8
                },
                {
                    "PageIndex": 2,
                    "Type": "CheckBox",
                    "FieldName": "topmostSubform[0].Page2[0].Lines12a-12b_ReadOrder[0].c2_02[0]",
                    "Value": "False",
                    "Left": 290,
                    "Top": 38.9990234375,
                    "Width": 8,
                    "Height": 8
                },
                {
                    "PageIndex": 2,
                    "Type": "CheckBox",
                    "FieldName": "topmostSubform[0].Page2[0].Lines12a-12b_ReadOrder[0].c2_03[0]",
                    "Value": "False",
                    "Left": 333.1990051269531,
                    "Top": 38.9990234375,
                    "Width": 8,
                    "Height": 8
                },
                {
                    "PageIndex": 2,
                    "Type": "EditBox",
                    "FieldName": "topmostSubform[0].Page2[0].Lines12a-12b_ReadOrder[0].f2_01[0]",
                    "Value": "",
                    "Left": 345.6000061035156,
                    "Top": 36,
                    "Width": 36,
                    "Height": 11.9990234375
                },
                {
                    "PageIndex": 2,
                    "Type": "EditBox",
                    "FieldName": "topmostSubform[0].Page2[0].Lines12a-12b_ReadOrder[0].f2_02[0]",
                    "Value": "",
                    "Left": 410.3999938964844,
                    "Top": 36,
                    "Width": 71.25,
                    "Height": 11.9990234375
                },
                {
                    "PageIndex": 2,
                    "Type": "EditBox",
                    "FieldName": "topmostSubform[0].Page2[0].f2_03[0]",
                    "Value": "",
                    "Left": 504,
                    "Top": 48,
                    "Width": 72,
                    "Height": 12.0009765625
                },
                {
                    "PageIndex": 2,
                    "Type": "EditBox",
                    "FieldName": "topmostSubform[0].Page2[0].Lines13a-13b_ReadOrder[0].f2_04[0]",
                    "Value": "",
                    "Left": 410.3999938964844,
                    "Top": 60.0009765625,
                    "Width": 71.25,
                    "Height": 11.9990234375
                },
                {
                    "PageIndex": 2,
                    "Type": "EditBox",
                    "FieldName": "topmostSubform[0].Page2[0].f2_05[0]",
                    "Value": "",
                    "Left": 504,
                    "Top": 72.0009765625,
                    "Width": 72,
                    "Height": 12.00103759765625
                },
                {
                    "PageIndex": 2,
                    "Type": "EditBox",
                    "FieldName": "topmostSubform[0].Page2[0].f2_06[0]",
                    "Value": "",
                    "Left": 504,
                    "Top": 83.9990234375,
                    "Width": 72,
                    "Height": 11.99896240234375
                },
                {
                    "PageIndex": 2,
                    "Type": "EditBox",
                    "FieldName": "topmostSubform[0].Page2[0].f2_07[0]",
                    "Value": "",
                    "Left": 504,
                    "Top": 96.0009765625,
                    "Width": 72,
                    "Height": 11.9990234375
                },
                {
                    "PageIndex": 2,
                    "Type": "EditBox",
                    "FieldName": "topmostSubform[0].Page2[0].f2_08[0]",
                    "Value": "",
                    "Left": 504,
                    "Top": 108,
                    "Width": 72,
                    "Height": 11.9990234375
                },
                {
                    "PageIndex": 2,
                    "Type": "EditBox",
                    "FieldName": "topmostSubform[0].Page2[0].f2_09[0]",
                    "Value": "",
                    "Left": 504,
                    "Top": 119.9990234375,
                    "Width": 72,
                    "Height": 11.99896240234375
                },
                {
                    "PageIndex": 2,
                    "Type": "EditBox",
                    "FieldName": "topmostSubform[0].Page2[0].Line18_ReadOrder[0].f2_10[0]",
                    "Value": "",
                    "Left": 410.3999938964844,
                    "Top": 144,
                    "Width": 71.25,
                    "Height": 11.9990234375
                },
                {
                    "PageIndex": 2,
                    "Type": "EditBox",
                    "FieldName": "topmostSubform[0].Page2[0].Line18_ReadOrder[0].f2_11[0]",
                    "Value": "",
                    "Left": 410.3999938964844,
                    "Top": 155.9990234375,
                    "Width": 71.25,
                    "Height": 11.99896240234375
                },
                {
                    "PageIndex": 2,
                    "Type": "EditBox",
                    "FieldName": "topmostSubform[0].Page2[0].Line18_ReadOrder[0].f2_12[0]",
                    "Value": "",
                    "Left": 410.3999938964844,
                    "Top": 168.0009765625,
                    "Width": 71.25,
                    "Height": 11.9990234375
                },
                {
                    "PageIndex": 2,
                    "Type": "EditBox",
                    "FieldName": "topmostSubform[0].Page2[0].Line18_ReadOrder[0].f2_13[0]",
                    "Value": "",
                    "Left": 410.3999938964844,
                    "Top": 180,
                    "Width": 71.25,
                    "Height": 11.9990234375
                },
                {
                    "PageIndex": 2,
                    "Type": "EditBox",
                    "FieldName": "topmostSubform[0].Page2[0].f2_14[0]",
                    "Value": "",
                    "Left": 504,
                    "Top": 192.0009765625,
                    "Width": 72,
                    "Height": 12
                },
                {
                    "PageIndex": 2,
                    "Type": "EditBox",
                    "FieldName": "topmostSubform[0].Page2[0].f2_15[0]",
                    "Value": "",
                    "Left": 504,
                    "Top": 204.0009765625,
                    "Width": 72,
                    "Height": 11.9990234375
                },
                {
                    "PageIndex": 2,
                    "Type": "EditBox",
                    "FieldName": "topmostSubform[0].Page2[0].f2_16[0]",
                    "Value": "",
                    "Left": 504,
                    "Top": 216,
                    "Width": 72,
                    "Height": 11.9990234375
                },
                {
                    "PageIndex": 2,
                    "Type": "CheckBox",
                    "FieldName": "topmostSubform[0].Page2[0].c2_04[0]",
                    "Value": "False",
                    "Left": 465.20001220703125,
                    "Top": 230.49798583984375,
                    "Width": 8,
                    "Height": 8
                },
                {
                    "PageIndex": 2,
                    "Type": "EditBox",
                    "FieldName": "topmostSubform[0].Page2[0].f2_17[0]",
                    "Value": "",
                    "Left": 504,
                    "Top": 227.9990234375,
                    "Width": 72,
                    "Height": 11.99896240234375
                },
                {
                    "PageIndex": 2,
                    "Type": "EditBox",
                    "FieldName": "topmostSubform[0].Page2[0].RoutingNo[0].f2_18[0]",
                    "Value": "",
                    "Left": 172.8000030517578,
                    "Top": 240.0009765625,
                    "Width": 129.45298767089844,
                    "Height": 11.9990234375
                },
                {
                    "PageIndex": 2,
                    "Type": "CheckBox",
                    "FieldName": "topmostSubform[0].Page2[0].c2_05[0]",
                    "Value": "False",
                    "Left": 377.3999938964844,
                    "Top": 243,
                    "Width": 8,
                    "Height": 8
                },
                {
                    "PageIndex": 2,
                    "Type": "CheckBox",
                    "FieldName": "topmostSubform[0].Page2[0].c2_05[1]",
                    "Value": "False",
                    "Left": 435,
                    "Top": 243,
                    "Width": 8,
                    "Height": 8
                },
                {
                    "PageIndex": 2,
                    "Type": "EditBox",
                    "FieldName": "topmostSubform[0].Page2[0].AccountNo[0].f2_19[0]",
                    "Value": "",
                    "Left": 172.822998046875,
                    "Top": 252.4990234375,
                    "Width": 244.08001708984375,
                    "Height": 11.0009765625
                },
                {
                    "PageIndex": 2,
                    "Type": "EditBox",
                    "FieldName": "topmostSubform[0].Page2[0].f2_20[0]",
                    "Value": "",
                    "Left": 410.3999938964844,
                    "Top": 263.9990234375,
                    "Width": 71.25,
                    "Height": 11.99896240234375
                },
                {
                    "PageIndex": 2,
                    "Type": "EditBox",
                    "FieldName": "topmostSubform[0].Page2[0].f2_21[0]",
                    "Value": "",
                    "Left": 504,
                    "Top": 276.0009765625,
                    "Width": 72,
                    "Height": 11.9990234375
                },
                {
                    "PageIndex": 2,
                    "Type": "EditBox",
                    "FieldName": "topmostSubform[0].Page2[0].f2_22[0]",
                    "Value": "",
                    "Left": 410.3999938964844,
                    "Top": 288,
                    "Width": 71.25,
                    "Height": 11.998992919921875
                },
                {
                    "PageIndex": 2,
                    "Type": "CheckBox",
                    "FieldName": "topmostSubform[0].Page2[0].ThirdPartyDesignee[0].c2_06[0]",
                    "Value": "False",
                    "Left": 491.6000061035156,
                    "Top": 302.99798583984375,
                    "Width": 8,
                    "Height": 8
                },
                {
                    "PageIndex": 2,
                    "Type": "CheckBox",
                    "FieldName": "topmostSubform[0].Page2[0].ThirdPartyDesignee[0].c2_06[1]",
                    "Value": "False",
                    "Left": 491.6000061035156,
                    "Top": 313.75,
                    "Width": 8,
                    "Height": 8
                },
                {
                    "PageIndex": 2,
                    "Type": "EditBox",
                    "FieldName": "topmostSubform[0].Page2[0].ThirdPartyDesignee[0].f2_23[0]",
                    "Value": "",
                    "Left": 144,
                    "Top": 324,
                    "Width": 144,
                    "Height": 18
                },
                {
                    "PageIndex": 2,
                    "Type": "EditBox",
                    "FieldName": "topmostSubform[0].Page2[0].ThirdPartyDesignee[0].f2_24[0]",
                    "Value": "",
                    "Left": 324,
                    "Top": 324,
                    "Width": 93.60000610351562,
                    "Height": 18
                },
                {
                    "PageIndex": 2,
                    "Type": "EditBox",
                    "FieldName": "topmostSubform[0].Page2[0].ThirdPartyDesignee[0].f2_25[0]",
                    "Value": "",
                    "Left": 504,
                    "Top": 330.0010070800781,
                    "Width": 72,
                    "Height": 11.998992919921875
                },
                {
                    "PageIndex": 2,
                    "Type": "EditBox",
                    "FieldName": "topmostSubform[0].Page2[0].Signatures[0].f2_26[0]",
                    "Value": "",
                    "Left": 325,
                    "Top": 376.0010070800781,
                    "Width": 134.79998779296875,
                    "Height": 19.998992919921875
                },
                {
                    "PageIndex": 2,
                    "Type": "EditBox",
                    "FieldName": "topmostSubform[0].Page2[0].Signatures[0].f2_27[0]",
                    "Value": "",
                    "Left": 504,
                    "Top": 384.0010070800781,
                    "Width": 72,
                    "Height": 11.998992919921875
                },
                {
                    "PageIndex": 2,
                    "Type": "EditBox",
                    "FieldName": "topmostSubform[0].Page2[0].Signatures[0].f2_28[0]",
                    "Value": "",
                    "Left": 325,
                    "Top": 406,
                    "Width": 134.79998779296875,
                    "Height": 19.998992919921875
                },
                {
                    "PageIndex": 2,
                    "Type": "EditBox",
                    "FieldName": "topmostSubform[0].Page2[0].Signatures[0].f2_29[0]",
                    "Value": "",
                    "Left": 504,
                    "Top": 414,
                    "Width": 72,
                    "Height": 11.998992919921875
                },
                {
                    "PageIndex": 2,
                    "Type": "EditBox",
                    "FieldName": "topmostSubform[0].Page2[0].Signatures[0].f2_30[0]",
                    "Value": "",
                    "Left": 136.8000030517578,
                    "Top": 425.9989929199219,
                    "Width": 135.8000030517578,
                    "Height": 11.998992919921875
                },
                {
                    "PageIndex": 2,
                    "Type": "EditBox",
                    "FieldName": "topmostSubform[0].Page2[0].Signatures[0].f2_31[0]",
                    "Value": "",
                    "Left": 324,
                    "Top": 425.9989929199219,
                    "Width": 252,
                    "Height": 11.998992919921875
                },
                {
                    "PageIndex": 2,
                    "Type": "EditBox",
                    "FieldName": "topmostSubform[0].Page2[0].PaidPreparer[0].Preparer[0].f2_32[0]",
                    "Value": "",
                    "Left": 93.5999984741211,
                    "Top": 448.0010070800781,
                    "Width": 121.4000015258789,
                    "Height": 14.001007080078125
                },
                {
                    "PageIndex": 2,
                    "Type": "EditBox",
                    "FieldName": "topmostSubform[0].Page2[0].PaidPreparer[0].Preparer[0].f2_33[0]",
                    "Value": "",
                    "Left": 447.3999938964844,
                    "Top": 448.0010070800781,
                    "Width": 55.600006103515625,
                    "Height": 14.001007080078125
                },
                {
                    "PageIndex": 2,
                    "Type": "CheckBox",
                    "FieldName": "topmostSubform[0].Page2[0].PaidPreparer[0].Preparer[0].CheckIf[0].c2_07[0]",
                    "Value": "False",
                    "Left": 511.20001220703125,
                    "Top": 450.9700012207031,
                    "Width": 8,
                    "Height": 8
                },
                {
                    "PageIndex": 2,
                    "Type": "CheckBox",
                    "FieldName": "topmostSubform[0].Page2[0].PaidPreparer[0].Preparer[0].CheckIf[0].c2_07[1]",
                    "Value": "False",
                    "Left": 511.20001220703125,
                    "Top": 462.99798583984375,
                    "Width": 8,
                    "Height": 8
                },
                {
                    "PageIndex": 2,
                    "Type": "EditBox",
                    "FieldName": "topmostSubform[0].Page2[0].PaidPreparer[0].Preparer[0].f2_34[0]",
                    "Value": "",
                    "Left": 158.39999389648438,
                    "Top": 461.9989929199219,
                    "Width": 229.39999389648438,
                    "Height": 11.94000244140625
                },
                {
                    "PageIndex": 2,
                    "Type": "EditBox",
                    "FieldName": "topmostSubform[0].Page2[0].PaidPreparer[0].Preparer[0].f2_35[0]",
                    "Value": "",
                    "Left": 432,
                    "Top": 461.9989929199219,
                    "Width": 72,
                    "Height": 11.94000244140625
                },
                {
                    "PageIndex": 2,
                    "Type": "EditBox",
                    "FieldName": "topmostSubform[0].Page2[0].PaidPreparer[0].Preparer[0].f2_36[0]",
                    "Value": "",
                    "Left": 158.39999389648438,
                    "Top": 474.0010070800781,
                    "Width": 301.3999938964844,
                    "Height": 11.998992919921875
                },
                {
                    "PageIndex": 2,
                    "Type": "EditBox",
                    "FieldName": "topmostSubform[0].Page2[0].PaidPreparer[0].Preparer[0].f2_37[0]",
                    "Value": "",
                    "Left": 509.7449951171875,
                    "Top": 474.0010070800781,
                    "Width": 66.2550048828125,
                    "Height": 11.998992919921875
                }
            ]
        }
    },
    "error": false,
    "status": 200,
    "remainingCredits": 59987
}

Status Code: 200


04. PDF Add Text, Signatures and Images to PDF

Add text, images, links to PDF files. You can update or modify PDF and scanned PDF files.

Interactive helper tool: PDF viewer displaying X and Y coordinates.

1. /pdf/edit/add

Add text, images, signatures, text fields, unchecked checkbox, checked checkbox to existing PDF file. You can fill out out existing PDF forms and documents and create new filable PDF forms using this method.

To find X and Y coordinates for placing text, images or objects please use special PDF viewer displaying X and Y coordinates.

To save image or pdf for re-use as a template please use link from Dropbox or Google Drive or from other storage. Or use built-in PDF.co Files storage. If you need to draw a signature and save as image then use this page.

  • url required. URL to the source file. Supports links from Google Drive, Dropbox and from built-in PDF.co files storage. For uploading files via API please check Files Upload section.

  • annotations[]. optional. Array of text objects to be added on top of pdf. Text objects can be ready-only ("type": "text" by default), input pdf input fields ("type": "textField") or checkboxes ("type": "checkbox"). Sample:
    "annotations":
    [
          {
              "text": "Testing Clickable Links \r\n(CLICK ME!)",
              "x": 200,
              "y": 200,
              "size": 24,
              "pages": "0-",
              "color": "CCBBAA",
              "link": "https://bytescout.com/"
          },
          {
              "text": "Testing Clickable Links \r\n(CLICK ME!)",
              "x": 200,
              "y": 200,
              "size": 24,
              "pages": "0-",
              "color": "CCBBAA",
              "link": "https://bytescout.com/",
              "fontName": "Colibri",
              "fontItalic": true,
              "fontBold": true,
              "fontStrikeout": false,
              "fontUnderline": true,
              "type": "text"
          },
          {
              "text": "sample pdf input field with prefilled text",
              "x": 10,
              "y": 30,
              "size": 12,
              "pages": "0-",
              "type": "TextField",
              "id": "textfield1"
          },
          {
              "x": 100,
              "y": 150,
              "size": 12,
              "pages": "0-",
              "type": "Checkbox",
              "id": "checkbox2"
          }
    ]
    

    See font list for all PDF.co supported fonts.

  • images[] optional. Array of image urls (also can be a link to Files storage or datauri link) to be added on top of PDF file. Images can be loaded from URL or from URLs for internal file storage. Sample:
    "images": [
          {
              "url": "bytescout-com.s3-us-west-2.amazonaws.com/files/demo-files/cloud-api/pdf-edit/logo.png",
              "x": 200,
              "y": 250,
              "pages": "0",
              "link": "www.pdf.co"
          }    
    ]
    
  • fields[] optional. Array of values to update filable pdf fields in input pdf. You can create your own automated PDF filler for your pdf forms using this array. Sample:
    "fields: 
    [
          {
              "fieldName": "topmostSubform[0].Page1[0].FilingStatus[0].c1_01[1]",
              "pages": "1",
              "text": "True"
          },
          {
              "fieldName": "topmostSubform[0].Page1[0].FilingStatus[0].c1_01[1]",
              "pages": "1",
              "text": "True"
          }
    ]        
    
  • password optional. Password of PDF file. Must be a String
  • async optional. Runs processing asynchronously. Returns Use JobId that you may use with /job/check to check state of the processing (possible states: working, failed, aborted and success). Must be one of: true, false.
  • encrypt optional. Enable encryption for output file. Must be one of: true, false.
  • name optional. File name for generated output. Must be a String.

  • profiles optional. Must be a String. You can set additional and extra options using this parameter that allows you to set custom configuration. See profiles samples for examples.

Endpoint:

Method: POST
Type: RAW
URL: https://api.pdf.co/v1/pdf/edit/add

Headers:

KeyValueDescription
Content-Typeapplication/json 
x-api-key{{x-api-key}}Required. API key for PDF.co. Get yours at https://pdf.co/

Body:

{
    "async": false,
    "encrypt": true,
    "name": "newDocument",
    "url": "https://bytescout-com.s3-us-west-2.amazonaws.com/files/demo-files/cloud-api/pdf-edit/sample.pdf",
    "annotations": [
        {
            "text": "Sample Text 1",
            "x": 150,
            "y": 100,
            "size": 20,
            "pages": "0-"
        },
        {
            "text": "Sample Text 2 - Click here to test link\r\n(CLICK ME!)",
            "x": 250,
            "y": 240,
            "size": 24,
            "pages": "0-",
            "color": "CCBBAA",
            "link": "https://bytescout.com/",
            "fontName": "Colibri",
            "fontItalic": true,
            "fontBold": true,
            "fontStrikeout": false,
            "fontUnderline": true
        },
        {
            "text": "Simple text 3",
            "x": 100,
            "y": 230,
            "size": 12,
            "pages": "0-",
            "type": "Text"
        },
        {
            "text": "sample text 3 - input text field",
            "x": 100,
            "y": 170,
            "size": 16,
            "pages": "0-",
            "type": "TextField",
            "id": "textfield1"
        },
        {
            "x": 200,
            "y": 120,
            "size": 16,
            "pages": "0-",
            "type": "Checkbox",
            "id": "checkbox2"
        },
        {
            "x": 200,
            "y": 140,
            "size": 16,
            "pages": "0-",
            "type": "CheckboxChecked",
            "id": "checkbox3"
        }
    ],
    "images": [
        {
            "url": "https://bytescout-com.s3-us-west-2.amazonaws.com/files/demo-files/cloud-api/pdf-edit/logo.png",
            "x": 270,
            "y": 150,
            "width": 159,
            "height": 43,
            "pages": "0"
        },
{
            "url": "data:image/png;base64,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",
            "x": 10,
            "y": 230,
            "pages": "0-"
        }
    ]
}

More example Requests/Responses:

I. Example Request: /pdf/edit/add

Headers:

KeyValueDescription
Content-Typeapplication/json 
x-api-key{{x-api-key}}Required. API key for PDF.co. Get yours at https://pdf.co/

Body:

{
    "async": false,
    "encrypt": true,
    "name": "newDocument",
    "url": "https://bytescout-com.s3-us-west-2.amazonaws.com/files/demo-files/cloud-api/pdf-edit/sample.pdf",
    "annotations": [
        {
            "text": "Sample Text 1",
            "x": 150,
            "y": 100,
            "size": 20,
            "pages": "0-"
        },
        {
            "text": "Sample Text 2 - Click here to test link\r\n(CLICK ME!)",
            "x": 250,
            "y": 240,
            "size": 24,
            "pages": "0-",
            "color": "CCBBAA",
            "link": "https://bytescout.com/",
            "fontName": "Colibri",
            "fontItalic": true,
            "fontBold": true,
            "fontStrikeout": false,
            "fontUnderline": true
        },
        {
            "text": "Simple text 3",
            "x": 100,
            "y": 230,
            "size": 12,
            "pages": "0-",
            "type": "Text"
        },
        {
            "text": "sample text 3 - input text field",
            "x": 100,
            "y": 170,
            "size": 16,
            "pages": "0-",
            "type": "TextField",
            "id": "textfield1"
        },
        {
            "x": 200,
            "y": 120,
            "size": 16,
            "pages": "0-",
            "type": "Checkbox",
            "id": "checkbox2"
        },
        {
            "x": 200,
            "y": 140,
            "size": 16,
            "pages": "0-",
            "type": "CheckboxChecked",
            "id": "checkbox3"
        }
    ],
    "images": [
        {
            "url": "https://bytescout-com.s3-us-west-2.amazonaws.com/files/demo-files/cloud-api/pdf-edit/logo.png",
            "x": 270,
            "y": 150,
            "width": 159,
            "height": 43,
            "pages": "0"
        },
{
            "url": "data:image/png;base64,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",
            "x": 10,
            "y": 230,
            "pages": "0-"
        }
    ]
}
I. Example Response: /pdf/edit/add
{
    "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
    "url": "https://pdf-temp-files.s3-us-west-2.amazonaws.com/0c336bfcef1a473d98492bda25d8da03/newDocument.pdf?X-Amz-Expires=3600&x-amz-security-token=FwoGZXIvYXdzEO7%2F%2F%2F%2F%2F%2F%2F%2F%2F%2FwEaDHWK1dY4d4lOgsheliKBATwE%2FZewASPTEnPxTn%2BOdYhP4h3gljAJfqbRvQptDX7wdWLmrBS7Tg4qTU6pAbxIdXChGPjBWpSbtiADJKmqkmyhkUmE8GSM1%2FGtJO6bga2pgzvFLXmzxjTf3%2BFNqwYOvbyApIZdVLoPpEKY6PlCflQtLTd30dhelm6xpB8pitbdhSjdz8KCBjIobVy%2Fjwybwp6OQgB%2FT6QkIo2dU07gtFREdn5jhRyvnS5lkccweBV1%2Bw%3D%3D&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=ASIA4NRRSZPHMV5P3JOS/20210316/us-west-2/s3/aws4_request&X-Amz-Date=20210316T124309Z&X-Amz-SignedHeaders=host;x-amz-security-token&X-Amz-Signature=95287bf3c007fed4c2c5aeea1ce75c846cc6c68b22aaf35175ebe41a105f54e1",
    "pageCount": 1,
    "error": false,
    "status": 200,
    "name": "newDocument",
    "remainingCredits": 9913694,
    "credits": 3
}

Status Code: 200


2. /pdf/edit/add (with simplified parameters)

You can add text, images, signatures to pdf and also can fill interactive pdf forms. This method uses simplified version of /pdf/edit/add that allows you to add multiple text, images, fill pdf fields using simplified string representations

To find X and Y coordinates for placing text, images or objects please use special PDF viewer displaying X and Y coordinates.

To save image or pdf for re-use as a template please use link from Dropbox or Google Drive or from other storage. Or use built-in PDF.co Files storage. If you need to draw a signature and save as image then use this page.

  • url required. URL to the source file. Supports links from Google Drive, Dropbox and from built-in PDF.co files storage. For uploading files via API please check Files Upload section.
  • annotationsString optional. Add one or more text objects on top of pdf. Each text object to be added can be described as x;y;pages;text;fontsize;fontname;fontcolor;link;transparent. Sample: 20;20;0-;Testing Text;24;Arial;FF0000;www.pdf.co;false. To separate multiple objects, use | separator. where 24 is the font size. You can also add styles intoto the font size using the following modifiers:
    • +bold for bold style
    • +italic for italic style
    • +underline for underline style
    • +strikeout for strikeout style

See full list of fonts supported for all PDF.co supported fonts.

For example, for font size 24 and `bold`, `italic`, `underline` and `strikeout` styles:
250;20;0-;PDF form filled with PDF.co API;24+bold+italic+underline+strikeout;Arial;FF0000;www.pdf.co;true
  • imagesString optional. Adds one or more images on top of pdf. Each image object can be defined as x;y;pages;urltoimage;linkToOpen;width;height

Example: 20;80;0-;bytescout-com.s3-us-west-2.amazonaws.com/files/demo-files/cloud-api/pdf-edit/logo.png;www.pdf.co;200;200. To separate multiple objects, use | separator.

  • fieldsString optional. Set values for fillable pdf fields (i.e. fill pdf fields in pdf forms). To fill fields in PDF form, use the following format page;fieldName;value. Example: 0;editbox1;text is here. To fill checkbox, use true, for example: 0;checkbox1;true. To separate multiple objects, use | separator. To get the list of all fillable fields in PDF form please use /pdf/info/fields endpoint.

  • password optional. Password of PDF file. Must be a String
  • async optional. Runs processing asynchronously. Returns Use JobId that you may use with /job/check to check state of the processing (possible states: working, failed, aborted and success). Must be one of: true, false.
  • encrypt optional. Enable encryption for output file. Must be one of: true, false.
  • name optional. File name for generated output. Must be a String.
  • profiles optional. Must be a String. You can set additional and extra options using this parameter that allows you to set custom configuration. See profiles samples for examples.

Endpoint:

Method: POST
Type: RAW
URL: https://api.pdf.co/v1/pdf/edit/add

Headers:

KeyValueDescription
Content-Typeapplication/json 
x-api-key{{x-api-key}}Required. API key for PDF.co. Get yours at https://pdf.co/

Body:

{
    "async": false,
    "encrypt": false,
    "name": "f1040-form-filled",
    "url": "bytescout-com.s3-us-west-2.amazonaws.com/files/demo-files/cloud-api/pdf-form/f1040.pdf",
    "annotationsString": "250;20;0-;PDF form filled with PDF.co API;24+bold+italic+underline+strikeout;Arial;FF0000;www.pdf.co;true",
    "imagesString": "100;180;0-;bytescout-com.s3-us-west-2.amazonaws.com/files/demo-files/cloud-api/pdf-edit/logo.png|400;180;0-;bytescout-com.s3-us-west-2.amazonaws.com/files/demo-files/cloud-api/pdf-edit/logo.png;www.pdf.co;200;200",
    "fieldsString": "1;topmostSubform[0].Page1[0].f1_02[0];John A. Doe|1;topmostSubform[0].Page1[0].FilingStatus[0].c1_01[1];true|1;topmostSubform[0].Page1[0].YourSocial_ReadOrderControl[0].f1_04[0];123456789"
}

More example Requests/Responses:

I. Example Request: JSON simplified /pdf/edit/add

Headers:

KeyValueDescription
Content-Typeapplication/json 
x-api-key{{x-api-key}}Required. API key for PDF.co. Get yours at https://pdf.co/

Body:

{
    "async": false,
    "encrypt": false,
    "name": "f1040-form-filled",
    "url": "bytescout-com.s3-us-west-2.amazonaws.com/files/demo-files/cloud-api/pdf-form/f1040.pdf",
    "annotationsString": "20;20;0-;PDF form filled with PDF.co API;24;Arial;FF0000;www.pdf.co;true",
    "imagesString": "100;180;0-;bytescout-com.s3-us-west-2.amazonaws.com/files/demo-files/cloud-api/pdf-edit/logo.png|400;180;0-;bytescout-com.s3-us-west-2.amazonaws.com/files/demo-files/cloud-api/pdf-edit/logo.png;www.pdf.co;200;200",
    "fieldsString": "1;topmostSubform[0].Page1[0].f1_02[0];John A. Doe|1;topmostSubform[0].Page1[0].FilingStatus[0].c1_01[1];true|1;topmostSubform[0].Page1[0].YourSocial_ReadOrderControl[0].f1_04[0];123456789"
}
I. Example Response: JSON simplified /pdf/edit/add
{
    "url": "https://pdf-temp-files.s3.amazonaws.com/03c5c55183c74f8d94a4ec952e4e32ad/f1040-form-filled.pdf",
    "pageCount": 3,
    "error": false,
    "status": 200,
    "name": "f1040-form-filled",
    "remainingCredits": 60822
}

Status Code: 200


05. PDF Fill PDF Forms

PDF filler for fillable PDF forms using PDF.co.

To find names of PDF form fields names, please use this interactive tool.

To get the list of all fillable fields inside PDF form, please use /pdf/info/fields endpoint.

If you need to create your own fillable form then please check PDF Create Fillable PDF Forms topic.

1. /pdf/edit/add

adds text, images, text fields, unchecked checkbox, checked checkbox to existing PDF file. You can fill out out existing PDF forms and documents and create new fillable PDF forms using this method.

adds text, images, text fields, unchecked checkbox, checked checkbox to existing PDF file. You can fill out out existing PDF forms and documents and create new fillable PDF forms using this method.

  • url required. URL to the source file. Supports links from Google Drive, Dropbox and from built-in PDF.co files storage. For uploading files via API please check Files Upload section.

  • annotations[]. optional. Array of text objects to be added on top of pdf. Text objects can be ready-only ("type": "text" by default), input pdf input fields ("type": "textField") or checkboxes ("type": "checkbox"). Sample:
    "annotations":
    [
          {
              "text": "Testing Clickable Links \r\n(CLICK ME!)",
              "x": 200,
              "y": 200,
              "size": 24,
              "pages": "0-",
              "color": "CCBBAA",
              "link": "https://bytescout.com/"
          },
          {
              "text": "Testing Clickable Links \r\n(CLICK ME!)",
              "x": 200,
              "y": 200,
              "size": 24,
              "pages": "0-",
              "color": "CCBBAA",
              "link": "https://bytescout.com/",
              "fontName": "Colibri",
              "fontItalic": true,
              "fontBold": true,
              "fontStrikeout": false,
              "fontUnderline": true,
              "type": "text"
          },
          {
              "text": "sample pdf input field with prefilled text",
              "x": 10,
              "y": 30,
              "size": 12,
              "pages": "0-",
              "type": "TextField",
              "id": "textfield1"
          },
          {
              "x": 100,
              "y": 150,
              "size": 12,
              "pages": "0-",
              "type": "Checkbox",
              "id": "checkbox2"
          }
    ]
    

    See font list for all PDF.co supported fonts.

  • images[] optional. Array of image objects to be added on top of PDF file. Images can be loaded from URL or from URLs for internal file storage. Sample:
    "images": [
          {
              "url": "bytescout-com.s3-us-west-2.amazonaws.com/files/demo-files/cloud-api/pdf-edit/logo.png",
              "x": 200,
              "y": 250,
              "pages": "0",
              "link": "www.pdf.co"
          }    
    ]
    
  • fields[] optional. Array of values to update filable pdf fields in input pdf. You can create your own automated PDF filler for your pdf forms using this array. Sample:
    "fields: 
    [
          {
              "fieldName": "topmostSubform[0].Page1[0].FilingStatus[0].c1_01[1]",
              "pages": "1",
              "text": "True"
          },
          {
              "fieldName": "topmostSubform[0].Page1[0].FilingStatus[0].c1_01[1]",
              "pages": "1",
              "text": "True"
          }
    ]        
    
  • password optional. Password of PDF file. Must be a String
  • async optional. Runs processing asynchronously. Returns Use JobId that you may use with /job/check to check state of the processing (possible states: working, failed, aborted and success). Must be one of: true, false.
  • encrypt optional. Enable encryption for output file. Must be one of: true, false.
  • name optional. File name for generated output. Must be a String.

  • profiles optional. Must be a String. You can set additional and extra options using this parameter that allows you to set custom configuration. See profiles samples for examples.

Endpoint:

Method: POST
Type: RAW
URL: https://api.pdf.co/v1/pdf/edit/add

Headers:

KeyValueDescription
Content-Typeapplication/json 
x-api-key{{x-api-key}}Required. API key for PDF.co. Get yours at https://pdf.co/

Body:

{
    "async": false,
    "encrypt": false,
    "name": "f1040-filled",
    "url": "https://bytescout-com.s3-us-west-2.amazonaws.com/files/demo-files/cloud-api/pdf-form/f1040.pdf",
    "fields": [
        {
            "fieldName": "topmostSubform[0].Page1[0].FilingStatus[0].c1_01[1]",
            "pages": "1",
            "text": "True"
        },
        {
            "fieldName": "topmostSubform[0].Page1[0].f1_02[0]",
            "pages": "1",
            "text": "John A."
        },        
        {
            "fieldName": "topmostSubform[0].Page1[0].f1_03[0]",
            "pages": "1",
            "text": "Doe"
        },        
        {
            "fieldName": "topmostSubform[0].Page1[0].YourSocial_ReadOrderControl[0].f1_04[0]",
            "pages": "1",
            "text": "123456789"
        },
        {
            "fieldName": "topmostSubform[0].Page1[0].YourSocial_ReadOrderControl[0].f1_05[0]",
            "pages": "1",
            "text": "Joan B."
        },
        {
            "fieldName": "topmostSubform[0].Page1[0].YourSocial_ReadOrderControl[0].f1_05[0]",
            "pages": "1",
            "text": "Joan B."
        },
        {
            "fieldName": "topmostSubform[0].Page1[0].YourSocial_ReadOrderControl[0].f1_06[0]",
            "pages": "1",
            "text": "Doe"
        },
        {
            "fieldName": "topmostSubform[0].Page1[0].YourSocial_ReadOrderControl[0].f1_07[0]",
            "pages": "1",
            "text": "987654321"
        }     



    ],
    "annotations":[
        {
            "text":"Sample Filled with PDF.co API using /pdf/edit/add. Get fields from forms using /pdf/info/fields",
            "x": 10,
            "y": 10,
            "size": 12,
            "pages": "0-",
            "color": "FFCCCC",
            "link": "https://pdf.co"
        }
    ],    
    "images": [        
    ]
}

More example Requests/Responses:

I. Example Request: POST /pdf/edit/add

Headers:

KeyValueDescription
Content-Typeapplication/json 
x-api-key{{x-api-key}}Required. API key for PDF.co. Get yours at https://pdf.co/

Body:

{
    "async": false,
    "encrypt": false,
    "name": "f1040-filled",
    "url": "https://bytescout-com.s3-us-west-2.amazonaws.com/files/demo-files/cloud-api/pdf-form/f1040.pdf",
    "fields": [
        {
            "fieldName": "topmostSubform[0].Page1[0].FilingStatus[0].c1_01[1]",
            "pages": "1",
            "text": "True"
        },
        {
            "fieldName": "topmostSubform[0].Page1[0].f1_02[0]",
            "pages": "1",
            "text": "John A."
        },        
        {
            "fieldName": "topmostSubform[0].Page1[0].f1_03[0]",
            "pages": "1",
            "text": "Doe"
        },        
        {
            "fieldName": "topmostSubform[0].Page1[0].YourSocial_ReadOrderControl[0].f1_04[0]",
            "pages": "1",
            "text": "123456789"
        },
        {
            "fieldName": "topmostSubform[0].Page1[0].YourSocial_ReadOrderControl[0].f1_05[0]",
            "pages": "1",
            "text": "Joan B."
        },
        {
            "fieldName": "topmostSubform[0].Page1[0].YourSocial_ReadOrderControl[0].f1_05[0]",
            "pages": "1",
            "text": "Joan B."
        },
        {
            "fieldName": "topmostSubform[0].Page1[0].YourSocial_ReadOrderControl[0].f1_06[0]",
            "pages": "1",
            "text": "Doe"
        },
        {
            "fieldName": "topmostSubform[0].Page1[0].YourSocial_ReadOrderControl[0].f1_07[0]",
            "pages": "1",
            "text": "987654321"
        }     



    ],
    "annotations":[
        {
            "text":"Sample Filled with PDF.co API using /pdf/edit/add. Get fields from forms using /pdf/info/fields",
            "x": 10,
            "y": 10,
            "size": 12,
            "pages": "0-",
            "color": "FFCCCC",
            "link": "https://pdf.co"
        }
    ],    
    "images": [        
    ]
}
I. Example Response: POST /pdf/edit/add
{
    "url": "https://pdf-temp-files.s3.amazonaws.com/6e12bf1e57e347a381e69d626159de92/f1040-filled.pdf",
    "pageCount": 3,
    "error": false,
    "status": 200,
    "name": "f1040-filled",
    "remainingCredits": 61317
}

Status Code: 200


2. /pdf/edit/add (with simplified params)

You can add fill pdf fields in existing PDF PDF forms. This method uses simplified version of /pdf/edit/add.

  • url required. URL to the source file. Supports links from Google Drive, Dropbox and from built-in PDF.co files storage. For uploading files via API please check Files Upload section.
  • annotationsString optional. Add one or more text objects on top of pdf. Each text object to be added can be described as x;y;pages;text;fontsize;fontname;fontcolor;link;transparent. Sample: 20;20;0-;Testing Text;24;Arial;FF0000;www.pdf.co;false. To separate multiple objects, use | separator. where 24 is the font size. You can also add styles intoto the font size using the following modifiers:
    • +bold for bold style
    • +italic for italic style
    • +underline for underline style
    • +strikeout for strikeout style

    See font list for all PDF.co supported fonts. For example, for font size 24 and bold, italic, underline and strikeout styles:

    250;20;0-;PDF form filled with PDF.co API;24+bold+italic+underline+strikeout;Arial;FF0000;www.pdf.co;true
  • imagesString optional. Adds one or more images on top of pdf. Each image object can be defined as x;y;pages;urltoimage;linkToOpen;width;height for example: 20;80;0-;bytescout-com.s3-us-west-2.amazonaws.com/files/demo-files/cloud-api/pdf-edit/logo.png;www.pdf.co;200;200. To separate multiple objects, use | separator.

  • fieldsString optional. Set values for fillable pdf fields (i.e. fill pdf fields in pdf forms). To fill fields in PDF form, use the following format page;fieldName;value. Sample: 0;editbox1;text is here. To fill checkbox, use true, for example: 0;checkbox1;true. To separate multiple objects, use | separator. To get the list of all fillable fields in PDF form please use /pdf/info/fields endpoint.

  • password optional. Password of PDF file. Must be a String
  • async optional. Runs processing asynchronously. Returns Use JobId that you may use with /job/check to check state of the processing (possible states: working, failed, aborted and success). Must be one of: true, false.
  • encrypt optional. Enable encryption for output file. Must be one of: true, false.
  • name optional. File name for generated output. Must be a String.
  • profiles optional. Must be a String. You can set additional and extra options using this parameter that allows you to set custom configuration. See profiles samples for examples.

Endpoint:

Method: POST
Type: RAW
URL: https://api.pdf.co/v1/pdf/edit/add

Headers:

KeyValueDescription
Content-Typeapplication/json 
x-api-key{{x-api-key}}Required. API key for PDF.co. Get yours at https://pdf.co/

Body:

{
    "async": false,
    "encrypt": false,
    "name": "f1040-form-filled",
    "url": "https://bytescout-com.s3-us-west-2.amazonaws.com/files/demo-files/cloud-api/pdf-form/f1040.pdf",
    "fieldsString": "1;topmostSubform[0].Page1[0].f1_02[0];John A. Doe|1;topmostSubform[0].Page1[0].FilingStatus[0].c1_01[1];true|1;topmostSubform[0].Page1[0].YourSocial_ReadOrderControl[0].f1_04[0];123456789"
}

More example Requests/Responses:

I. Example Request: JSON simplified /pdf/edit/add

Headers:

KeyValueDescription
Content-Typeapplication/json 
x-api-key{{x-api-key}}Required. API key for PDF.co. Get yours at https://pdf.co/

Body:

{
    "async": false,
    "encrypt": false,
    "name": "f1040-form-filled",
    "url": "bytescout-com.s3-us-west-2.amazonaws.com/files/demo-files/cloud-api/pdf-form/f1040.pdf",
    "annotationsString": "20;20;0-;PDF form filled with PDF.co API;24;Arial;FF0000;www.pdf.co;true",
    "imagesString": "100;180;0-;bytescout-com.s3-us-west-2.amazonaws.com/files/demo-files/cloud-api/pdf-edit/logo.png|400;180;0-;bytescout-com.s3-us-west-2.amazonaws.com/files/demo-files/cloud-api/pdf-edit/logo.png;www.pdf.co;200;200",
    "fieldsString": "1;topmostSubform[0].Page1[0].f1_02[0];John A. Doe|1;topmostSubform[0].Page1[0].FilingStatus[0].c1_01[1];true|1;topmostSubform[0].Page1[0].YourSocial_ReadOrderControl[0].f1_04[0];123456789"
}
I. Example Response: JSON simplified /pdf/edit/add
{
    "url": "https://pdf-temp-files.s3.amazonaws.com/03c5c55183c74f8d94a4ec952e4e32ad/f1040-form-filled.pdf",
    "pageCount": 3,
    "error": false,
    "status": 200,
    "name": "f1040-form-filled",
    "remainingCredits": 60822
}

Status Code: 200


06. PDF Create Fillable PDF Forms

Create new PDF forms with fillable edit boxes, checkboxes and other fillable fields.

To fill pdf forms or to add text, links, images please check pdf/edit/add endpoint instead.

1. /pdf/edit/add

You can create fillable PDF form from existing PDF by adding editable text boxes and checkboxes.

adds text, images, text fields, unchecked checkbox, checked checkbox to existing PDF file. You can fill out out existing PDF forms and documents and create new fillable PDF forms using this method.

  • url required. URL to the source file. Supports links from Google Drive, Dropbox and from built-in PDF.co files storage. For uploading files via API please check Files Upload section.

  • annotations[]. optional. Array of text objects to be added on top of pdf. Text objects can be ready-only ("type": "text" by default), input pdf input fields ("type": "textField") or checkboxes ("type": "checkbox"). Sample:
    "annotations":
    [
          {
              "text": "Testing Clickable Links \r\n(CLICK ME!)",
              "x": 200,
              "y": 200,
              "size": 24,
              "pages": "0-",
              "color": "CCBBAA",
              "link": "https://bytescout.com/"
          },
          {
              "text": "Testing Clickable Links \r\n(CLICK ME!)",
              "x": 200,
              "y": 200,
              "size": 24,
              "pages": "0-",
              "color": "CCBBAA",
              "link": "https://bytescout.com/",
              "fontName": "Colibri",
              "fontItalic": true,
              "fontBold": true,
              "fontStrikeout": false,
              "fontUnderline": true,
              "type": "text"
          },
          {
              "text": "sample pdf input field with prefilled text",
              "x": 10,
              "y": 30,
              "size": 12,
              "pages": "0-",
              "type": "TextField",
              "id": "textfield1"
          },
          {
              "x": 100,
              "y": 150,
              "size": 12,
              "pages": "0-",
              "type": "Checkbox",
              "id": "checkbox2"
          }
    ]
    

    See font list for all PDF.co supported fonts.

  • images[] optional. Array of image objects to be added on top of PDF file. Images can be loaded from URL or from URLs for internal file storage. Sample:
    "images": [
          {
              "url": "bytescout-com.s3-us-west-2.amazonaws.com/files/demo-files/cloud-api/pdf-edit/logo.png",
              "x": 200,
              "y": 250,
              "pages": "0",
              "link": "www.pdf.co"
          }    
    ]
    
  • fields[] optional. Array of values to update filable pdf fields in input pdf. You can create your own automated PDF filler for your pdf forms using this array. Sample:
    "fields: 
    [
          {
              "fieldName": "topmostSubform[0].Page1[0].FilingStatus[0].c1_01[1]",
              "pages": "1",
              "text": "True"
          },
          {
              "fieldName": "topmostSubform[0].Page1[0].FilingStatus[0].c1_01[1]",
              "pages": "1",
              "text": "True"
          }
    ]        
    
  • password optional. Password of PDF file. Must be a String
  • async optional. Runs processing asynchronously. Returns Use JobId that you may use with /job/check to check state of the processing (possible states: working, failed, aborted and success). Must be one of: true, false.
  • encrypt optional. Enable encryption for output file. Must be one of: true, false.
  • name optional. File name for generated output. Must be a String.

  • profiles optional. Must be a String. You can set additional and extra options using this parameter that allows you to set custom configuration. See profiles samples for examples.

Endpoint:

Method: POST
Type: RAW
URL: https://api.pdf.co/v1/pdf/edit/add

Headers:

KeyValueDescription
Content-Typeapplication/json 
x-api-key{{x-api-key}}Required. API key for PDF.co. Get yours at https://pdf.co/

Body:

{
    "async": false,
    "encrypt": true,
    "name": "newDocument",
    "url": "https://bytescout-com.s3-us-west-2.amazonaws.com/files/demo-files/cloud-api/pdf-edit/sample.pdf",
    "annotations":[        
       {
            "text":"sample prefilled text",
            "x": 10,
            "y": 30,
            "size": 12,
            "pages": "0-",
            "type": "TextField",
            "id": "textfield1"
        },
        {
            "x": 100,
            "y": 150,
            "size": 12,
            "pages": "0-",
            "type": "Checkbox",
            "id": "checkbox2"
        },
        {
            "x": 100,
            "y": 170,
            "size": 12,
            "pages": "0-",
            "link": "https://bytescout-com.s3-us-west-2.amazonaws.com/files/demo-files/cloud-api/pdf-edit/logo.png",
            "type": "CheckboxChecked",
            "id":"checkbox3"
        }          
        
    ],
    
    "images": [
        {
            "url": "bytescout-com.s3-us-west-2.amazonaws.com/files/demo-files/cloud-api/pdf-edit/logo.png",
            "x": 200,
            "y": 250,
            "pages": "0",
            "link": "www.pdf.co"
        }
        
    ]
}

More example Requests/Responses:

I. Example Request: POST /pdf/edit/add

Headers:

KeyValueDescription
Content-Typeapplication/json 
x-api-key{{x-api-key}}Required. API key for PDF.co. Get yours at https://pdf.co/

Body:

{
    "async": false,
    "encrypt": true,
    "name": "newDocument",
    "url": "https://bytescout-com.s3-us-west-2.amazonaws.com/files/demo-files/cloud-api/pdf-edit/sample.pdf",
    "annotations":[
        {
            "text":"Testing, one, two, three.",
            "x": 10,
            "y": 10,
            "size": 12,
            "pages": "0-"
        },
        {
            "text":"Testing Clickable Links \r\n(CLICK ME!)",
            "x": 200,
            "y": 200,
            "size": 24,
            "pages": "0-",
            "color": "CCBBAA",
            "link": "https://bytescout.com/"
        },
      {
            "text":"Simple text label (default type)",
            "x": 100,
            "y": 100,
            "size": 12,
            "pages": "0-",
            "type": "Text"
        },
       {
            "text":"sample prefilled text",
            "x": 10,
            "y": 30,
            "size": 12,
            "pages": "0-",
            "type": "TextField",
            "id": "textfield1"
        },
              {
            "x": 100,
            "y": 150,
            "size": 12,
            "pages": "0-",
            "type": "Checkbox",
            "id": "checkbox2"
        },
              {
            "x": 100,
            "y": 170,
            "size": 12,
            "pages": "0-",
            "link": "https://bytescout-com.s3-us-west-2.amazonaws.com/files/demo-files/cloud-api/pdf-edit/logo.png",
            "type": "CheckboxChecked",
            "id":"checkbox3"
        }          
        
    ],
    
    "images": [
        {
            "url": "https://bytescout-com.s3-us-west-2.amazonaws.com/files/demo-files/cloud-api/pdf-edit/logo.png",
            "x": 450,
            "y": 10,
            "pages": "0"
        },
        {
            "url": "https://bytescout-com.s3-us-west-2.amazonaws.com/files/demo-files/cloud-api/pdf-edit/logo.png",
            "x": 450,
            "y": 100,
            "width": 50,
            "height": 50,
            "pages": "0"
        },
        {
            "url": "bytescout-com.s3-us-west-2.amazonaws.com/files/demo-files/cloud-api/pdf-edit/logo.png",
            "x": 200,
            "y": 250,
            "pages": "0",
            "link": "www.pdf.co"
        }
        
    ]
}
I. Example Response: POST /pdf/edit/add
{
    "url": "https://pdf-temp-files.s3-us-west-2.amazonaws.com/d5c6efa549194ffaacb2eedd318e0320/newDocument.pdf?X-Amz-Expires=3600&x-amz-security-token=FwoGZXIvYXdzECMaDJJV7qKrpnGUrZHrwSKBATR5rxVlQoU0zj3r4jyHPt7yj4HoCIBi65IbMRWVX8qZZtKL9YGUzP%2FcemlqVd4Vi5%2B80Sg%2BymqQtaQ8qSFqKA82JnV%2BNBDatIigZIZha%2BrQM3jSC%2FZhX1zxsfLLsaH3K5nBnkjT3gi%2FZnx%2FgqrlIhf3m2xRFaTlgHrBADlK9KKPIijSusD4BTIo%2FQ433xx%2FQEaGWdX0nu4NuiByyXNPsBCAI3im9LMUCujjqF79ocyLHA%3D%3D&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=ASIA4NRRSZPHCSWKUQ4T/20200716/us-west-2/s3/aws4_request&X-Amz-Date=20200716T092641Z&X-Amz-SignedHeaders=host;x-amz-security-token&X-Amz-Signature=2aa88d39aaf4b5891e4cb42d5675a64486098558d7159b37b75252209bdd6a95",
    "pageCount": 1,
    "error": false,
    "status": 200,
    "name": "newDocument",
    "remainingCredits": 77762
}

Status Code: 200


07. PDF Search Text

Search text in PDF and get coordinates. Supports regular expressions.

1. /pdf/find

  • url required. URL to the source file. Supports links from Google Drive, Dropbox and from built-in PDF.co files storage. For uploading files via API please check Files Upload section.
  • searchString text to search. Can contain regular expressions if you set regexSearch param to true.
  • pages optional. Comma-separated list of page indices (or ranges) to process. IMPORTANT: the very first page starts at 0 (zero). To set a range use the dash -, for example: 0,2-5,7-. To set a range from index to the last page use range like this: 2- (from page #3 as the index starts at zero and till the of the document). For ALL pages just leave this param empty. Example: 0,2-5,7- means first page, then 3rd page to 6th page, and then the range from 8th (index = 7) page till the end of the document. Must be a String.
  • inline optional. Must be one of: true, false.
  • wordMatchingMode optional. Must be a String.
  • password optional. Password of PDF file. Must be a String
  • regexSearch optional. Must be one of: true, false.
  • async optional. Runs processing asynchronously. Returns Use JobId that you may use with /job/check to check state of the processing (possible states: working, failed, aborted and success). Must be one of: true, false.
  • encrypt optional. Enable encryption for output file. Must be one of: true, false.
  • name optional. File name for generated output. Must be a String.
  • profiles optional. Must be a String. You can set additional and extra options using this parameter that allows you to set custom configuration. See profiles samples for examples.

Endpoint:

Method: POST
Type: RAW
URL: https://api.pdf.co/v1/pdf/find

Headers:

KeyValueDescription
x-api-key{{x-api-key}}Required. API key for PDF.co. Get yours at https://pdf.co/
Content-Typeapplication/json 

Body:

{
    "async": "false",
    "encrypt": "false",
    "url": "https://bytescout-com.s3.amazonaws.com/files/demo-files/cloud-api/pdf-to-text/sample.pdf",
    "searchString": "Invoice Date \\d+/\\d+/\\d+",
    "regexSearch": "true",
    "name": "output",
    "pages": "0-",
    "inline": "true",
    "wordMatchingMode": "",
    "password": ""
}

More example Requests/Responses:

I. Example Request: /pdf/find

Headers:

KeyValueDescription
x-api-key{{x-api-key}}Required. API key for PDF.co. Get yours at https://pdf.co/
Content-Typeapplication/json 

Body:

{
    "async": "false",
    "encrypt": "false",
    "url": "https://bytescout-com.s3.amazonaws.com/files/demo-files/cloud-api/pdf-to-text/sample.pdf",
    "searchString": "Invoice Date \\d+/\\d+/\\d+",
    "regexSearch": "true",
    "name": "output",
    "pages": "0-",
    "inline": "true",
    "wordMatchingMode": "",
    "password": ""
}
I. Example Response: /pdf/find
{
    "body": [
        {
            "text": "Invoice Date 01/01/2016",
            "left": 436.5400085449219,
            "top": 130.4599995137751,
            "width": 122.85311957550027,
            "height": 11.040000486224898,
            "pageIndex": 0,
            "bounds": {
                "location": {
                    "isEmpty": false,
                    "x": 436.54,
                    "y": 130.46
                },
                "size": "122.853119, 11.0400009",
                "x": 436.54,
                "y": 130.46,
                "width": 122.853119,
                "height": 11.0400009,
                "left": 436.54,
                "top": 130.46,
                "right": 559.3931,
                "bottom": 141.5,
                "isEmpty": false
            },
            "elementCount": 1,
            "elements": [
                {
                    "index": 0,
                    "left": 436.5400085449219,
                    "top": 130.4599995137751,
                    "width": 122.85311957550027,
                    "height": 11.040000486224898,
                    "angle": 0,
                    "text": "Invoice Date 01/01/2016",
                    "isNewLine": true,
                    "fontIsBold": true,
                    "fontIsItalic": false,
                    "fontName": "Helvetica-Bold",
                    "fontSize": 11,
                    "fontColor": "0, 0, 0",
                    "fontColorAsOleColor": 0,
                    "fontColorAsHtmlColor": "#000000",
                    "bounds": {
                        "location": {
                            "isEmpty": false,
                            "x": 436.54,
                            "y": 130.46
                        },
                        "size": "122.853119, 11.0400009",
                        "x": 436.54,
                        "y": 130.46,
                        "width": 122.853119,
                        "height": 11.0400009,
                        "left": 436.54,
                        "top": 130.46,
                        "right": 559.3931,
                        "bottom": 141.5,
                        "isEmpty": false
                    }
                }
            ]
        }
    ],
    "pageCount": 1,
    "error": false,
    "status": 200,
    "name": "output",
    "remainingCredits": 59970
}

Status Code: 200


08. PDF Search and Replace Text

Description: Search and replace text of your choice in a pdf file

Status Errors

CodeDescription
200The request has succeeded
400bad input parameters
401unauthorized
403not enough credits
405Timeout error. To process large documents or files please use asynchronous mode ( set async parameter to true) and then check the status using /job/check endpoint. If file contains many pages then specify a page range using pages parameter. The number of pages of the document can be obtained using the endpoint /pdf/info

Example 1: single text replacement

GET

https://api.pdf.co/v1/pdf/edit/replace-text?url=https://bytescout-com.s3.amazonaws.com/files/demo-files/cloud-api/pdf-split/sample.pdf&searchString=conspicuous&replaceString=replaced&x-api-key=YOUR-API-KEY

or

POST

{
  "url": "https://bytescout-com.s3.amazonaws.com/files/demo-files/cloud-api/pdf-split/sample.pdf",
  "searchString": "conspicuous feature",
  "replaceString": "Replaced1",
  "caseSensitive": true,
  "name": "finalFile"
}

or

cURL (uploading your file along with the request)

curl -F "x-api-key=PASTE_YOUR_API_KEY_HERE" -F "searchString=conspicuous feature" -F "replaceString=Replaced1"  -F "file=@./sample.pdf" https://api.pdf.co/v1/pdf/edit/replace-text

Example 2: batch texts replacement

Sample Request:

! Don’t forget to set x-api-key url param or http header param (preferred) to API key, get yours here

POST

{
  "url": "https://bytescout-com.s3.amazonaws.com/files/demo-files/cloud-api/pdf-split/sample.pdf",
  "searchStrings": [
    "conspicuous feature",
    "Martian"
  ],
  "replaceStrings": [
    "Replaced1",
    "Replaced2"
  ],
  "caseSensitive": true,
  "name": "finalFile"
}

1. /pdf/edit/replace-text (mutliple replacements)

  • url required. URL to the source file. Supports links from Google Drive, Dropbox and from built-in PDF.co files storage. For uploading files via API please check Files Upload section.
  • searchStrings[] array of strings to search.
  • replaceStrings[] arrao of replacements strings.
  • caseSensitive optional. Set to false to use case-insensitive search.
  • name optional. File name for generated output. Must be a String.
  • password optional. Password of PDF file. Must be a String.
  • pages optional. Comma-separated list of page indices (or ranges) to process. IMPORTANT: the very first page starts at 0 (zero). To set a range use the dash -, for example: 0,2-5,7-. To set a range from index to the last page use range like this: 2- (from page #3 as the index starts at zero and till the of the document). For ALL pages just leave this param empty. Example: 0,2-5,7- means first page, then 3rd page to 6th page, and then the range from 8th (index = 7) page till the end of the document. Must be a String.
  • encrypt optional. Enable encryption for output file. Must be one of: true, false.
  • async optional. Runs processing asynchronously. Returns Use JobId that you may use with /job/check to check state of the processing (possible states: working, failed, aborted and success). Must be one of: true, false.
  • profiles optional. Must be a String. You can set additional and extra options using this parameter that allows you to set custom configuration. See profiles samples for examples.

Endpoint:

Method: POST
Type: RAW
URL: https://api.pdf.co/v1/pdf/edit/replace-text

Headers:

KeyValueDescription
Content-Typeapplication/json 
x-api-key{{x-api-key}}Required. API key for PDF.co. Get yours at https://pdf.co/

Body:

{
  "url": "https://bytescout-com.s3-us-west-2.amazonaws.com/files/demo-files/cloud-api/pdf-to-text/sample.pdf",
  "searchStrings": [
    "Your Company Name",
    "Client Name"
  ],
  "replaceStrings": [
    "XYZ LLC",
    "ABCD"
  ],
  "caseSensitive": true,
  "pages": "",
  "password":"",
  "name": "finalFile" 
}

More example Requests/Responses:

I. Example Request: /pdf/edit/replace-text

Headers:

KeyValueDescription
Content-Typeapplication/json 
x-api-key{{x-api-key}}Required. API key for PDF.co. Get yours at https://pdf.co/

Body:

{
  "url": "https://bytescout-com.s3.amazonaws.com/files/demo-files/cloud-api/pdf-split/sample.pdf",
  "searchStrings": [
    "conspicuous feature",
    "Martian"
  ],
  "replaceStrings": [
    "Replaced1",
    "Replaced2"
  ],
  "caseSensitive": true,
  "name": "finalFile"
}
I. Example Response: /pdf/edit/replace-text
{
    "url": "https://pdf-temp-files.s3.amazonaws.com/5e02856782ea4f90b0c47c052565ae01/finalFile.pdf",
    "pageCount": 4,
    "error": false,
    "status": 200,
    "name": "finalFile",
    "remainingCredits": 98298
}

Status Code: 200


2. /pdf/edit/replace-text (single replacement)

  • url required. URL to the source file. Supports links from Google Drive, Dropbox and from built-in PDF.co files storage. For uploading files via API please check Files Upload section.
  • searchString required for single text replacement. Word or phrase to be replaced. Must be a String.
  • replaceString required for single text replacement. Word to be replaced with. Must be a String.
  • caseSensitive optional. Set to false to use case-insensitive search.
  • name optional. File name for generated output. Must be a String.
  • password optional. Password of PDF file. Must be a String.
  • pages optional. Comma-separated list of page indices (or ranges) to process. IMPORTANT: the very first page starts at 0 (zero). To set a range use the dash -, for example: 0,2-5,7-. To set a range from index to the last page use range like this: 2- (from page #3 as the index starts at zero and till the of the document). For ALL pages just leave this param empty. Example: 0,2-5,7- means first page, then 3rd page to 6th page, and then the range from 8th (index = 7) page till the end of the document. Must be a String.
  • encrypt optional. Enable encryption for output file. Must be one of: true, false.
  • async optional. Runs processing asynchronously. Returns Use JobId that you may use with /job/check to check state of the processing (possible states: working, failed, aborted and success). Must be one of: true, false.
  • profiles optional. Must be a String. You can set additional and extra options using this parameter that allows you to set custom configuration. See profiles samples for examples.

Endpoint:

Method: POST
Type: POST params, JSON or FORMDATA
URL: https://api.pdf.co/v1/pdf/edit/replace-text

Headers:

KeyValueDescription
x-api-key{{x-api-key}}Required. API key for PDF.co. Get yours at https://pdf.co/

Body:

KeyValueDescription
urlhttps://bytescout-com.s3-us-west-2.amazonaws.com/files/demo-files/cloud-api/pdf-to-text/sample.pdfrequired. URL of the source file. Must be a String. To use your file please upload it first to the temporary storage, see Upload and Manage Files section below to learn how to do it.
namefinalFileoptional. File name for generated output. Must be a String.
caseSensitivetrueoptional. true or false. Set to false by default
searchStringYour Company Namerequired for single text replacement. Word to be replaced. Must be a String
replaceStringXYZ LLCrequired for single text replacement. Word to be replaced with. Must be a String

More example Requests/Responses:

I. Example Request: /pdf/edit/replace-text

Headers:

KeyValueDescription
Content-Typeapplication/json 
x-api-key{{x-api-key}}Required. API key for PDF.co. Get yours at https://pdf.co/

Body:

KeyValueDescription
urlhttps://bytescout-com.s3.amazonaws.com/files/demo-files/cloud-api/pdf-split/sample.pdfoptional. URL of the source PDF file. Must be a String.
namefinalFileoptional. File name for generated output. Must be a String.
caseSensitivetrueoptional. true or false. Set to false by default
searchStringonspicuous featurerequired for single text replacement. Word to be replaced. Must be a String
replaceStringReplaced1required for single text replacement. Word to be replaced with. Must be a String
I. Example Response: /pdf/edit/replace-text
{
    "url": "https://pdf-temp-files.s3.amazonaws.com/1a0e9a51e2d04fe4bcce0a6a31c365a8/finalFile.pdf",
    "pageCount": 4,
    "error": false,
    "status": 200,
    "name": "finalFile",
    "remainingCredits": 98310
}

Status Code: 200


09. PDF Search and Replace Text with Image

Search and replace text in PDF.

1. /pdf/edit/replace-text-with-image

  • url required. URL to the source file. Supports links from Google Drive, Dropbox and from built-in PDF.co files storage. For uploading files via API please check Files Upload section.
  • searchString required for single text replacement. Word or phrase to be replaced. Must be a String.
  • replaceImage required. Image url to be inserted in doc: http://www.xyz.com/image.png.
  • caseSensitive optional. Set to false to use case-insensitive search.
  • name optional. File name for generated output. Must be a String.
  • password optional. Password of PDF file. Must be a String.
  • pages optional. Comma-separated list of page indices (or ranges) to process. IMPORTANT: the very first page starts at 0 (zero). To set a range use the dash -, for example: 0,2-5,7-. To set a range from index to the last page use range like this: 2- (from page #3 as the index starts at zero and till the of the document). For ALL pages just leave this param empty. Example: 0,2-5,7- means first page, then 3rd page to 6th page, and then the range from 8th (index = 7) page till the end of the document. Must be a String.
  • encrypt optional. Enable encryption for output file. Must be one of: true, false.
  • async optional. Runs processing asynchronously. Returns Use JobId that you may use with /job/check to check state of the processing (possible states: working, failed, aborted and success). Must be one of: true, false.
  • profiles optional. Must be a String. You can set additional and extra options using this parameter that allows you to set custom configuration. See profiles samples for examples.

Endpoint:

Method: POST
Type: POST params, JSON or FORMDATA
URL: https://api.pdf.co/v1/pdf/edit/replace-text-with-image

Headers:

KeyValueDescription
x-api-key{{x-api-key}}Required. API key for PDF.co. Get yours at https://pdf.co/

Body:

KeyValueDescription
urlhttps://bytescout-com.s3-us-west-2.amazonaws.com/files/demo-files/cloud-api/pdf-to-text/sample.pdfrequired. URL of the source file. Must be a String. To use your file please upload it first to the temporary storage, see Upload and Manage Files section below to learn how to do it.
caseSensitivetrueoptional. true or false. Set to false by default
searchStringYour Company Namerequired. Word to be replaced. Must contain at least 1 word. Example: 'Hello'
replaceImagehttps://bytescout-com.s3-us-west-2.amazonaws.com/files/demo-files/cloud-api/pdf-edit/logo.pngrequired. Image url to be inserted in doc: http://www.xyz.com/image.png
pages0optional. Comma-separated list of page indices (or ranges) to process. IMPORTANT: the very first page starts at 0 (zero). To set a range use the dash -, for example: 0,2-5,7-. To set a range from index to the last page use range like this: 2- (from page #3 as the index starts at zero and till the of the document). For ALL pages just leave this param empty. Example: 0,2-5,7- means first page, then 3rd page to 6th page, and then the range from 8th (index = 7) page till the end of the document. Must be a String.

More example Requests/Responses:

I. Example Request: /pdf/edit/replace-text-with-image

Headers:

KeyValueDescription
x-api-key{{x-api-key}}Required. API key for PDF.co. Get yours at https://pdf.co/
Content-Typeapplication/json 

Body:

{
    "url": "https://bytescout-com.s3.amazonaws.com/files/demo-files/cloud-api/pdf-split/sample.pdf",
    "caseSensitive": true,
    "searchString": "Hypothesis",
    "replaceImage": "https://bytescout-com.s3-us-west-2.amazonaws.com/files/demo-files/cloud-api/image-to-pdf/image1.png",
    "pages": "0"
}
I. Example Response: /pdf/edit/replace-text-with-image
{
    "url": "https://pdf-temp-files.s3.amazonaws.com/0e8f486dbf8a4764a1468b3d7c222e4c/sample.pdf",
    "pageCount": 4,
    "error": false,
    "status": 200,
    "name": "sample.pdf",
    "remainingCredits": 59926
}

Status Code: 200


10. PDF Search and Delete Text from PDF

Search text in PDF and remove found text from PDF.

1. /pdf/edit/delete-text (multiple replacements)

  • url required. URL to the source file. Supports links from Google Drive, Dropbox and from built-in PDF.co files storage. For uploading files via API please check Files Upload section.
  • searchStrings[] array of strings to search.
  • caseSensitive optional. Set to false to use case-insensitive search.
  • name optional. File name for generated output. Must be a String.
  • password optional. Password of PDF file. Must be a String.
  • pages optional. Comma-separated list of page indices (or ranges) to process. IMPORTANT: the very first page starts at 0 (zero). To set a range use the dash -, for example: 0,2-5,7-. To set a range from index to the last page use range like this: 2- (from page #3 as the index starts at zero and till the of the document). For ALL pages just leave this param empty. Example: 0,2-5,7- means first page, then 3rd page to 6th page, and then the range from 8th (index = 7) page till the end of the document. Must be a String.
  • encrypt optional. Enable encryption for output file. Must be one of: true, false.
  • async optional. Runs processing asynchronously. Returns Use JobId that you may use with /job/check to check state of the processing (possible states: working, failed, aborted and success). Must be one of: true, false.
  • profiles optional. Must be a String. You can set additional and extra options using this parameter that allows you to set custom configuration. See profiles samples for examples.

Endpoint:

Method: POST
Type: RAW
URL: https://api.pdf.co/v1/pdf/edit/delete-text

Headers:

KeyValueDescription
Content-Typeapplication/json 
x-api-key{{x-api-key}}Required. API key for PDF.co. Get yours at https://pdf.co/

Body:

{
    "url": "https://bytescout-com.s3-us-west-2.amazonaws.com/files/demo-files/cloud-api/pdf-to-text/sample.pdf",
    "name": "pdfWithTextDeleted",
    "caseSensitive": "false",
    "searchStrings": [
        "Notes",
        "City, State Zip"
    ]
}

More example Requests/Responses:

I. Example Request: /pdf/edit/delete-text (multiple replacements)

Headers:

KeyValueDescription
Content-Typeapplication/json 
x-api-key{{x-api-key}}Required. API key for PDF.co. Get yours at https://pdf.co/

Body:

{
    "url": "https://bytescout-com.s3.amazonaws.com/files/demo-files/cloud-api/pdf-split/sample.pdf",
    "name": "pdfWithTextDeleted",
    "caseSensitive": "false",
    "searchStrings": [
        "conspicuous feature"
    ]
}
I. Example Response: /pdf/edit/delete-text (multiple replacements)
{
    "url": "https://pdf-temp-files.s3.amazonaws.com/c4367f7cf8794f12b4e8899d8101fced/pdfWithTextDeleted.pdf",
    "pageCount": 4,
    "error": false,
    "status": 200,
    "name": "pdfWithTextDeleted",
    "remainingCredits": 59914
}

Status Code: 200


2. /pdf/edit/delete-text (single replacement)

  • url required. URL to the source file. Supports links from Google Drive, Dropbox and from built-in PDF.co files storage. For uploading files via API please check Files Upload section.
  • searchString string to search.
  • caseSensitive optional. Set to false to use case-insensitive search.
  • name optional. File name for generated output. Must be a String.
  • password optional. Password of PDF file. Must be a String.
  • pages optional. Comma-separated list of page indices (or ranges) to process. IMPORTANT: the very first page starts at 0 (zero). To set a range use the dash -, for example: 0,2-5,7-. To set a range from index to the last page use range like this: 2- (from page #3 as the index starts at zero and till the of the document). For ALL pages just leave this param empty. Example: 0,2-5,7- means first page, then 3rd page to 6th page, and then the range from 8th (index = 7) page till the end of the document. Must be a String.
  • encrypt optional. Enable encryption for output file. Must be one of: true, false.
  • async optional. Runs processing asynchronously. Returns Use JobId that you may use with /job/check to check state of the processing (possible states: working, failed, aborted and success). Must be one of: true, false.
  • profiles optional. Must be a String. You can set additional and extra options using this parameter that allows you to set custom configuration. See profiles samples for examples.

Endpoint:

Method: POST
Type: RAW
URL: https://api.pdf.co/v1/pdf/edit/delete-text

Headers:

KeyValueDescription
Content-Typeapplication/json 
x-api-key{{x-api-key}}Required. API key for PDF.co. Get yours at https://pdf.co/

Body:

{
    "url": "https://bytescout-com.s3-us-west-2.amazonaws.com/files/demo-files/cloud-api/pdf-to-text/sample.pdf",
    "name": "pdfWithTextDeleted",
    "caseSensitive": "false",
    "searchString": "Notes"
}

More example Requests/Responses:

I. Example Request: /pdf/edit/delete-text (single replacement)

Headers:

KeyValueDescription
Content-Typeapplication/json 
x-api-key{{x-api-key}}Required. API key for PDF.co. Get yours at https://pdf.co/

Body:

{
    "url": "https://bytescout-com.s3.amazonaws.com/files/demo-files/cloud-api/pdf-split/sample.pdf",
    "name": "pdfWithTextDeleted",
    "caseSensitive": "false",
    "searchString": "conspicuous feature"
}
I. Example Response: /pdf/edit/delete-text (single replacement)
{
    "url": "https://pdf-temp-files.s3.amazonaws.com/9c674faed1d9444a8912bfb4695c2754/pdfWithTextDeleted.pdf",
    "pageCount": 4,
    "error": false,
    "status": 200,
    "name": "pdfWithTextDeleted",
    "remainingCredits": 59902
}

Status Code: 200


11. PDF to Text Searchable PDF

Convert PDF and scanned images into text-searchable PDF.

1. /pdf/makesearchable

  • url required. URL to the source file. Supports links from Google Drive, Dropbox and from built-in PDF.co files storage. For uploading files via API please check Files Upload section.
  • lang optional. Sets OCR language to be used for scanned PDF, PNG, JPG douments when extracting text from them. Default is “eng”. Supported values: eng, spa, deu, fra and many others. You can also specify 2 languages to be used, for example: eng+deu.
  • pages optional. Comma-separated list of page indices (or ranges) to process. IMPORTANT: the very first page starts at 0 (zero). To set a range use the dash -, for example: 0,2-5,7-. To set a range from index to the last page use range like this: 2- (from page #3 as the index starts at zero and till the of the document). For ALL pages just leave this param empty. Example: 0,2-5,7- means first page, then 3rd page to 6th page, and then the range from 8th (index = 7) page till the end of the document. Must be a String.
  • password optional. Password of PDF file. Must be a String.
  • async optional. Runs processing asynchronously. Returns Use JobId that you may use with /job/check to check state of the processing (possible states: working, failed, aborted and success). Must be one of: true, false.
  • encrypt optional. Enable encryption for output file. Must be one of: true, false.
  • profiles optional. Must be a String. You can set additional and extra options using this parameter that allows you to set custom configuration. See profiles samples for examples.

Endpoint:

Method: POST
Type: RAW
URL: https://api.pdf.co/v1/pdf/makesearchable

Headers:

KeyValueDescription
x-api-key{{x-api-key}}Required. API key for PDF.co. Get yours at https://pdf.co/
Content-Typeapplication/json 

Body:

{
    "url": "https://bytescout-com.s3-us-west-2.amazonaws.com/files/demo-files/cloud-api/pdf-make-searchable/sample.pdf",
    "lang": "eng",
    "pages": "",
    "name": "result.pdf",    
    "password": "",
    "async": "false",
    "encrypt": false,
    "profiles": ""
}

More example Requests/Responses:

I. Example Request: /pdf/makesearchable

Headers:

KeyValueDescription
x-api-key{{x-api-key}}Required. API key for PDF.co. Get yours at https://pdf.co/
Content-Typeapplication/json 

Body:

{
    "url": "https://bytescout-com.s3-us-west-2.amazonaws.com/files/demo-files/cloud-api/pdf-make-searchable/sample.pdf",
    "lang": "eng",
    "pages": "",
    "name": "result.pdf",    
    "password": "",
    "async": "false",
    "encrypt": false,
    "profiles": ""
}
I. Example Response: /pdf/makesearchable
{
    "url": "https://pdf-temp-files.s3.amazonaws.com/94628af2d2fd4621aad039f2d0701d66/result.pdf",
    "pageCount": 1,
    "error": false,
    "status": 200,
    "name": "result.pdf",
    "remainingCredits": 60607
}

Status Code: 200


12. PDF To CSV

Convert PDF and scanned images into CSV representation with layout, columns, rows, tables.

1. /pdf/convert/to/csv

  • url required. URL to the source file. Supports links from Google Drive, Dropbox and from built-in PDF.co files storage. For uploading files via API please check Files Upload section.
  • pages optional. Comma-separated list of page indices (or ranges) to process. IMPORTANT: the very first page starts at 0 (zero). To set a range use the dash -, for example: 0,2-5,7-. To set a range from index to the last page use range like this: 2- (from page #3 as the index starts at zero and till the of the document). For ALL pages just leave this param empty. Example: 0,2-5,7- means first page, then 3rd page to 6th page, and then the range from 8th (index = 7) page till the end of the document. Must be a String.
  • unwrap optional. Unwrap lines into a single line within table cells when lineGrouping is enabled. Must be one of: true, false.
  • rect optional. Defines coordinates for extraction, e.g. 51.8, 114.8, 235.5, 204.0. You can use PDF.co PDF Viewer with coordinates to easily select and copy coordinates. Must be a String.
  • lang optional. Sets OCR language to be used for scanned PDF, PNG, JPG douments when extracting text from them. Default is eng. Supported values: eng, spa, deu, fra, jpn, chi_sim, chi_tra, kor. You can also specify two languages to be used on the same page, for example: eng+deu, jpn+kor or other combinations. For more languages please contact our customer support.
  • inline optional. Must be one of: true to return data as inline or false to return link to output file (default).
  • lineGrouping optional. optional. Line grouping within table cells. Set to 1 to enable the grouping. Must be a String.

  • encrypt optional. Enable encryption for output file. Must be one of: true, false.
  • async optional. Runs processing asynchronously. Returns Use JobId that you may use with /job/check to check state of the processing (possible states: working, failed, aborted and success). Must be one of: true, false.
  • name optional. File name for generated output. Must be a String.
  • profiles optional. Must be a String. You can set additional and extra options using this parameter that allows you to set custom configuration. See profiles samples for examples. For example, to change CSV separator: { 'profiles': [ { 'profile1': { 'CSVSeparatorSymbol': ';' } } ] }

Endpoint:

Method: POST
Type: RAW
URL: https://api.pdf.co/v1/pdf/convert/to/csv

Headers:

KeyValueDescription
Content-Typeapplication/json 
x-api-key{{x-api-key}}Required. API key for PDF.co. Get yours at https://pdf.co/

Body:

{
    "url": "https://bytescout-com.s3-us-west-2.amazonaws.com/files/demo-files/cloud-api/pdf-to-csv/sample.pdf",
    "lang": "eng",
    "inline": "true",
    "unwrap": "",
    "pages": "0-",
    "rect": "",
    "async": "false",
    "encrypt": "false",    
    "name": "result.csv",
    "password": "",
    "lineGrouping": "",
    "profiles": ""
}

13. PDF To JSON

Convert PDF and scanned images into JSON representation with text, fonts, images, vectors, formatting preserved.

1. /pdf/convert/to/json

  • url required. URL to the source file. Supports links from Google Drive, Dropbox and from built-in PDF.co files storage. For uploading files via API please check Files Upload section.
  • pages optional. Comma-separated list of page indices (or ranges) to process. IMPORTANT: the very first page starts at 0 (zero). To set a range use the dash -, for example: 0,2-5,7-. To set a range from index to the last page use range like this: 2- (from page #3 as the index starts at zero and till the of the document). For ALL pages just leave this param empty. Example: 0,2-5,7- means first page, then 3rd page to 6th page, and then the range from 8th (index = 7) page till the end of the document. Must be a String.
  • unwrap optional. Unwrap lines into a single line within table cells when lineGrouping is enabled. Must be one of: true, false.
  • rect optional. Defines coordinates for extraction, e.g. 51.8, 114.8, 235.5, 204.0. You can use PDF.co PDF Viewer with coordinates to easily select and copy coordinates. Must be a String.
  • lang optional. Sets OCR language to be used for scanned PDF, PNG, JPG douments when extracting text from them. Default is eng. Supported values: eng, spa, deu, fra, jpn, chi_sim, chi_tra, kor. You can also specify two languages to be used on the same page, for example: eng+deu, jpn+kor or other combinations. For more languages please contact our customer support.
  • inline optional. Must be one of: true to return data as inline or false to return link to output file (default).
  • lineGrouping optional. optional. Line grouping within table cells. Set to 1 to enable the grouping. Must be a String.

  • encrypt optional. Enable encryption for output file. Must be one of: true, false.
  • async optional. Runs processing asynchronously. Returns Use JobId that you may use with /job/check to check state of the processing (possible states: working, failed, aborted and success). Must be one of: true, false.
  • name optional. File name for generated output. Must be a String.
  • profiles optional. Must be a String. You can set additional and extra options using this parameter that allows you to set custom configuration. See profiles samples for examples. For example, to change CSV separator: { 'profiles': [ { 'profile1': { 'CSVSeparatorSymbol': ';' } } ] }

Endpoint:

Method: POST
Type: RAW
URL: https://api.pdf.co/v1/pdf/convert/to/json2

Headers:

KeyValueDescription
Content-Typeapplication/json 
x-api-key{{x-api-key}}Required. API key for PDF.co. Get yours at https://pdf.co/

Body:

{
    "url": "https://bytescout-com.s3-us-west-2.amazonaws.com/files/demo-files/cloud-api/pdf-to-json/sample.pdf",
    "inline": true
}

More example Requests/Responses:

I. Example Request: /pdf/convert/to/json

Headers:

KeyValueDescription
Content-Typeapplication/json 
x-api-key{{x-api-key}}Required. API key for PDF.co. Get yours at https://pdf.co/

Body:

{
    "url": "https://bytescout-com.s3-us-west-2.amazonaws.com/files/demo-files/cloud-api/pdf-to-json/sample.pdf",
    "inline": true
}
I. Example Response: /pdf/convert/to/json
{
    "body": {
        "document": {
            "page": {
                "@index": "0",
                "row": [
                    {
                        "column": [
                            {
                                "text": {
                                    "@fontName": "Arial",
                                    "@fontSize": "24.0",
                                    "@fontStyle": "Bold",
                                    "@color": "#538DD3",
                                    "@x": "36.00",
                                    "@y": "34.44",
                                    "@width": "242.81",
                                    "@height": "24.00",
                                    "#text": "Your Company Name"
                                }
                            },
                            {
                                "text": ""
                            },
                            {
                                "text": ""
                            },
                            {
                                "text": ""
                            }
                        ]
                    },
                    {
                        "column": [
                            {
                                "text": {
                                    "@fontName": "Arial",
                                    "@fontSize": "11.0",
                                    "@x": "36.00",
                                    "@y": "76.94",
                                    "@width": "66.62",
                                    "@height": "11.04",
                                    "#text": "Your Address"
                                }
                            },
                            {
                                "text": ""
                            },
                            {
                                "text": ""
                            },
                            {
                                "text": ""
                            }
                        ]
                    },
                    {
                        "column": [
                            {
                                "text": {
                                    "@fontName": "Arial",
                                    "@fontSize": "11.0",
                                    "@x": "36.00",
                                    "@y": "91.46",
                                    "@width": "69.14",
                                    "@height": "11.04",
                                    "#text": "City, State Zip"
                                }
                            },
                            {
                                "text": ""
                            },
                            {
                                "text": ""
                            },
                            {
                                "text": ""
                            }
                        ]
                    },
                    {
                        "column": [
                            {
                                "text": ""
                            },
                            {
                                "text": ""
                            },
                            {
                                "text": ""
                            },
                            {
                                "text": {
                                    "@fontName": "Arial",
                                    "@fontSize": "11.0",
                                    "@fontStyle": "Bold",
                                    "@x": "461.02",
                                    "@y": "115.94",
                                    "@width": "98.42",
                                    "@height": "11.04",
                                    "#text": "Invoice No. 123456"
                                }
                            }
                        ]
                    },
                    {
                        "column": [
                            {
                                "text": ""
                            },
                            {
                                "text": ""
                            },
                            {
                                "text": ""
                            },
                            {
                                "text": {
                                    "@fontName": "Arial",
                                    "@fontSize": "11.0",
                                    "@fontStyle": "Bold",
                                    "@x": "436.54",
                                    "@y": "130.46",
                                    "@width": "122.90",
                                    "@height": "11.04",
                                    "#text": "Invoice Date 01/01/2016"
                                }
                            }
                        ]
                    },
                    {
                        "column": [
                            {
                                "text": {
                                    "@fontName": "Arial",
                                    "@fontSize": "11.0",
                                    "@fontStyle": "Bold",
                                    "@x": "36.00",
                                    "@y": "154.94",
                                    "@width": "63.62",
                                    "@height": "11.04",
                                    "#text": "Client Name"
                                }
                            },
                            {
                                "text": ""
                            },
                            {
                                "text": ""
                            },
                            {
                                "text": ""
                            }
                        ]
                    },
                    {
                        "column": [
                            {
                                "text": {
                                    "@fontName": "Arial",
                                    "@fontSize": "11.0",
                                    "@x": "36.00",
                                    "@y": "169.70",
                                    "@width": "40.34",
                                    "@height": "11.04",
                                    "#text": "Address"
                                }
                            },
                            {
                                "text": ""
                            },
                            {
                                "text": ""
                            },
                            {
                                "text": ""
                            }
                        ]
                    },
                    {
                        "column": [
                            {
                                "text": {
                                    "@fontName": "Arial",
                                    "@fontSize": "11.0",
                                    "@x": "36.00",
                                    "@y": "184.22",
                                    "@width": "69.14",
                                    "@height": "11.04",
                                    "#text": "City, State Zip"
                                }
                            },
                            {
                                "text": ""
                            },
                            {
                                "text": ""
                            },
                            {
                                "text": ""
                            }
                        ]
                    },
                    {
                        "column": [
                            {
                                "text": {
                                    "@fontName": "Arial",
                                    "@fontSize": "11.0",
                                    "@x": "36.00",
                                    "@y": "233.30",
                                    "@width": "28.70",
                                    "@height": "11.04",
                                    "#text": "Notes"
                                }
                            },
                            {
                                "text": ""
                            },
                            {
                                "text": ""
                            },
                            {
                                "text": ""
                            }
                        ]
                    },
                    {
                        "column": [
                            {
                                "text": {
                                    "@fontName": "Arial",
                                    "@fontSize": "11.0",
                                    "@fontStyle": "Bold",
                                    "@x": "36.00",
                                    "@y": "316.25",
                                    "@width": "22.58",
                                    "@height": "11.04",
                                    "#text": "Item"
                                }
                            },
                            {
                                "text": {
                                    "@fontName": "Arial",
                                    "@fontSize": "11.0",
                                    "@fontStyle": "Bold",
                                    "@x": "247.61",
                                    "@y": "316.25",
                                    "@width": "44.64",
                                    "@height": "11.04",
                                    "#text": "Quantity"
                                }
                            },
                            {
                                "text": {
                                    "@fontName": "Arial",
                                    "@fontSize": "11.0",
                                    "@fontStyle": "Bold",
                                    "@x": "398.95",
                                    "@y": "316.25",
                                    "@width": "26.91",
                                    "@height": "11.04",
                                    "#text": "Price"
                                }
                            },
                            {
                                "text": {
                                    "@fontName": "Arial",
                                    "@fontSize": "11.0",
                                    "@fontStyle": "Bold",
                                    "@x": "533.14",
                                    "@y": "316.25",
                                    "@width": "26.30",
                                    "@height": "11.04",
                                    "#text": "Total"
                                }
                            }
                        ]
                    },
                    {
                        "column": [
                            {
                                "text": {
                                    "@fontName": "Arial",
                                    "@fontSize": "11.0",
                                    "@x": "36.00",
                                    "@y": "341.33",
                                    "@width": "30.62",
                                    "@height": "11.04",
                                    "#text": "Item 1"
                                }
                            },
                            {
                                "text": {
                                    "@fontName": "Arial",
                                    "@fontSize": "11.0",
                                    "@x": "286.13",
                                    "@y": "341.33",
                                    "@width": "6.12",
                                    "@height": "11.04",
                                    "#text": "1"
                                }
                            },
                            {
                                "text": {
                                    "@fontName": "Arial",
                                    "@fontSize": "11.0",
                                    "@x": "398.35",
                                    "@y": "341.33",
                                    "@width": "27.51",
                                    "@height": "11.04",
                                    "#text": "40.00"
                                }
                            },
                            {
                                "text": {
                                    "@fontName": "Arial",
                                    "@fontSize": "11.0",
                                    "@x": "531.94",
                                    "@y": "341.33",
                                    "@width": "27.50",
                                    "@height": "11.04",
                                    "#text": "40.00"
                                }
                            }
                        ]
                    },
                    {
                        "column": [
                            {
                                "text": {
                                    "@fontName": "Arial",
                                    "@fontSize": "11.0",
                                    "@x": "36.00",
                                    "@y": "362.45",
                                    "@width": "30.62",
                                    "@height": "11.04",
                                    "#text": "Item 2"
                                }
                            },
                            {
                                "text": {
                                    "@fontName": "Arial",
                                    "@fontSize": "11.0",
                                    "@x": "286.13",
                                    "@y": "362.45",
                                    "@width": "6.12",
                                    "@height": "11.04",
                                    "#text": "2"
                                }
                            },
                            {
                                "text": {
                                    "@fontName": "Arial",
                                    "@fontSize": "11.0",
                                    "@x": "398.35",
                                    "@y": "362.45",
                                    "@width": "27.51",
                                    "@height": "11.04",
                                    "#text": "30.00"
                                }
                            },
                            {
                                "text": {
                                    "@fontName": "Arial",
                                    "@fontSize": "11.0",
                                    "@x": "531.94",
                                    "@y": "362.45",
                                    "@width": "27.50",
                                    "@height": "11.04",
                                    "#text": "60.00"
                                }
                            }
                        ]
                    },
                    {
                        "column": [
                            {
                                "text": {
                                    "@fontName": "Arial",
                                    "@fontSize": "11.0",
                                    "@x": "36.00",
                                    "@y": "383.57",
                                    "@width": "30.62",
                                    "@height": "11.04",
                                    "#text": "Item 3"
                                }
                            },
                            {
                                "text": {
                                    "@fontName": "Arial",
                                    "@fontSize": "11.0",
                                    "@x": "286.13",
                                    "@y": "383.57",
                                    "@width": "6.12",
                                    "@height": "11.04",
                                    "#text": "3"
                                }
                            },
                            {
                                "text": {
                                    "@fontName": "Arial",
                                    "@fontSize": "11.0",
                                    "@x": "398.35",
                                    "@y": "383.57",
                                    "@width": "27.51",
                                    "@height": "11.04",
                                    "#text": "20.00"
                                }
                            },
                            {
                                "text": {
                                    "@fontName": "Arial",
                                    "@fontSize": "11.0",
                                    "@x": "531.94",
                                    "@y": "383.57",
                                    "@width": "27.50",
                                    "@height": "11.04",
                                    "#text": "60.00"
                                }
                            }
                        ]
                    },
                    {
                        "column": [
                            {
                                "text": {
                                    "@fontName": "Arial",
                                    "@fontSize": "11.0",
                                    "@x": "36.00",
                                    "@y": "404.93",
                                    "@width": "30.62",
                                    "@height": "11.04",
                                    "#text": "Item 4"
                                }
                            },
                            {
                                "text": {
                                    "@fontName": "Arial",
                                    "@fontSize": "11.0",
                                    "@x": "286.13",
                                    "@y": "404.93",
                                    "@width": "6.12",
                                    "@height": "11.04",
                                    "#text": "4"
                                }
                            },
                            {
                                "text": {
                                    "@fontName": "Arial",
                                    "@fontSize": "11.0",
                                    "@x": "398.35",
                                    "@y": "404.93",
                                    "@width": "27.51",
                                    "@height": "11.04",
                                    "#text": "10.00"
                                }
                            },
                            {
                                "text": {
                                    "@fontName": "Arial",
                                    "@fontSize": "11.0",
                                    "@x": "531.94",
                                    "@y": "404.93",
                                    "@width": "27.50",
                                    "@height": "11.04",
                                    "#text": "40.00"
                                }
                            }
                        ]
                    },
                    {
                        "column": [
                            {
                                "text": ""
                            },
                            {
                                "text": ""
                            },
                            {
                                "text": {
                                    "@fontName": "Arial",
                                    "@fontSize": "11.0",
                                    "@fontStyle": "Bold",
                                    "@x": "389.11",
                                    "@y": "425.83",
                                    "@width": "36.75",
                                    "@height": "11.04",
                                    "#text": "TOTAL"
                                }
                            },
                            {
                                "text": {
                                    "@fontName": "Arial",
                                    "@fontSize": "11.0",
                                    "@fontStyle": "Bold",
                                    "@x": "525.82",
                                    "@y": "425.83",
                                    "@width": "33.62",
                                    "@height": "11.04",
                                    "#text": "200.00"
                                }
                            }
                        ]
                    }
                ]
            }
        }
    },
    "pageCount": 1,
    "error": false,
    "status": 200,
    "name": "sample.json",
    "remainingCredits": 60583
}

Status Code: 200


14. PDF To TEXT

Convert PDF and scanned images to Text with layout preserved.

1. /pdf/convert/to/text

  • url required. URL to the source file. Supports links from Google Drive, Dropbox and from built-in PDF.co files storage. For uploading files via API please check Files Upload section.
  • pages optional. Comma-separated list of page indices (or ranges) to process. IMPORTANT: the very first page starts at 0 (zero). To set a range use the dash -, for example: 0,2-5,7-. To set a range from index to the last page use range like this: 2- (from page #3 as the index starts at zero and till the of the document). For ALL pages just leave this param empty. Example: 0,2-5,7- means first page, then 3rd page to 6th page, and then the range from 8th (index = 7) page till the end of the document. Must be a String.
  • unwrap optional. Unwrap lines into a single line within table cells when lineGrouping is enabled. Must be one of: true, false.
  • rect optional. Defines coordinates for extraction, e.g. 51.8, 114.8, 235.5, 204.0. You can use PDF.co PDF Viewer with coordinates to easily select and copy coordinates. Must be a String.
  • lang optional. Sets OCR language to be used for scanned PDF, PNG, JPG douments when extracting text from them. Default is eng. Supported values: eng, spa, deu, fra, jpn, chi_sim, chi_tra, kor. You can also specify two languages to be used on the same page, for example: eng+deu, jpn+kor or other combinations. For more languages please contact our customer support.
  • inline optional. Must be one of: true to return data as inline or false to return link to output file (default).
  • lineGrouping optional. optional. Line grouping within table cells. Set to 1 to enable the grouping. Must be a String.

  • encrypt optional. Enable encryption for output file. Must be one of: true, false.
  • async optional. Runs processing asynchronously. Returns Use JobId that you may use with /job/check to check state of the processing (possible states: working, failed, aborted and success). Must be one of: true, false.
  • name optional. File name for generated output. Must be a String.
  • profiles optional. Must be a String. You can set additional and extra options using this parameter that allows you to set custom configuration. See profiles samples for examples. For example, to change CSV separator: { 'profiles': [ { 'profile1': { 'CSVSeparatorSymbol': ';' } } ] }

Endpoint:

Method: POST
Type: RAW
URL: https://api.pdf.co/v1/pdf/convert/to/text

Headers:

KeyValueDescription
Content-Typeapplication/json 
x-api-key{{x-api-key}}Required. API key for PDF.co. Get yours at https://pdf.co/

Body:

{
    "url": "https://bytescout-com.s3-us-west-2.amazonaws.com/files/demo-files/cloud-api/pdf-to-text/sample.pdf",
    "inline": true
}

More example Requests/Responses:

I. Example Request: /pdf/convert/to/text

Headers:

KeyValueDescription
Content-Typeapplication/json 
x-api-key{{x-api-key}}Required. API key for PDF.co. Get yours at https://pdf.co/

Body:

{
    "url": "https://bytescout-com.s3-us-west-2.amazonaws.com/files/demo-files/cloud-api/pdf-to-text/sample.pdf",
    "inline": true
}
I. Example Response: /pdf/convert/to/text
{
    "body": "   Your Company Name \r\n       Your Address \r\n        City, State Zip \r\n                                                                                      Invoice No. 123456 \r\n                                                                                   Invoice Date 01/01/2016 \r\n      Client Name \r\n       Address \r\n        City, State Zip \r\n\r\n       Notes \r\n\r\n\r\n       Item                                     Quantity                     Price                     Total \r\n       Item 1                                              1                      40.00                      40.00 \r\n       Item 2                                              2                      30.00                      60.00 \r\n       Item 3                                              3                      20.00                      60.00 \r\n       Item 4                                              4                      10.00                      40.00 \r\n                                                           TOTAL                200.00\r\n",
    "pageCount": 1,
    "error": false,
    "status": 200,
    "name": "sample.txt",
    "remainingCredits": 60577
}

Status Code: 200


15. PDF To XLS

Convert PDF and scanned images to spreadsheet with layout and fonts preserved.

1. /pdf/convert/to/xls

  • url required. URL to the source file. Supports links from Google Drive, Dropbox and from built-in PDF.co files storage. For uploading files via API please check Files Upload section.
  • pages optional. Comma-separated list of page indices (or ranges) to process. IMPORTANT: the very first page starts at 0 (zero). To set a range use the dash -, for example: 0,2-5,7-. To set a range from index to the last page use range like this: 2- (from page #3 as the index starts at zero and till the of the document). For ALL pages just leave this param empty. Example: 0,2-5,7- means first page, then 3rd page to 6th page, and then the range from 8th (index = 7) page till the end of the document. Must be a String.
  • unwrap optional. Unwrap lines into a single line within table cells when lineGrouping is enabled. Must be one of: true, false.
  • rect optional. Defines coordinates for extraction, e.g. 51.8, 114.8, 235.5, 204.0. You can use PDF.co PDF Viewer with coordinates to easily select and copy coordinates. Must be a String.
  • lang optional. Sets OCR language to be used for scanned PDF, PNG, JPG douments when extracting text from them. Default is eng. Supported values: eng, spa, deu, fra, jpn, chi_sim, chi_tra, kor. You can also specify two languages to be used on the same page, for example: eng+deu, jpn+kor or other combinations. For more languages please contact our customer support.
  • inline optional. Must be one of: true to return data as inline or false to return link to output file (default).
  • lineGrouping optional. optional. Line grouping within table cells. Set to 1 to enable the grouping. Must be a String.

  • encrypt optional. Enable encryption for output file. Must be one of: true, false.
  • async optional. Runs processing asynchronously. Returns Use JobId that you may use with /job/check to check state of the processing (possible states: working, failed, aborted and success). Must be one of: true, false.
  • name optional. File name for generated output. Must be a String.
  • profiles optional. Must be a String. You can set additional and extra options using this parameter that allows you to set custom configuration. See profiles samples for examples. For example, to change CSV separator: { 'profiles': [ { 'profile1': { 'CSVSeparatorSymbol': ';' } } ] }

Endpoint:

Method: POST
Type: RAW
URL: https://api.pdf.co/v1/pdf/convert/to/xls

Headers:

KeyValueDescription
x-api-key{{x-api-key}}Required. API key for PDF.co. Get yours at https://pdf.co/

Body:

{
    "url": "https://bytescout-com.s3-us-west-2.amazonaws.com/files/demo-files/cloud-api/pdf-to-excel/sample.pdf"
}

More example Requests/Responses:

I. Example Request: /pdf/convert/to/xls

Headers:

KeyValueDescription
x-api-key{{x-api-key}}Required. API key for PDF.co. Get yours at https://pdf.co/

Body:

{
 "url": "https://bytescout-com.s3-us-west-2.amazonaws.com/files/demo-files/cloud-api/pdf-to-excel/sample.pdf"   
}
I. Example Response: /pdf/convert/to/xls
{
    "url": "https://pdf-temp-files.s3.amazonaws.com/544e26441de7451ab287152b7159d350/sample.xls",
    "pageCount": 1,
    "error": false,
    "status": 200,
    "name": "sample.xls",
    "remainingCredits": 60572
}

Status Code: 200


16. PDF To XLSX

Convert PDF to spreadsheet with layout and fonts preserved.

1. /pdf/convert/to/xls

  • url required. URL to the source file. Supports links from Google Drive, Dropbox and from built-in PDF.co files storage. For uploading files via API please check Files Upload section.
  • pages optional. Comma-separated list of page indices (or ranges) to process. IMPORTANT: the very first page starts at 0 (zero). To set a range use the dash -, for example: 0,2-5,7-. To set a range from index to the last page use range like this: 2- (from page #3 as the index starts at zero and till the of the document). For ALL pages just leave this param empty. Example: 0,2-5,7- means first page, then 3rd page to 6th page, and then the range from 8th (index = 7) page till the end of the document. Must be a String.
  • unwrap optional. Unwrap lines into a single line within table cells when lineGrouping is enabled. Must be one of: true, false.
  • rect optional. Defines coordinates for extraction, e.g. 51.8, 114.8, 235.5, 204.0. You can use PDF.co PDF Viewer with coordinates to easily select and copy coordinates. Must be a String.
  • lang optional. Sets OCR language to be used for scanned PDF, PNG, JPG douments when extracting text from them. Default is eng. Supported values: eng, spa, deu, fra, jpn, chi_sim, chi_tra, kor. You can also specify two languages to be used on the same page, for example: eng+deu, jpn+kor or other combinations. For more languages please contact our customer support.
  • inline optional. Must be one of: true to return data as inline or false to return link to output file (default).
  • lineGrouping optional. optional. Line grouping within table cells. Set to 1 to enable the grouping. Must be a String.

  • encrypt optional. Enable encryption for output file. Must be one of: true, false.
  • async optional. Runs processing asynchronously. Returns Use JobId that you may use with /job/check to check state of the processing (possible states: working, failed, aborted and success). Must be one of: true, false.
  • name optional. File name for generated output. Must be a String.
  • profiles optional. Must be a String. You can set additional and extra options using this parameter that allows you to set custom configuration. See profiles samples for examples. For example, to change CSV separator: { 'profiles': [ { 'profile1': { 'CSVSeparatorSymbol': ';' } } ] }

Endpoint:

Method: POST
Type: POST params, JSON or FORMDATA
URL: https://api.pdf.co/v1/pdf/convert/to/xlsx

Headers:

KeyValueDescription
x-api-key{{x-api-key}}Required. API key for PDF.co. Get yours at https://pdf.co/

Query params:

KeyValueDescription
   

Body:

KeyValueDescription
urlhttps://bytescout-com.s3.amazonaws.com/files/demo-files/cloud-api/pdf-to-excel/sample.pdfrequired. URL of the source PDF file. Must be a String. To use your file please upload it first to the temporary storage, see Upload and Manage Files section below to learn how to do it.
nameresult.xlsxoptional. File name for generated output. Must be a String.
password optional. Password of PDF file. Must be a String.
pages optional. Comma-separated list of page indices (or ranges) to process. IMPORTANT: the very first page starts at 0 (zero). To set a range use the dash -, for example: 0,2-5,7-. To set a range from index to the last page use range like this: 2- (from page #3 as the index starts at zero and till the of the document). For ALL pages just leave this param empty. Example: 0,2-5,7- means first page, then 3rd page to 6th page, and then the range from 8th (index = 7) page till the end of the document. Must be a String.

More example Requests/Responses:

I. Example Request: /pdf/convert/to/xls

Headers:

KeyValueDescription
x-api-key{{x-api-key}}Required. API key for PDF.co. Get yours at https://pdf.co/
Content-Typeapplication/json 

Query:

KeyValueDescription
x-api-key{{x-api-key}}Optional. Please use http headers instead when possible because passing your API key as parameter for POST or GET is not secure and is for legacy app compatibility only.
   

Body:

{
    "url": "https://bytescout-com.s3.amazonaws.com/files/demo-files/cloud-api/pdf-to-excel/sample.pdf"
}
I. Example Response: /pdf/convert/to/xls
{
    "url": "https://pdf-temp-files.s3.amazonaws.com/60c6b9f50280495a9567f73a0a394252/sample.xlsx",
    "pageCount": 1,
    "error": false,
    "status": 200,
    "name": "sample.xlsx",
    "remainingCredits": 60568
}

Status Code: 200


17. PDF To XML

Convert PDF to XML with information about text value, tables, fonts, images, objects positions.

1. /pdf/convert/to/xml

  • url required. URL to the source file. Supports links from Google Drive, Dropbox and from built-in PDF.co files storage. For uploading files via API please check Files Upload section.
  • pages optional. Comma-separated list of page indices (or ranges) to process. IMPORTANT: the very first page starts at 0 (zero). To set a range use the dash -, for example: 0,2-5,7-. To set a range from index to the last page use range like this: 2- (from page #3 as the index starts at zero and till the of the document). For ALL pages just leave this param empty. Example: 0,2-5,7- means first page, then 3rd page to 6th page, and then the range from 8th (index = 7) page till the end of the document. Must be a String.
  • unwrap optional. Unwrap lines into a single line within table cells when lineGrouping is enabled. Must be one of: true, false.
  • rect optional. Defines coordinates for extraction, e.g. 51.8, 114.8, 235.5, 204.0. You can use PDF.co PDF Viewer with coordinates to easily select and copy coordinates. Must be a String.
  • lang optional. Sets OCR language to be used for scanned PDF, PNG, JPG douments when extracting text from them. Default is eng. Supported values: eng, spa, deu, fra, jpn, chi_sim, chi_tra, kor. You can also specify two languages to be used on the same page, for example: eng+deu, jpn+kor or other combinations. For more languages please contact our customer support.
  • inline optional. Must be one of: true to return data as inline or false to return link to output file (default).
  • lineGrouping optional. optional. Line grouping within table cells. Set to 1 to enable the grouping. Must be a String.

  • encrypt optional. Enable encryption for output file. Must be one of: true, false.
  • async optional. Runs processing asynchronously. Returns Use JobId that you may use with /job/check to check state of the processing (possible states: working, failed, aborted and success). Must be one of: true, false.
  • name optional. File name for generated output. Must be a String.
  • profiles optional. Must be a String. You can set additional and extra options using this parameter that allows you to set custom configuration. See profiles samples for examples.

Endpoint:

Method: POST
Type: RAW
URL: https://api.pdf.co/v1/pdf/convert/to/xml

Headers:

KeyValueDescription
x-api-key{{x-api-key}}Required. API key for PDF.co. Get yours at https://pdf.co/

Body:

{
    "url": "https://bytescout-com.s3-us-west-2.amazonaws.com/files/demo-files/cloud-api/pdf-to-xml/sample.pdf"
}

More example Requests/Responses:

I. Example Request: /pdf/convert/to/xml

Headers:

KeyValueDescription
x-api-key{{x-api-key}}Required. API key for PDF.co. Get yours at https://pdf.co/

Body:

{
    "url": "https://bytescout-com.s3-us-west-2.amazonaws.com/files/demo-files/cloud-api/pdf-to-xml/sample.pdf",
    "inline": true
}
I. Example Response: /pdf/convert/to/xml
{
    "body": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\r\n<document>\r\n  <page index=\"0\">\r\n    <row>\r\n      <column>\r\n        <text fontName=\"Arial\" fontSize=\"24.0\" fontStyle=\"Bold\" color=\"#538DD3\" x=\"36.00\" y=\"34.44\" width=\"242.81\" height=\"24.00\">Your Company Name</text>\r\n      </column>\r\n      <column>\r\n        <text>\r\n        </text>\r\n      </column>\r\n      <column>\r\n        <text>\r\n        </text>\r\n      </column>\r\n      <column>\r\n        <text>\r\n        </text>\r\n      </column>\r\n    </row>\r\n    <row>\r\n      <column>\r\n        <text fontName=\"Arial\" fontSize=\"11.0\" x=\"36.00\" y=\"76.94\" width=\"66.62\" height=\"11.04\">Your Address</text>\r\n      </column>\r\n      <column>\r\n        <text>\r\n        </text>\r\n      </column>\r\n      <column>\r\n        <text>\r\n        </text>\r\n      </column>\r\n      <column>\r\n        <text>\r\n        </text>\r\n      </column>\r\n    </row>\r\n    <row>\r\n      <column>\r\n        <text fontName=\"Arial\" fontSize=\"11.0\" x=\"36.00\" y=\"91.46\" width=\"69.14\" height=\"11.04\">City, State Zip</text>\r\n      </column>\r\n      <column>\r\n        <text>\r\n        </text>\r\n      </column>\r\n      <column>\r\n        <text>\r\n        </text>\r\n      </column>\r\n      <column>\r\n        <text>\r\n        </text>\r\n      </column>\r\n    </row>\r\n    <row>\r\n      <column>\r\n        <text>\r\n        </text>\r\n      </column>\r\n      <column>\r\n        <text>\r\n        </text>\r\n      </column>\r\n      <column>\r\n        <text>\r\n        </text>\r\n      </column>\r\n      <column>\r\n        <text fontName=\"Arial\" fontSize=\"11.0\" fontStyle=\"Bold\" x=\"461.02\" y=\"115.94\" width=\"98.42\" height=\"11.04\">Invoice No. 123456</text>\r\n      </column>\r\n    </row>\r\n    <row>\r\n      <column>\r\n        <text>\r\n        </text>\r\n      </column>\r\n      <column>\r\n        <text>\r\n        </text>\r\n      </column>\r\n      <column>\r\n        <text>\r\n        </text>\r\n      </column>\r\n      <column>\r\n        <text fontName=\"Arial\" fontSize=\"11.0\" fontStyle=\"Bold\" x=\"436.54\" y=\"130.46\" width=\"122.90\" height=\"11.04\">Invoice Date 01/01/2016</text>\r\n      </column>\r\n    </row>\r\n    <row>\r\n      <column>\r\n        <text fontName=\"Arial\" fontSize=\"11.0\" fontStyle=\"Bold\" x=\"36.00\" y=\"154.94\" width=\"63.62\" height=\"11.04\">Client Name</text>\r\n      </column>\r\n      <column>\r\n        <text>\r\n        </text>\r\n      </column>\r\n      <column>\r\n        <text>\r\n        </text>\r\n      </column>\r\n      <column>\r\n        <text>\r\n        </text>\r\n      </column>\r\n    </row>\r\n    <row>\r\n      <column>\r\n        <text fontName=\"Arial\" fontSize=\"11.0\" x=\"36.00\" y=\"169.70\" width=\"40.34\" height=\"11.04\">Address</text>\r\n      </column>\r\n      <column>\r\n        <text>\r\n        </text>\r\n      </column>\r\n      <column>\r\n        <text>\r\n        </text>\r\n      </column>\r\n      <column>\r\n        <text>\r\n        </text>\r\n      </column>\r\n    </row>\r\n    <row>\r\n      <column>\r\n        <text fontName=\"Arial\" fontSize=\"11.0\" x=\"36.00\" y=\"184.22\" width=\"69.14\" height=\"11.04\">City, State Zip</text>\r\n      </column>\r\n      <column>\r\n        <text>\r\n        </text>\r\n      </column>\r\n      <column>\r\n        <text>\r\n        </text>\r\n      </column>\r\n      <column>\r\n        <text>\r\n        </text>\r\n      </column>\r\n    </row>\r\n    <row>\r\n      <column>\r\n        <text fontName=\"Arial\" fontSize=\"11.0\" x=\"36.00\" y=\"233.30\" width=\"28.70\" height=\"11.04\">Notes</text>\r\n      </column>\r\n      <column>\r\n        <text>\r\n        </text>\r\n      </column>\r\n      <column>\r\n        <text>\r\n        </text>\r\n      </column>\r\n      <column>\r\n        <text>\r\n        </text>\r\n      </column>\r\n    </row>\r\n    <row>\r\n      <column>\r\n        <text fontName=\"Arial\" fontSize=\"11.0\" fontStyle=\"Bold\" x=\"36.00\" y=\"316.25\" width=\"22.58\" height=\"11.04\">Item</text>\r\n      </column>\r\n      <column>\r\n        <text fontName=\"Arial\" fontSize=\"11.0\" fontStyle=\"Bold\" x=\"247.61\" y=\"316.25\" width=\"44.64\" height=\"11.04\">Quantity</text>\r\n      </column>\r\n      <column>\r\n        <text fontName=\"Arial\" fontSize=\"11.0\" fontStyle=\"Bold\" x=\"398.95\" y=\"316.25\" width=\"26.91\" height=\"11.04\">Price</text>\r\n      </column>\r\n      <column>\r\n        <text fontName=\"Arial\" fontSize=\"11.0\" fontStyle=\"Bold\" x=\"533.14\" y=\"316.25\" width=\"26.30\" height=\"11.04\">Total</text>\r\n      </column>\r\n    </row>\r\n    <row>\r\n      <column>\r\n        <text fontName=\"Arial\" fontSize=\"11.0\" x=\"36.00\" y=\"341.33\" width=\"30.62\" height=\"11.04\">Item 1</text>\r\n      </column>\r\n      <column>\r\n        <text fontName=\"Arial\" fontSize=\"11.0\" x=\"286.13\" y=\"341.33\" width=\"6.12\" height=\"11.04\">1</text>\r\n      </column>\r\n      <column>\r\n        <text fontName=\"Arial\" fontSize=\"11.0\" x=\"398.35\" y=\"341.33\" width=\"27.51\" height=\"11.04\">40.00</text>\r\n      </column>\r\n      <column>\r\n        <text fontName=\"Arial\" fontSize=\"11.0\" x=\"531.94\" y=\"341.33\" width=\"27.50\" height=\"11.04\">40.00</text>\r\n      </column>\r\n    </row>\r\n    <row>\r\n      <column>\r\n        <text fontName=\"Arial\" fontSize=\"11.0\" x=\"36.00\" y=\"362.45\" width=\"30.62\" height=\"11.04\">Item 2</text>\r\n      </column>\r\n      <column>\r\n        <text fontName=\"Arial\" fontSize=\"11.0\" x=\"286.13\" y=\"362.45\" width=\"6.12\" height=\"11.04\">2</text>\r\n      </column>\r\n      <column>\r\n        <text fontName=\"Arial\" fontSize=\"11.0\" x=\"398.35\" y=\"362.45\" width=\"27.51\" height=\"11.04\">30.00</text>\r\n      </column>\r\n      <column>\r\n        <text fontName=\"Arial\" fontSize=\"11.0\" x=\"531.94\" y=\"362.45\" width=\"27.50\" height=\"11.04\">60.00</text>\r\n      </column>\r\n    </row>\r\n    <row>\r\n      <column>\r\n        <text fontName=\"Arial\" fontSize=\"11.0\" x=\"36.00\" y=\"383.57\" width=\"30.62\" height=\"11.04\">Item 3</text>\r\n      </column>\r\n      <column>\r\n        <text fontName=\"Arial\" fontSize=\"11.0\" x=\"286.13\" y=\"383.57\" width=\"6.12\" height=\"11.04\">3</text>\r\n      </column>\r\n      <column>\r\n        <text fontName=\"Arial\" fontSize=\"11.0\" x=\"398.35\" y=\"383.57\" width=\"27.51\" height=\"11.04\">20.00</text>\r\n      </column>\r\n      <column>\r\n        <text fontName=\"Arial\" fontSize=\"11.0\" x=\"531.94\" y=\"383.57\" width=\"27.50\" height=\"11.04\">60.00</text>\r\n      </column>\r\n    </row>\r\n    <row>\r\n      <column>\r\n        <text fontName=\"Arial\" fontSize=\"11.0\" x=\"36.00\" y=\"404.93\" width=\"30.62\" height=\"11.04\">Item 4</text>\r\n      </column>\r\n      <column>\r\n        <text fontName=\"Arial\" fontSize=\"11.0\" x=\"286.13\" y=\"404.93\" width=\"6.12\" height=\"11.04\">4</text>\r\n      </column>\r\n      <column>\r\n        <text fontName=\"Arial\" fontSize=\"11.0\" x=\"398.35\" y=\"404.93\" width=\"27.51\" height=\"11.04\">10.00</text>\r\n      </column>\r\n      <column>\r\n        <text fontName=\"Arial\" fontSize=\"11.0\" x=\"531.94\" y=\"404.93\" width=\"27.50\" height=\"11.04\">40.00</text>\r\n      </column>\r\n    </row>\r\n    <row>\r\n      <column>\r\n        <text>\r\n        </text>\r\n      </column>\r\n      <column>\r\n        <text>\r\n        </text>\r\n      </column>\r\n      <column>\r\n        <text fontName=\"Arial\" fontSize=\"11.0\" fontStyle=\"Bold\" x=\"389.11\" y=\"425.83\" width=\"36.75\" height=\"11.04\">TOTAL</text>\r\n      </column>\r\n      <column>\r\n        <text fontName=\"Arial\" fontSize=\"11.0\" fontStyle=\"Bold\" x=\"525.82\" y=\"425.83\" width=\"33.62\" height=\"11.04\">200.00</text>\r\n      </column>\r\n    </row>\r\n  </page>\r\n</document>",
    "pageCount": 1,
    "error": false,
    "status": 200,
    "name": "sample.xml",
    "remainingCredits": 60563
}

Status Code: 200


18. PDF to HTML

Convert PDF and scanned images into HTML representation with text, fonts, images, vectors, formatting preserved.

1. /pdf/convert/to/html

  • url required. URL to the source file. Supports links from Google Drive, Dropbox and from built-in PDF.co files storage. For uploading files via API please check Files Upload section.
  • pages optional. Comma-separated list of page indices (or ranges) to process. IMPORTANT: the very first page starts at 0 (zero). To set a range use the dash -, for example: 0,2-5,7-. To set a range from index to the last page use range like this: 2- (from page #3 as the index starts at zero and till the of the document). For ALL pages just leave this param empty. Example: 0,2-5,7- means first page, then 3rd page to 6th page, and then the range from 8th (index = 7) page till the end of the document. Must be a String.
  • unwrap optional. Unwrap lines into a single line within table cells when lineGrouping is enabled. Must be one of: true, false.
  • rect optional. Defines coordinates for extraction, e.g. 51.8, 114.8, 235.5, 204.0. You can use PDF.co PDF Viewer with coordinates to easily select and copy coordinates. Must be a String.
  • lang optional. Sets OCR language to be used for scanned PDF, PNG, JPG douments when extracting text from them. Default is eng. Supported values: eng, spa, deu, fra, jpn, chi_sim, chi_tra, kor. You can also specify two languages to be used on the same page, for example: eng+deu, jpn+kor or other combinations. For more languages please contact our customer support.
  • inline optional. Must be one of: true to return data as inline or false to return link to output file (default).
  • lineGrouping optional. optional. Line grouping within table cells. Set to 1 to enable the grouping. Must be a String.

  • encrypt optional. Enable encryption for output file. Must be one of: true, false.
  • async optional. Runs processing asynchronously. Returns Use JobId that you may use with /job/check to check state of the processing (possible states: working, failed, aborted and success). Must be one of: true, false.
  • name optional. File name for generated output. Must be a String.
  • profiles optional. Must be a String. You can set additional and extra options using this parameter that allows you to set custom configuration. See profiles samples for examples.

Endpoint:

Method: POST
Type: RAW
URL: https://api.pdf.co/v1/pdf/convert/to/html

Headers:

KeyValueDescription
x-api-key{{x-api-key}}Required. API key for PDF.co. Get yours at https://pdf.co/

Body:

{
    "url": "https://bytescout-com.s3-us-west-2.amazonaws.com/files/demo-files/cloud-api/pdf-to-html/sample.pdf",
    "inline": false
}

More example Requests/Responses:

I. Example Request: /pdf/convert/to/html

Headers:

KeyValueDescription
x-api-key{{x-api-key}}Required. API key for PDF.co. Get yours at https://pdf.co/

Body:

{
    "url": "https://bytescout-com.s3-us-west-2.amazonaws.com/files/demo-files/cloud-api/pdf-to-html/sample.pdf",
    "inline": false
}
I. Example Response: /pdf/convert/to/html
{
    "url": "https://pdf-temp-files.s3.amazonaws.com/a7a86e9f29f84f5180624bdec1facfc2/index.html",
    "pageCount": 1,
    "error": false,
    "status": 200,
    "name": "sample.html",
    "remainingCredits": 60110
}

Status Code: 200


19. PDF to JPG

Description: PDF to JPEG conversion. High quality rendering. Also works great for thumbnails generation and previews. GET or POST request.

Status Errors

CodeDescription
200The request has succeeded
400bad input parameters
401unauthorized
403not enough credits
405Timeout error. To process large documents or files please use asynchronous mode ( set async parameter to true) and then check the status using /job/check endpoint. If file contains many pages then specify a page range using pages parameter. The number of pages of the document can be obtained using the endpoint /pdf/info

Example

Sample Request:

! Don’t forget to set x-api-key url param or http header param (preferred) to API key, get yours here

POST

{
	"pages" : "",
	"password" : "",
	"url" : "https://bytescout-com.s3-us-west-2.amazonaws.com/files/demo-files/cloud-api/pdf-to-image/sample.pdf"
}

1. /pdf/convert/to/jpg

  • url required. URL to the source file. Supports links from Google Drive, Dropbox and from built-in PDF.co files storage. For uploading files via API please check Files Upload section.
  • pages optional. Comma-separated list of page indices (or ranges) to process. IMPORTANT: the very first page starts at 0 (zero). To set a range use the dash -, for example: 0,2-5,7-. To set a range from index to the last page use range like this: 2- (from page #3 as the index starts at zero and till the of the document). For ALL pages just leave this param empty. Example: 0,2-5,7- means first page, then 3rd page to 6th page, and then the range from 8th (index = 7) page till the end of the document. Must be a String.
  • rect optional. Defines coordinates for extraction, e.g. 51.8, 114.8, 235.5, 204.0. You can use PDF.co PDF Viewer with coordinates to easily select and copy coordinates. Must be a String.

  • encrypt optional. Enable encryption for output file. Must be one of: true, false.
  • async optional. Runs processing asynchronously. Returns Use JobId that you may use with /job/check to check state of the processing (possible states: working, failed, aborted and success). Must be one of: true, false.
  • name optional. File name for generated output. Must be a String.
  • profiles optional. Must be a String. You can set additional and extra options using this parameter that allows you to set custom configuration. See profiles samples for examples. For example, to turn on / off layers for rendering:
    {
    "url": "https://bytescout-com.s3-us-west-2.amazonaws.com/files/demo-files/cloud-api/pdf-to-image/sample.pdf",
    "pages": "0",
    "profiles": "{\"profiles\": [{\"profile1\": {\"RenderTextObjects\": false,\"RenderVectorObjects\": true,\"RenderImageObjects\": true}} ]}"
    }
    

Endpoint:

Method: POST
Type: RAW
URL: https://api.pdf.co/v1/pdf/convert/to/jpg

Headers:

KeyValueDescription
x-api-key{{x-api-key}}Required. API key for PDF.co. Get yours at https://pdf.co/
Content-Typeapplication/json 

Body:

{
  "url": "https://bytescout-com.s3-us-west-2.amazonaws.com/files/demo-files/cloud-api/pdf-to-image/sample.pdf",
  "pages": "0-"
}

More example Requests/Responses:

I. Example Request: /pdf/convert/to/jpg

Headers:

KeyValueDescription
x-api-key{{x-api-key}}Required. API key for PDF.co. Get yours at https://pdf.co/
Content-Typeapplication/json 

Body:

{
  "url": "https://bytescout-com.s3-us-west-2.amazonaws.com/files/demo-files/cloud-api/pdf-to-image/sample.pdf",
  "pages": "0"
}

I. Example Response: /pdf/convert/to/jpg
{
    "urls": [
        "https://pdf-temp-files.s3.amazonaws.com/163425dc6d0244c4a281d3e1a244c68a/sample.jpg"
    ],
    "pageCount": 1,
    "error": false,
    "status": 200,
    "name": "sample.jpg",
    "remainingCredits": 60728
}

Status Code: 200


20. PDF to PNG

Description: PDF to PNG conversion. High quality rendering. Also works great for thumbnails generation and previews. GET or POST request.

Status Errors

CodeDescription
200The request has succeeded
400bad input parameters
401unauthorized
403not enough credits
405Timeout error. To process large documents or files please use asynchronous mode ( set async parameter to true) and then check the status using /job/check endpoint. If file contains many pages then specify a page range using pages parameter. The number of pages of the document can be obtained using the endpoint /pdf/info

Example

Sample Request:

!! ! Don’t forget to set x-api-key url param or http header param (preferred) to API key, get yours here

POST

{
	"pages" : "",
	"password" : "",
	"url" : "https://bytescout-com.s3-us-west-2.amazonaws.com/files/demo-files/cloud-api/pdf-to-image/sample.pdf"
}

1. /pdf/convert/to/png

  • url required. URL to the source file. Supports links from Google Drive, Dropbox and from built-in PDF.co files storage. For uploading files via API please check Files Upload section.
  • pages optional. Comma-separated list of page indices (or ranges) to process. IMPORTANT: the very first page starts at 0 (zero). To set a range use the dash -, for example: 0,2-5,7-. To set a range from index to the last page use range like this: 2- (from page #3 as the index starts at zero and till the of the document). For ALL pages just leave this param empty. Example: 0,2-5,7- means first page, then 3rd page to 6th page, and then the range from 8th (index = 7) page till the end of the document. Must be a String.
  • rect optional. Defines coordinates for extraction, e.g. 51.8, 114.8, 235.5, 204.0. You can use PDF.co PDF Viewer with coordinates to easily select and copy coordinates. Must be a String.

  • encrypt optional. Enable encryption for output file. Must be one of: true, false.
  • async optional. Runs processing asynchronously. Returns Use JobId that you may use with /job/check to check state of the processing (possible states: working, failed, aborted and success). Must be one of: true, false.
  • name optional. File name for generated output. Must be a String.
  • profiles optional. Must be a String. You can set additional and extra options using this parameter that allows you to set custom configuration. See profiles samples for examples. For example, to turn on / off layers for rendering:
    {
    "url": "https://bytescout-com.s3-us-west-2.amazonaws.com/files/demo-files/cloud-api/pdf-to-image/sample.pdf",
    "pages": "0",
    "profiles": "{\"profiles\": [{\"profile1\": {\"RenderTextObjects\": false,\"RenderVectorObjects\": true,\"RenderImageObjects\": true}} ]}"
    }
    

Endpoint:

Method: POST
Type: RAW
URL: https://api.pdf.co/v1/pdf/convert/to/png

Headers:

KeyValueDescription
x-api-key{{x-api-key}}Required. API key for PDF.co. Get yours at https://pdf.co/
Content-Typeapplication/json 

Body:

{
  "url": "https://bytescout-com.s3-us-west-2.amazonaws.com/files/demo-files/cloud-api/pdf-to-image/sample.pdf",
  "pages": "0"
}

More example Requests/Responses:

I. Example Request: /pdf/convert/to/png

Headers:

KeyValueDescription
x-api-key{{x-api-key}}Required. API key for PDF.co. Get yours at https://pdf.co/
Content-Typeapplication/json 

Body:

{
  "url": "https://bytescout-com.s3-us-west-2.amazonaws.com/files/demo-files/cloud-api/pdf-to-image/sample.pdf",
  "pages": "0"
}

I. Example Response: /pdf/convert/to/png
{
    "urls": [
        "https://pdf-temp-files.s3.amazonaws.com/c9f65eaac1e740cf9aadc2f102e571ec/sample.png"
    ],
    "pageCount": 1,
    "error": false,
    "status": 200,
    "name": "sample.png",
    "remainingCredits": 60716
}

Status Code: 200


21. PDF to TIFF

Description: PDF to high quality TIFF images conversion. High quality rendering. Also works great for thumbnails generation and previews. GET or POST request.

Status Errors

CodeDescription
200The request has succeeded
400bad input parameters
401unauthorized
403not enough credits
405Timeout error. To process large documents or files please use asynchronous mode ( set async parameter to true) and then check the status using /job/check endpoint. If file contains many pages then specify a page range using pages parameter. The number of pages of the document can be obtained using the endpoint /pdf/info

Example

Sample Request:

! Don’t forget to set x-api-key url param or http header param (preferred) to API key, get yours here

POST

{
	"name" : "result.tiff",
	"pages" : "",
	"password" : "",
	"url" : "https://bytescout-com.s3-us-west-2.amazonaws.com/files/demo-files/cloud-api/pdf-to-image/sample.pdf"
}

1. /pdf/convert/to/tiff

  • url required. URL to the source file. Supports links from Google Drive, Dropbox and from built-in PDF.co files storage. For uploading files via API please check Files Upload section.
  • pages optional. Comma-separated list of page indices (or ranges) to process. IMPORTANT: the very first page starts at 0 (zero). To set a range use the dash -, for example: 0,2-5,7-. To set a range from index to the last page use range like this: 2- (from page #3 as the index starts at zero and till the of the document). For ALL pages just leave this param empty. Example: 0,2-5,7- means first page, then 3rd page to 6th page, and then the range from 8th (index = 7) page till the end of the document. Must be a String.
  • rect optional. Defines coordinates for extraction, e.g. 51.8, 114.8, 235.5, 204.0. You can use PDF.co PDF Viewer with coordinates to easily select and copy coordinates. Must be a String.

  • encrypt optional. Enable encryption for output file. Must be one of: true, false.
  • async optional. Runs processing asynchronously. Returns Use JobId that you may use with /job/check to check state of the processing (possible states: working, failed, aborted and success). Must be one of: true, false.
  • name optional. File name for generated output. Must be a String.
  • profiles optional. Must be a String. You can set additional and extra options using this parameter that allows you to set custom configuration. See profiles samples for examples. For example, to turn on / off layers for rendering:
    {
    "url": "https://bytescout-com.s3-us-west-2.amazonaws.com/files/demo-files/cloud-api/pdf-to-image/sample.pdf",
    "pages": "0",
    "profiles": "{\"profiles\": [{\"profile1\": {\"RenderTextObjects\": false,\"RenderVectorObjects\": true,\"RenderImageObjects\": true}} ]}"
    }
    

Endpoint:

Method: POST
Type: RAW
URL: https://api.pdf.co/v1/pdf/convert/to/tiff

Headers:

KeyValueDescription
x-api-key{{x-api-key}}Required. API key for PDF.co. Get yours at https://pdf.co/

Body:

{
    "url": "https://bytescout-com.s3-us-west-2.amazonaws.com/files/demo-files/cloud-api/pdf-to-image/sample.pdf",
    "pages": "0-"
}

More example Requests/Responses:

I. Example Request: /pdf/convert/to/tiff

Headers:

KeyValueDescription
Content-Typeapplication/json 
x-api-key{{x-api-key}}Required. API key for PDF.co. Get yours at https://pdf.co/

Body:

KeyValueDescription
urlhttps://bytescout-com.s3-us-west-2.amazonaws.com/files/demo-files/cloud-api/pdf-to-image/sample.pdfoptional. URL of the source PDF file. Must be a String.
nameresult.tiffoptional. File name for generated output. Must be a String.
password optional. Password of PDF file. Must be a String.
pages optional. Comma-separated list of page indices (or ranges) to process. IMPORTANT: the very first page starts at 0 (zero). To set a range use the dash -, for example: 0,2-5,7-. To set a range from index to the last page use range like this: 2- (from page #3 as the index starts at zero and till the of the document). For ALL pages just leave this param empty. Example: 0,2-5,7- means first page, then 3rd page to 6th page, and then the range from 8th (index = 7) page till the end of the document. Must be a String.
I. Example Response: /pdf/convert/to/tiff
{
    "url": "https://pdf-temp-files.s3.amazonaws.com/e6fb9be16cd14a8c94e94cdcef2afb45/result.tiff",
    "pageCount": 2,
    "error": false,
    "status": 200,
    "name": "result.tiff",
    "remainingCredits": 98162
}

Status Code: 200


22. PDF from CSV (CSV to PDF)

Description: Convert CSV, XLS, XLSX to PDF conversion. GET or POST request.

Status Errors

CodeDescription
200The request has succeeded
400bad input parameters
401unauthorized
403not enough credits
405Timeout error. To process large documents or files please use asynchronous mode ( set async parameter to true) and then check the status using /job/check endpoint. If file contains many pages then specify a page range using pages parameter. The number of pages of the document can be obtained using the endpoint /pdf/info

Example

Sample Request:

! Don’t forget to set x-api-key url param or http header param (preferred) to API key, get yours here

POST
{
	"name" : "result.pdf",
	"pages" : "",
	"url" : "https://bytescout-com.s3-us-west-2.amazonaws.com/files/demo-files/cloud-api/csv-to-pdf/sample.csv"
}

1. /pdf/convert/from/csv

  • url required. URL to the source file. Supports links from Google Drive, Dropbox and from built-in PDF.co files storage. For uploading files via API please check Files Upload section.
  • pages optional. Comma-separated list of page indices (or ranges) to process. IMPORTANT: the very first page starts at 0 (zero). To set a range use the dash -, for example: 0,2-5,7-. To set a range from index to the last page use range like this: 2- (from page #3 as the index starts at zero and till the of the document). For ALL pages just leave this param empty. Example: 0,2-5,7- means first page, then 3rd page to 6th page, and then the range from 8th (index = 7) page till the end of the document. Must be a String.
  • name optional. File name for generated output. Must be a String.
  • encrypt optional. Enable encryption for output file. Must be one of: true, false.
  • async optional. Runs processing asynchronously. Returns Use JobId that you may use with /job/check to check state of the processing (possible states: working, failed, aborted and success). Must be one of: true, false.
  • profiles optional. Must be a String. You can set additional and extra options using this parameter that allows you to set custom configuration. See profiles samples for examples.

Endpoint:

Method: POST
Type: RAW
URL: https://api.pdf.co/v1/pdf/convert/from/csv

Headers:

KeyValueDescription
x-api-key{{x-api-key}}Required. API key for PDF.co. Get yours at https://pdf.co/
Content-Typeapplication/json 

Body:

{
    "url": "https://bytescout-com.s3-us-west-2.amazonaws.com/files/demo-files/cloud-api/csv-to-pdf/sample.csv",
    "pages": "0-",
    "name": "result.pdf"
}

More example Requests/Responses:

I. Example Request: /pdf/convert/from/csv

Headers:

KeyValueDescription
Content-Typeapplication/json 
x-api-key{{x-api-key}}Required. API key for PDF.co. Get yours at https://pdf.co/

Body:

KeyValueDescription 
urlhttps://bytescout-com.s3-us-west-2.amazonaws.com/files/demo-files/cloud-api/csv-to-pdf/sample.csvoptional. URL of the source PDF file. Must be a String. 
nameresult.pdfoptional. File name for generated output. Must be a String. 
pages optional. Comma-separated list of page indices (or ranges) to process. IMPORTANT: the very first page starts at 0 (zero). To set a range use the dash -, for example: 0,2-5,7-. To set a range from index to the last page use range like this: 2- (from page #3 as the index starts at zero and till the of the document). For ALL pages just leave this param empty. Example: 0,2-5,7- means first page, then 3rd page to 6th page, and then the range from 8th (index = 7) page till the end of the document. Must be a String. 
I. Example Response: /pdf/convert/from/csv
{
    "url": "https://pdf-temp-files.s3.amazonaws.com/01ede81738a44b4fa5a6b909115ae0a3/result.pdf",
    "pageCount": 1,
    "error": false,
    "status": 200,
    "name": "result.pdf",
    "remainingCredits": 98506
}

Status Code: 200


23. PDF from Doc, DocX, RTF, TXT, XPS (Document to PDF)

Description: Convert DOC, DOCX, RTF, TXT, XPS files into PDF. GET or POST request.

Status Errors

CodeDescription
200The request has succeeded
400bad input parameters
401unauthorized
403not enough credits
405Timeout error. To process large documents or files please use asynchronous mode ( set async parameter to true) and then check the status using /job/check endpoint. If file contains many pages then specify a page range using pages parameter. The number of pages of the document can be obtained using the endpoint /pdf/info

Example

Sample Request:

! Don’t forget to set x-api-key url param or http header param (preferred) to API key, get yours here

POST
{
	"name" : "result.pdf",
	"url" : "https://bytescout-com.s3.amazonaws.com/files/demo-files/cloud-api/doc-to-pdf/sample.docx"
}

1. /pdf/convert/from/doc

  • url required. URL to the source file. Supports links from Google Drive, Dropbox and from built-in PDF.co files storage. For uploading files via API please check Files Upload section.
  • pages optional. Comma-separated list of page indices (or ranges) to process. IMPORTANT: the very first page starts at 0 (zero). To set a range use the dash -, for example: 0,2-5,7-. To set a range from index to the last page use range like this: 2- (from page #3 as the index starts at zero and till the of the document). For ALL pages just leave this param empty. Example: 0,2-5,7- means first page, then 3rd page to 6th page, and then the range from 8th (index = 7) page till the end of the document. Must be a String.
  • name optional. File name for generated output. Must be a String.
  • encrypt optional. Enable encryption for output file. Must be one of: true, false.
  • async optional. Runs processing asynchronously. Returns Use JobId that you may use with /job/check to check state of the processing (possible states: working, failed, aborted and success). Must be one of: true, false.
  • profiles optional. Must be a String. You can set additional and extra options using this parameter that allows you to set custom configuration. See profiles samples for examples.

Endpoint:

Method: POST
Type: RAW
URL: https://api.pdf.co/v1/pdf/convert/from/doc

Headers:

KeyValueDescription
x-api-key{{x-api-key}}Required. API key for PDF.co. Get yours at https://pdf.co/
Content-Typeapplication/json 

Body:

{
    "url": "https://bytescout-com.s3-us-west-2.amazonaws.com/files/demo-files/cloud-api/doc-to-pdf/sample.docx",
    "pages": "0-",
    "name": "result.pdf"
}

More example Requests/Responses:

I. Example Request: POST /pdf/convert/from/doc

Headers:

KeyValueDescription
x-api-key{{x-api-key}}Required. API key for PDF.co. Get yours at https://pdf.co/

Body:

KeyValueDescription
encrypttrueoptional. Enable encryption for output file. Must be one of: true, false.
urlhttps://bytescout-com.s3-us-west-2.amazonaws.com/files/demo-files/cloud-api/doc-to-pdf/sample.docxrequired. URL of the source file. Must be a String. To use your file please upload it first to the temporary storage, see Upload and Manage Files section below to learn how to do it.
nameresult.pdfoptional. File name for generated output. Must be a String.
I. Example Response: POST /pdf/convert/from/doc
{
    "url": "https://pdf-temp-files.s3-us-west-2.amazonaws.com/efc283805b4a47da87910826d4ddf063/result.pdf?X-Amz-Expires=3600&x-amz-security-token=FwoGZXIvYXdzEKz%2F%2F%2F%2F%2F%2F%2F%2F%2F%2FwEaDFzXkfTapcUbLLKahiKBAbIL4F2wV3gvozuGDxmOpWUu9ETuVzkYKjMuNLAFzVZeSgRm9Yuaj7ubad9uOLQkL65GNgBQoy1Xm%2FxtLWD9tegUYd3hFvYfIWMfkWjuROwMGTZeD3CMacDPdFkP%2BUSG4aXOZb8MoG2PXnsd9UUeOvrevZkCVTg77OBXIteBCPOojSjeis%2F5BTIoVCi%2FrwV5kEGkbfBwtgsfQL3MxSbg7j%2Fud%2F3oGbUWW7zsemcfiHTiFg%3D%3D&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=ASIA4NRRSZPHAK44PZ6O/20200812/us-west-2/s3/aws4_request&X-Amz-Date=20200812T103301Z&X-Amz-SignedHeaders=host;x-amz-security-token&X-Amz-Signature=6a176281828de74c917a4ff5bacd46eeca50221178bf34d01cac331f172e51c3",
    "pageCount": 1,
    "error": false,
    "status": 200,
    "name": "result.pdf",
    "remainingCredits": 61165
}

Status Code: 200


24. PDF from URL (URL to PDF)

Description: Create PDF from URL. POST request.

Status Errors

CodeDescription
200The request has succeeded
400bad input parameters
401unauthorized
403not enough credits
405Timeout error. To process large documents or files please use asynchronous mode ( set async parameter to true) and then check the status using /job/check endpoint. If file contains many pages then specify a page range using pages parameter. The number of pages of the document can be obtained using the endpoint /pdf/info

1. /pdf/convert/from/url

Generate PDF from URL or link to HTML page. You can set the following params:

  • url required. Link to input HTML file or website page to be conerted. You can pass link to file from Google Drive, Dropbox or another online file service that can generate shareable links. You can also use built-in PDF.co cloud storage located at https://app.pdf.co/files or upload your file as temporary file right before making this API call (see Upload and Manage Files section for more details on uploading files via API).
  • async optional. Set to true to run as async job in background (recommended for heavy documents).
  • margins optional. set to css style margins like 10px, 5mm, 5in for all sides or 5px 5px 5px 5px (the order of margins is top, right, bottom, left).
  • paperSize optional. Can be Letter, A4, A5, A6 or custom size in pixels, mm or inches with width and height separated by space like this: 200 300, 200px 300px, 200mm 300mm, 20cm 30cm or 6in 8in.
  • orientation optional. set to Portrait or Landscape. Portrait by default.
  • printBackground optional. true by default. Set to false to disbale printing of background.

  • templateData optional. You can also use Handlebars & Mustache style html templates. Set templateData to the string representsation of input JSON data for your template

Sample template: https://bytescout-com.s3-us-west-2.amazonaws.com/files/cloudapi-templates/template-invoice-1.html

Example input data for this template:

{
        "invoice": {
            "id": "0021",
            "date": "August 29, 2041",
            "dateDue": "September 29, 2041"
        },
        "issuer": {
            "name": "Sarah Connor",
            "company": "T-800 Research Lab",
            "address": "435 South La Fayette Park Place, Los Angeles, CA 90057",
            "website": "www.example.com",
            "email": "info@example.com"
        },
        "client": {
            "name": "Cyberdyne Systems",
            "company": "Cyberdyne Systems",
            "address": "18144 El Camino Real, Sunnyvale, California"
        }
}

Note: you should set templateData to the escaped version (use JSON.stringify(object) or similar). For a sample on using templates please check PDF from HTML Template set of samples below.

  • header optional. Set to HTML for header to be applied on every page at the header.
  • footer optional. Set to HTML for footer to be applied on every page at the bottom.

The header and footer params should contain valid HTML markup with the following classes used to inject printing values into them:

date: formatted print date title: document title url: document location pageNumber: current page number totalPages: total pages in the document

For example, the following markup will generate Page N of NN page numbering:

<span style='font-size:10px'>Page <span class='pageNumber'></span> of <span class='totalPages'></span>.</span>

Sample JSON for PDF generation with more advanced header and footer. Note that the top and bottom page margins are important because the page content may overlap the footer or header.

{
 "url": "https://wikipedia.org",
  "async": false,
  "encrypt": false,
  "name": "result.pdf",
  "margins": "40px 5px 40px 5px",
  "paperSize": "Letter",
  "orientation": "Portrait",
  "printBackground": true,
  "header": "<div style='width:100%'><span style='font-size:10px;margin-left:20px;width:50%;float:left'>LEFT SUBHEADER</span><span style='font-size:8px;width:30%;float:right'>RIGHT SUBHEADER</span></div>",
  "footer": "<div style='width:100%;text-align:right'><span style='font-size:10px;margin-right:20px'>Page <span class='pageNumber'></span> of <span class='totalPages'></span>.</span></div>"
}
  • profiles optional. Must be a Strings containing JSON profile. You can set additional and extra options using this parameter that allows you to set custom configuration. See profiles samples for examples.

Endpoint:

Method: POST
Type: RAW
URL: https://api.pdf.co/v1/pdf/convert/from/url

Headers:

KeyValueDescription
x-api-key{{x-api-key}}Required. API key for PDF.co. Get yours at https://pdf.co/
Content-Typeapplication/json 

Body:

{
    "url": "https://wikipedia.org/wiki/Wikipedia:Contact_us",
    "margins": "5mm",
    "paperSize": "Letter",
    "orientation": "Portrait",
    "printBackground": true,
    "header": "",
    "footer": "",
    "async": false,
    "encrypt": false,
    "profiles": "{ \"CustomScript\": \";; // put some custom js script here \"}"
}

More example Requests/Responses:

Headers:

KeyValueDescription
x-api-key{{x-api-key}}Required. API key for PDF.co. Get yours at https://pdf.co/
Content-Typeapplication/json 

Body:

{
  "url": "https://wikipedia.org",
  "async": false,
  "encrypt": false,
  "name": "result.pdf",
  "margins": "40px 5px 40px 5px",
  "paperSize": "Letter",
  "orientation": "Portrait",
  "printBackground": true,
  "header": "<div style='width:100%'><span style='font-size:10px;margin-left:20px;width:50%;float:left'>LEFT SUBHEADER</span><span style='font-size:8px;width:30%;float:right'>RIGHT SUBHEADER</span></div>",
  "footer": "<div style='width:100%;text-align:right'><span style='font-size:10px;margin-right:20px'>Page <span class='pageNumber'></span> of <span class='totalPages'></span>.</span></div>"
}

Status Code: 0


II. Example Request: JSON POST /pdf/convert/from/url

Headers:

KeyValueDescription
x-api-key{{x-api-key}}Required. API key for PDF.co. Get yours at https://pdf.co/
Content-Typeapplication/json 

Body:

{
    "url": "https://wikipedia.org/wiki/Wikipedia:Contact_us",
    "margins": "5px 5px 5px 5px",
    "paperSize": "Letter",
    "orientation": "Portrait",
    "printBackground": true,
    "header": "",
    "footer": "",
    "async": false,
    "encrypt": false
}
II. Example Response: JSON POST /pdf/convert/from/url
{
    "url": "https://pdf-temp-files.s3.amazonaws.com/980bc13f061344809c75e83ce181851c/Contact_us.pdf",
    "pageCount": 3,
    "error": false,
    "status": 200,
    "name": "Contact_us.pdf",
    "remainingCredits": 60637
}

Status Code: 200


25. PDF from HTML (HTML to PDF)

Description: Convert HTML code snippet into full featured PDF. GET or POST request.

Status Errors

CodeDescription
200The request has succeeded
400bad input parameters
401unauthorized
403not enough credits
405Timeout error. To process large documents or files please use asynchronous mode ( set async parameter to true) and then check the status using /job/check endpoint. If file contains many pages then specify a page range using pages parameter. The number of pages of the document can be obtained using the endpoint /pdf/info

Example

Sample Request:

! Don’t forget to set x-api-key url param or http header param (preferred) to API key, get yours here

POST
{
	"name" : "result.pdf",
	"html" : "true",
	"url" : "https://bytescout-com.s3.amazonaws.com/files/demo-files/cloud-api/pdf-to-html/sample.html"
}

1. /pdf/convert/from/html

Generate PDF from HTML input. You can also set the following params:

  • html required. Input HTML code to be converted. If you need to convert link or url to PDF then use /pdf/convert/from/url endpoint instead.
  • async optional. Set to true to run as async job in background (recommended for heavy documents).
  • margins optional. set to css style margins like 10px, 5mm, 5in for all sides or 5px 5px 5px 5px (the order of margins is top, right, bottom, left).
  • paperSize optional. Can be Letter, A4, A5, A6 or custom size in pixels, mm or inches with width and height separated by space like this: 200 300, 200px 300px, 200mm 300mm, 20cm 30cm or 6in 8in.
  • orientation optional. set to Portrait or Landscape. Portrait by default.
  • printBackground optional. true by default. Set to false to disbale printing of background.
  • templateData optional string. String with JSON data to replace inside HTML. If this property has JSON code inside (note that it should be represented as escaped string) then the engine will process input HTML (or in URL) as Handlebars HTML template and will replace data in the template accordingly. For example: {{invoice.company}} in HTML will be replaced with ACME Company if templateData is set to {invoice: {company: \"ACME Company\"}}.

  • templateData optional. You can also use Handlebars & Mustache style html templates. Set templateData to the string representsation of input JSON data for your template

Sample template: https://bytescout-com.s3-us-west-2.amazonaws.com/files/cloudapi-templates/template-invoice-1.html

Example input data for this template:

{
        "invoice": {
            "id": "0021",
            "date": "August 29, 2041",
            "dateDue": "September 29, 2041"
        },
        "issuer": {
            "name": "Sarah Connor",
            "company": "T-800 Research Lab",
            "address": "435 South La Fayette Park Place, Los Angeles, CA 90057",
            "website": "www.example.com",
            "email": "info@example.com"
        },
        "client": {
            "name": "Cyberdyne Systems",
            "company": "Cyberdyne Systems",
            "address": "18144 El Camino Real, Sunnyvale, California"
        }
}

Note: you should set templateData to the escaped version (use JSON.stringify(object) or similar). For a sample on using templates please check PDF from HTML Template set of samples below.

  • header optional. Set to HTML for header to be applied on every page at the header.
  • footer optional. Set to HTML for footer to be applied on every page at the bottom.

The header and footer params should contain valid HTML markup with the following classes used to inject printing values into them:

date: formatted print date title: document title url: document location pageNumber: current page number totalPages: total pages in the document

For example, the following markup will generate Page N of NN page numbering:

<span style='font-size:10px'>Page <span class='pageNumber'></span> of <span class='totalPages'></span>.</span>

Sample JSON for PDF generation with more advanced header and footer. Note that the top and bottom page margins are important because the page content may overlap the footer or header.

{
 "html": ""<!DOCTYPE html><html><head><meta charSet=\"utf-8\"/><style type=\"text/css\">body { font-family: \"Arial\" }</style></head><body><h1>Hello</h1></body></html>",
  "async": false,
  "encrypt": false,
  "name": "result.pdf",
  "margins": "40px 5px 40px 5px",
  "paperSize": "Letter",
  "orientation": "Portrait",
  "printBackground": true,
  "header": "<div style='width:100%'><span style='font-size:10px;margin-left:20px;width:50%;float:left'>LEFT SUBHEADER</span><span style='font-size:8px;width:30%;float:right'>RIGHT SUBHEADER</span></div>",
  "footer": "<div style='width:100%;text-align:right'><span style='font-size:10px;margin-right:20px'>Page <span class='pageNumber'></span> of <span class='totalPages'></span>.</span></div>"
}
  • profiles optional. Must be a String. You can set additional and extra options using this parameter that allows you to set custom configuration. See profiles samples for examples.

Endpoint:

Method: POST
Type: RAW
URL: https://api.pdf.co/v1/pdf/convert/from/html

Headers:

KeyValueDescription
x-api-key{{x-api-key}}Required. API key for PDF.co. Get yours at https://pdf.co/
Content-Typeapplication/json 

Body:

{
    "html": "<h1>Hello World!</h1><a href='https://pdf.co'>Go to PDF.co</a>",
    "name": "result.pdf",
    "margins": "5px 5px 5px 5px",
    "paperSize": "Letter",
    "orientation": "Portrait",
    "printBackground": true,
    "header": "",
    "footer": "",
    "async": false,
    "encrypt": false
}

More example Requests/Responses:

I. Example Request: /pdf/convert/from/html

Headers:

KeyValueDescription
x-api-key{{x-api-key}}Required. API key for PDF.co. Get yours at https://pdf.co/
Content-Typeapplication/json 

Body:

{
  "html": "<h1>Hello World!</h1>",
  "async": false,
  "encrypt": false,
  "name": "result.pdf",
  "margins": "5px 5px 5px 5px",
  "paperSize": "Letter",
  "orientation": "Portrait",
  "printBackground": true,
  "header": "",
  "footer": ""

}

I. Example Response: /pdf/convert/from/html
{
    "url": "https://pdf-temp-files.s3.amazonaws.com/97dc323f32794eae8fa6602f5bd981c1/result.pdf",
    "pageCount": 1,
    "error": false,
    "status": 200,
    "name": "result.pdf",
    "remainingCredits": 60646
}

Status Code: 200


Headers:

KeyValueDescription
x-api-key{{x-api-key}}Required. API key for PDF.co. Get yours at https://pdf.co/
Content-Typeapplication/json 

Body:

{
 "html": "<!DOCTYPE html><html><head><meta charSet=\"utf-8\"/><style type=\"text/css\">body { font-family: \"Arial\" }</style></head><body><h1>Hello</h1></body></html>",
  "async": false,
  "encrypt": false,
  "name": "result.pdf",
  "margins": "40px 5px 40px 5px",
  "paperSize": "Letter",
  "orientation": "Portrait",
  "printBackground": true,
  "header": "<div style='width:100%'><span style='font-size:10px;margin-left:20px;width:50%;float:left'>LEFT SUBHEADER</span><span style='font-size:8px;width:30%;float:right'>RIGHT SUBHEADER</span></div>",
  "footer": "<div style='width:100%;text-align:right'><span style='font-size:10px;margin-right:20px'>Page <span class='pageNumber'></span> of <span class='totalPages'></span>.</span></div>"
}

Status Code: 0


Generate PDF from HTML input. You can also set the following params:

  • html required. Input HTML code to be converted. If you need to convert link or url to PDF then use /pdf/convert/from/url endpoint instead.
  • async optional. Set to true to run as async job in background (recommended for heavy documents).
  • margins optional. set to css style margins like 10px, 5mm, 5in for all sides or 5px 5px 5px 5px (the order of margins is top, right, bottom, left).
  • paperSize optional. Can be Letter, A4, A5, A6 or custom size in pixels, mm or inches with width and height separated by space like this: 200 300, 200px 300px, 200mm 300mm, 20cm 30cm or 6in 8in.
  • orientation optional. set to Portrait or Landscape. Portrait by default.
  • printBackground optional. true by default. Set to false to disbale printing of background.
  • templateData optional string. String with JSON data to replace inside HTML. If this property has JSON code inside (note that it should be represented as escaped string) then the engine will process input HTML (or in URL) as Handlebars HTML template and will replace data in the template accordingly. For example: {{invoice.company}} in HTML will be replaced with ACME Company if templateData is set to {invoice: {company: \"ACME Company\"}}.

  • templateData optional. You can also use Handlebars & Mustache style html templates. Set templateData to the string representsation of input JSON data for your template

Sample template: https://bytescout-com.s3-us-west-2.amazonaws.com/files/cloudapi-templates/template-invoice-1.html

Example input data for this template:

{
        "invoice": {
            "id": "0021",
            "date": "August 29, 2041",
            "dateDue": "September 29, 2041"
        },
        "issuer": {
            "name": "Sarah Connor",
            "company": "T-800 Research Lab",
            "address": "435 South La Fayette Park Place, Los Angeles, CA 90057",
            "website": "www.example.com",
            "email": "info@example.com"
        },
        "client": {
            "name": "Cyberdyne Systems",
            "company": "Cyberdyne Systems",
            "address": "18144 El Camino Real, Sunnyvale, California"
        }
}

Note: you should set templateData to the escaped version (use JSON.stringify(object) or similar). For a sample on using templates please check PDF from HTML Template set of samples below.

  • header optional. Set to HTML for header to be applied on every page at the header.
  • footer optional. Set to HTML for footer to be applied on every page at the bottom.

The header and footer params should contain valid HTML markup with the following classes used to inject printing values into them:

date: formatted print date title: document title url: document location pageNumber: current page number totalPages: total pages in the document

For example, the following markup will generate Page N of NN page numbering:

<span style='font-size:10px'>Page <span class='pageNumber'></span> of <span class='totalPages'></span>.</span>

Sample JSON for PDF generation with more advanced header and footer. Note that the top and bottom page margins are important because the page content may overlap the footer or header.

{
 "html": ""<!DOCTYPE html><html><head><meta charSet=\"utf-8\"/><style type=\"text/css\">body { font-family: \"Arial\" }</style></head><body><h1>Hello</h1></body></html>",
  "async": false,
  "encrypt": false,
  "name": "result.pdf",
  "margins": "40px 5px 40px 5px",
  "paperSize": "Letter",
  "orientation": "Portrait",
  "printBackground": true,
  "header": "<div style='width:100%'><span style='font-size:10px;margin-left:20px;width:50%;float:left'>LEFT SUBHEADER</span><span style='font-size:8px;width:30%;float:right'>RIGHT SUBHEADER</span></div>",
  "footer": "<div style='width:100%;text-align:right'><span style='font-size:10px;margin-right:20px'>Page <span class='pageNumber'></span> of <span class='totalPages'></span>.</span></div>"
}
  • profiles optional. Must be a String. You can set additional and extra options using this parameter that allows you to set custom configuration. See profiles samples for examples.

Endpoint:

Method: POST
Type: RAW
URL: https://api.pdf.co/v1/pdf/convert/from/html

Headers:

KeyValueDescription
x-api-key{{x-api-key}}Required. API key for PDF.co. Get yours at https://pdf.co/
Content-Typeapplication/json 

Body:

{
    "html": "<h1>Hello World!</h1>",
    "name": "result.pdf",
    "margins": "5px 5px 5px 5px",
    "printBackground": true,
    "header": "",
    "footer": "",
    "async": false,
    "encrypt": false,
    "profiles": "{\"orientation\": \"landscape\", \"paperSize\": \"letter\" }"
}

More example Requests/Responses:

I. Example Request: /pdf/convert/from/html

Headers:

KeyValueDescription
x-api-key{{x-api-key}}Required. API key for PDF.co. Get yours at https://pdf.co/
Content-Typeapplication/json 

Body:

{
  "html": "<h1>Hello World!</h1>",
  "async": false,
  "encrypt": false,
  "name": "result.pdf",
  "margins": "5px 5px 5px 5px",
  "paperSize": "Letter",
  "orientation": "Portrait",
  "printBackground": true,
  "header": "",
  "footer": ""

}

I. Example Response: /pdf/convert/from/html
{
    "url": "https://pdf-temp-files.s3.amazonaws.com/97dc323f32794eae8fa6602f5bd981c1/result.pdf",
    "pageCount": 1,
    "error": false,
    "status": 200,
    "name": "result.pdf",
    "remainingCredits": 60646
}

Status Code: 200


Headers:

KeyValueDescription
x-api-key{{x-api-key}}Required. API key for PDF.co. Get yours at https://pdf.co/
Content-Typeapplication/json 

Body:

{
 "html": "<!DOCTYPE html><html><head><meta charSet=\"utf-8\"/><style type=\"text/css\">body { font-family: \"Arial\" }</style></head><body><h1>Hello</h1></body></html>",
  "async": false,
  "encrypt": false,
  "name": "result.pdf",
  "margins": "40px 5px 40px 5px",
  "paperSize": "Letter",
  "orientation": "Portrait",
  "printBackground": true,
  "header": "<div style='width:100%'><span style='font-size:10px;margin-left:20px;width:50%;float:left'>LEFT SUBHEADER</span><span style='font-size:8px;width:30%;float:right'>RIGHT SUBHEADER</span></div>",
  "footer": "<div style='width:100%;text-align:right'><span style='font-size:10px;margin-right:20px'>Page <span class='pageNumber'></span> of <span class='totalPages'></span>.</span></div>"
}

Status Code: 0


26. PDF from Email

Description: Convert email files (MSG or EML) code into PDF. Extracts attachments (if any) from input email and embeds into PDF as pdf attachments.

Status Errors

CodeDescription
200The request has succeeded
400bad input parameters
401unauthorized
403not enough credits
405Timeout error. To process large documents or files please use asynchronous mode ( set async parameter to true) and then check the status using /job/check endpoint. If file contains many pages then specify a page range using pages parameter. The number of pages of the document can be obtained using the endpoint /pdf/info

Example

Sample Request:

! Don’t forget to set x-api-key url param or http header param (preferred) to API key, get yours here

1. /email/decode

  • url required. URL to the source file. Supports links from Google Drive, Dropbox and from built-in PDF.co files storage. For uploading files via API please check Files Upload section.
  • profiles optional. Must be a String. You can set additional and extra options using this parameter that allows you to set custom configuration. See profiles samples for examples.

Endpoint:

Method: POST
Type: RAW
URL: https://api.pdf.co/v1/email/decode

Headers:

KeyValueDescription
Content-Typeapplication/json 
x-api-key{{x-api-key}}Required. API key for PDF.co. Get yours at https://pdf.co/

Body:

{
    "url": "https://bytescout-com.s3-us-west-2.amazonaws.com/files/demo-files/cloud-api/email-extractor/sample.eml"
}

More example Requests/Responses:

I. Example Request: /email/decode

Headers:

KeyValueDescription
Content-Typeapplication/json 
x-api-key{{x-api-key}}Required. API key for PDF.co. Get yours at https://pdf.co/

Body:

{
    "url": "https://bytescout-com.s3-us-west-2.amazonaws.com/files/demo-files/cloud-api/email-extractor/sample.eml"
}
I. Example Response: /email/decode
{
    "body": {
        "from": "test@example.com",
        "fromName": "",
        "to": [
            {
                "address": "test2@example.com",
                "name": ""
            }
        ],
        "cc": [],
        "bcc": [],
        "sentAt": null,
        "receivedAt": null,
        "subject": "Test email with attachments",
        "bodyHtml": null,
        "bodyText": "Test Email Message with 2 PDF files as attachments\r\n\r\n",
        "attachmentCount": 2
    },
    "error": false,
    "status": 200,
    "name": "sample.json",
    "remainingCredits": 60095
}

Status Code: 200


2. /email/extract-attachments

  • url required. URL to the source file. Supports links from Google Drive, Dropbox and from built-in PDF.co files storage. For uploading files via API please check Files Upload section.
  • profiles optional. Must be a String. You can set additional and extra options using this parameter that allows you to set custom configuration. See profiles samples for examples.

Endpoint:

Method: POST
Type: RAW
URL: https://api.pdf.co/v1/email/extract-attachments

Headers:

KeyValueDescription
Content-Typeapplication/json 
x-api-key{{x-api-key}}Required. API key for PDF.co. Get yours at https://pdf.co/

Body:

{
    "url": "https://bytescout-com.s3-us-west-2.amazonaws.com/files/demo-files/cloud-api/email-extractor/sample.eml"
}

More example Requests/Responses:

I. Example Request: POST /email/extract-attachments

Headers:

KeyValueDescription
Content-Typeapplication/json 
x-api-key{{x-api-key}}Required. API key for PDF.co. Get yours at https://pdf.co/

Body:

{
    "url": "https://bytescout-com.s3-us-west-2.amazonaws.com/files/demo-files/cloud-api/email-extractor/sample.eml"
}
I. Example Response: POST /email/extract-attachments
{
    "body": {
        "from": "test@example.com",
        "subject": "Test email with attachments",
        "bodyHtml": null,
        "bodyText": "Test Email Message with 2 PDF files as attachments\r\n\r\n",
        "attachments": [
            {
                "filename": "DigitalOcean.pdf",
                "url": "https://pdf-temp-files.s3.amazonaws.com/2943e6bb80e646ec92e839292e95d542/DigitalOcean.pdf"
            },
            {
                "filename": "sample.pdf",
                "url": "https://pdf-temp-files.s3.amazonaws.com/e10e37fbb438432a83ece50ccdc719b3/sample.pdf"
            }
        ]
    },
    "pageCount": 2,
    "error": false,
    "status": 200,
    "name": "sample.json",
    "remainingCredits": 60085
}

Status Code: 200


3. /pdf/convert/from/email

Generate PDF from MSG or EML file and creates PDF file with email and attachments (if any). You can set the following params:

  • url required. Link to input EML or MSG file to be converted. You can pass link to file from Google Drive, Dropbox or another online file service that can generate shareable links. You can also use built-in PDF.co cloud storage located at https://app.pdf.co/files or upload your file as temporary file right before making this API call (see Upload and Manage Files section for more details on uploading files via API).
  • embedAttachments optional. True by default. Set to true to automatically embeds all attachments from original input email MSG or EML fileas files into final output PDF. Set to false if you don’t want to embed attachments so it will convert only the body of input email.
  • convertAttachments optional. true by default. Set to false if you don’t want to convert attachments from original email and want to embed them as original files (as embedded pdf attachments). Converts attachments that are supported by API (doc, docx, html, png, jpg etc) into PDF and merges into output final PDF. Non-supported file types are added as PDF attachments (Adobe Reader or another viewer maybe required to view PDF attachments).
  • async optional. Set to true to run as async job in background (recommended for heavy documents).
  • margins optional. set to css style margins like 10px, 5mm, 5in for all sides or 5px 5px 5px 5px (the order of margins is top, right, bottom, left).
  • paperSize optional. Can be Letter, A4, A5, A6 or custom size in pixels, mm or inches with width and height separated by space like this: 200 300, 200px 300px, 200mm 300mm, 20cm 30cm or 6in 8in.
  • orientation optional. set to Portrait or Landscape. Portrait by default.
  • profiles optional. Must be a String. You can set additional and extra options using this parameter that allows you to set custom configuration. See profiles samples for examples.

Endpoint:

Method: POST
Type: RAW
URL: https://api.pdf.co/v1/pdf/convert/from/email

Headers:

KeyValueDescription
x-api-key{{x-api-key}}Required. API key for PDF.co. Get yours at https://pdf.co/
Content-Typeapplication/json 

Body:

{
    "url": "https://bytescout-com.s3-us-west-2.amazonaws.com/files/demo-files/cloud-api/email-to-pdf/sample.eml",
    "embedAttachments": true,
    "convertAttachments": true,
    "paperSize": "Letter",    
    "name": "email-with-attachments",
    "async": false,
    "encrypt": false
}

More example Requests/Responses:

Headers:

KeyValueDescription
x-api-key{{x-api-key}}Required. API key for PDF.co. Get yours at https://pdf.co/
Content-Typeapplication/json 

Body:

{
  "url": "https://wikipedia.org",
  "async": false,
  "encrypt": false,
  "name": "result.pdf",
  "margins": "40px 5px 40px 5px",
  "paperSize": "Letter",
  "orientation": "Portrait",
  "printBackground": true,
  "header": "<div style='width:100%'><span style='font-size:10px;margin-left:20px;width:50%;float:left'>LEFT SUBHEADER</span><span style='font-size:8px;width:30%;float:right'>RIGHT SUBHEADER</span></div>",
  "footer": "<div style='width:100%;text-align:right'><span style='font-size:10px;margin-right:20px'>Page <span class='pageNumber'></span> of <span class='totalPages'></span>.</span></div>"
}

Status Code: 0


II. Example Request: JSON POST /pdf/convert/from/url

Headers:

KeyValueDescription
x-api-key{{x-api-key}}Required. API key for PDF.co. Get yours at https://pdf.co/
Content-Typeapplication/json 

Body:

{
    "url": "https://wikipedia.org/wiki/Wikipedia:Contact_us",
    "margins": "5mm",
    "paperSize": "Letter",
    "orientation": "Portrait",
    "printBackground": true,
    "header": "",
    "footer": "",
    "async": false,
    "encrypt": false
}
II. Example Response: JSON POST /pdf/convert/from/url
{
    "url": "https://pdf-temp-files.s3.amazonaws.com/980bc13f061344809c75e83ce181851c/Contact_us.pdf",
    "pageCount": 3,
    "error": false,
    "status": 200,
    "name": "Contact_us.pdf",
    "remainingCredits": 60637
}

Status Code: 200


4. /pdf/convert/from/email with Orientation and paper Size

  • url required. URL to the source file. Supports links from Google Drive, Dropbox and from built-in PDF.co files storage. For uploading files via API please check Files Upload section.
  • profiles optional. Must be a String. You can set additional and extra options using this parameter that allows you to set custom configuration. See profiles samples for examples.

profiles string may contain JSON string containing options like orientation, paper size, margins. Example: {'orientation': 'landscape', 'paperSize': 'letter', 'margins': '5mm'}

Available options inside profiles:

  • margins optional. set to css style margins like 10px, 5mm, 5in for all sides or 5px 5px 5px 5px (the order of margins is top, right, bottom, left).
  • paperSize optional. Can be Letter, A4, A5, A6 or custom size in pixels, mm or inches with width and height separated by space like this: 200 300, 200px 300px, 200mm 300mm, 20cm 30cm or 6in 8in.
  • orientation optional. set to Portrait or Landscape. Portrait by default.

Endpoint:

Method: POST
Type: RAW
URL: https://api.pdf.co/v1/pdf/convert/from/email

Headers:

KeyValueDescription
Content-Typeapplication/json 
x-api-key{{x-api-key}}Required. API key for PDF.co. Get yours at https://pdf.co/

Body:

{
    "url": "https://bytescout-com.s3-us-west-2.amazonaws.com/files/demo-files/cloud-api/email-to-pdf/sample.eml",
    "embedAttachments": true,
    "name": "email-with-attachments",
    "async": false,
    "encrypt": false,
    "profiles": "{\"orientation\": \"landscape\", \"paperSize\": \"letter\" }"
}

27. PDF from HTML template (Mustache or HandleBars style)

Description: Creates PDF from HTML template. POST request.

Status Errors

CodeDescription
200The request has succeeded
400bad input parameters
401unauthorized
403not enough credits
405Timeout error. To process large documents or files please use asynchronous mode ( set async parameter to true) and then check the status using /job/check endpoint. If file contains many pages then specify a page range using pages parameter. The number of pages of the document can be obtained using the endpoint /pdf/info

PDF.co supports Handlebars & Mustache HTML templates. It works like this: HTML or URL to HTML contains HTML code with special macros like {{invoice.company}} inside. To put data for to be replaced in the template use templateData property with the string representation of JSON data object inside (use JSON.stringify(object) or similar to generate string from JSON).

So if you are setting templateData property to JSON like this { invoice: { company: \"ACME Company\"}} then {{invoice.company}} inside HTML template is getting replaced with ACME Company.

For more information about Handlebars & Mustache templates please visit https://handlebarsjs.com/.

1. /pdf/convert/from/html (using simple inline HTML template)

You can generate PDF from HTML template. Just pass HTML template with Mustache or Handlebars variables as input.

  • html required. HTML template with Mustache and Handlebars template. If you need to convert from url then please use /pdf/convert/from/url endpoint instead.
  • margins optional. set to css style margins like 10px, 5mm, 5in for all sides or 5px 5px 5px 5px (the order of margins is top, right, bottom, left).
  • paperSize optional. Can be Letter, A4, A5, A6 or custom size in pixels, mm or inches with width and height separated by space like this: 200 300, 200px 300px, 200mm 300mm, 20cm 30cm or 6in 8in.
  • orientation optional. set to Portrait or Landscape. Portrait by default.
  • printBackground optional. true by default. Set to false to disbale printing of background.
  • header optional. Set to HTML for header to be applied on every page at the header.
  • footer optional. Set to HTML for footer to be applied on every page at the bottom.
  • async optional. Set to true to run as async job in background (recommended for heavy documents).
  • templateData optional. Set to string with JSON data for template if your HTML is a template (Handlebars & Mustache style). And you should set templateData param to the escaped string (use JSON.stringify(object) or similar)
  • profiles optional. Must be a String. You can set additional and extra options using this parameter that allows you to set custom configuration. See profiles samples for examples.

Endpoint:

Method: POST
Type: RAW
URL: https://api.pdf.co/v1/pdf/convert/from/html

Headers:

KeyValueDescription
x-api-key{{x-api-key}}Required. API key for PDF.co. Get yours at https://pdf.co/
Content-Typeapplication/json 

Body:

{
    "html": "Sample template: <strong>{{variable1}}</strong> and <strong>{{variable2}}</strong>",
    "name": "newDocument.pdf",
    "margins": "5px 5px 5px 5px",
    "paperSize": "Letter",
    "orientation": "Portrait",
    "printBackground": true,
    "header": "",
    "footer": "",
    "async": false,
    "encrypt": false,
    "templateData": "{\"variable1\": \"Hello from variable1\", \"variable2\": \"Hello from variable 2\"}"
}

More example Requests/Responses:

I. Example Request: JSON POST (simple template) /pdf/convert/from/url

Headers:

KeyValueDescription
x-api-key{{x-api-key}}Required. API key for PDF.co. Get yours at https://pdf.co/
Content-Typeapplication/json 

Body:

{
    "html": "Sample template: <strong>{{variable1}}</strong> and <strong>{{variable2}}</strong>",
    "name": "newDocument.pdf",
    "margins": "5px 5px 5px 5px",
    "paperSize": "Letter",
    "orientation": "Portrait",
    "printBackground": true,
    "header": "",
    "footer": "",
    "async": false,
    "encrypt": false,
    "templateData": "{\"variable1\": \"Hello from variable1\", \"variable2\": \"Hello from variable 2\"}"
}
I. Example Response: JSON POST (simple template) /pdf/convert/from/url
{
    "url": "https://pdf-temp-files.s3.amazonaws.com/3f10116dafe4498aa0c498ac1735fb76/newDocument.pdf",
    "pageCount": 1,
    "error": false,
    "status": 200,
    "name": "newDocument.pdf",
    "remainingCredits": 60065
}

Status Code: 200


2. /pdf/convert/from/url (invoice template 1)

Generate PDF from HTML templates (Mustache and Handlebars template styles are supported). Input Parameters

  • url required. Url to HTML template. Mustache and Handlebars templates are supported. You can pass link to file from Google Drive, Dropbox or another online file service that can generate shareable links. You can also use built-in PDF.co cloud storage located at https://app.pdf.co/files or upload your file as temporary file right before making this API call (see Upload and Manage Files section for more details on uploading files via API).
  • margins optional. set to css style margins like 10px, 5mm, 5in for all sides or 5px 5px 5px 5px (the order of margins is top, right, bottom, left).
  • paperSize optional. Can be Letter, A4, A5, A6 or custom size in pixels, mm or inches with width and height separated by space like this: 200 300, 200px 300px, 200mm 300mm, 20cm 30cm or 6in 8in.
  • orientation optional. set to Portrait or Landscape. Portrait by default.
  • printBackground optional. true by default. Set to false to disbale printing of background.
  • header optional. Set to HTML for header to be applied on every page at the header.
  • footer optional. Set to HTML for footer to be applied on every page at the bottom.
  • async optional. Set to true to run as async job in background (recommended for heavy documents).
  • templateData optional. Set to string with JSON data for template if your HTML is a template (Handlebars & Mustache style).

Example of JSON for template data:

{
        "invoice": {
            "id": "0021",
            "date": "August 29, 2041",
            "dateDue": "September 29, 2041"
        },
        "issuer": {
            "name": "Sarah Connor",
            "company": "T-800 Research Lab",
            "address": "435 South La Fayette Park Place, Los Angeles, CA 90057",
            "website": "www.example.com",
            "email": "info@example.com"
        },
        "client": {
            "name": "Cyberdyne Systems",
            "company": "Cyberdyne Systems",
            "address": "18144 El Camino Real, Sunnyvale, California",
            "website": "www.example.com",
            "email": "sales@example.com"
        },
        "items": [
            {
                "name": "T-800 Prototype Research",
                "price": "$1000.00"
            },
            {
                "name": "T-800 Cloud Sync Setup",
                "price": "$300.00"
            },
            {
                "name": "Skynet Domain Setup",
                "price": "$50.00"
            },
            {
                "name": "T-800 OS License",
                "price": "$350.00"
            },
            {
                "name": "T-800 Vision Testing",
                "price": "$150.00"
            },
        ],
        "discount": "$100.00%",
        "tax": "$126.88 (7.5%)",
        "total": "$1876.88",
        "paid": true,
        "note": "Thank you for your business with us.",
        "primaryColor": "#E4135A",
        "secondaryColor": "#00538B",
        "textColor": "#3F4254"
    }

And you should set templateData to the escaped version (use JSON.stringify(object) or similar)

  • profiles optional. Must be a String. You can set additional and extra options using this parameter that allows you to set custom configuration. See profiles samples for examples.

Endpoint:

Method: POST
Type: RAW
URL: https://api.pdf.co/v1/pdf/convert/from/url

Headers:

KeyValueDescription
x-api-key{{x-api-key}}Required. API key for PDF.co. Get yours at https://pdf.co/
Content-Typeapplication/json 

Body:

{
    "url": "https://bytescout-com.s3-us-west-2.amazonaws.com/files/cloudapi-templates/template-invoice-1.html",
    "name": "newInvoice.pdf",
    "margins": "5px 5px 5px 5px",
    "paperSize": "Letter",
    "orientation": "Portrait",
    "printBackground": true,
    "header": "",
    "footer": "",
    "async": false,
    "encrypt": false,
    "templateData": "{\r\n        \"invoice\": {\r\n            \"id\": \"0021\",\r\n            \"date\": \"August 29, 2041\",\r\n            \"dateDue\": \"September 29, 2041\"\r\n        },\r\n        \"issuer\": {\r\n            \"name\": \"Sarah Connor\",\r\n            \"company\": \"T-800 Research Lab\",\r\n            \"address\": \"435 South La Fayette Park Place, Los Angeles, CA 90057\",\r\n            \"website\": \"www.example.com\",\r\n            \"email\": \"info@example.com\"\r\n        },\r\n        \"client\": {\r\n            \"name\": \"Cyberdyne Systems\",\r\n            \"company\": \"Cyberdyne Systems\",\r\n            \"address\": \"18144 El Camino Real, Sunnyvale, California\",\r\n            \"website\": \"www.example.com\",\r\n            \"email\": \"sales@example.com\"\r\n        },\r\n        \"items\": [\r\n            {\r\n                \"name\": \"T-800 Prototype Research\",\r\n                \"price\": \"$1000.00\"\r\n            },\r\n            {\r\n                \"name\": \"T-800 Cloud Sync Setup\",\r\n                \"price\": \"$300.00\"\r\n            },\r\n            {\r\n                \"name\": \"Skynet Domain Setup\",\r\n                \"price\": \"$50.00\"\r\n            },\r\n            {\r\n                \"name\": \"T-800 OS License\",\r\n                \"price\": \"$350.00\"\r\n            },\r\n            {\r\n                \"name\": \"T-800 Vision Testing\",\r\n                \"price\": \"$150.00\"\r\n            },\r\n        ],\r\n        \"discount\": \"$100.00\",\r\n        \"tax\": \"$126.88 (7.5%)\",\r\n        \"total\": \"$1876.88\",\r\n        \"paid\": true,\r\n        \"note\": \"Thank you for your business with us.\",\r\n        \"primaryColor\": \"#E4135A\",\r\n        \"secondaryColor\": \"#00538B\",\r\n        \"textColor\": \"#3F4254\"\r\n    }"
}

More example Requests/Responses:

I. Example Request: JSON POST (sample invoice template 1) /pdf/convert/from/html

Headers:

KeyValueDescription
x-api-key{{x-api-key}}Required. API key for PDF.co. Get yours at https://pdf.co/
Content-Typeapplication/json 

Body:

{
    "url": "https://bytescout-com.s3-us-west-2.amazonaws.com/files/cloudapi-templates/template-invoice-1.html",
    "name": "newInvoice.pdf",
    "margins": "5px 5px 5px 5px",
    "paperSize": "Letter",
    "orientation": "Portrait",
    "printBackground": true,
    "header": "",
    "footer": "",
    "async": false,
    "encrypt": false,
    "templateData": "{\r\n        \"invoice\": {\r\n            \"id\": \"0021\",\r\n            \"date\": \"August 29, 2041\",\r\n            \"dateDue\": \"September 29, 2041\"\r\n        },\r\n        \"issuer\": {\r\n            \"name\": \"Sarah Connor\",\r\n            \"company\": \"T-800 Research Lab\",\r\n            \"address\": \"435 South La Fayette Park Place, Los Angeles, CA 90057\",\r\n            \"website\": \"www.example.com\",\r\n            \"email\": \"info@example.com\"\r\n        },\r\n        \"client\": {\r\n            \"name\": \"Cyberdyne Systems\",\r\n            \"company\": \"Cyberdyne Systems\",\r\n            \"address\": \"18144 El Camino Real, Sunnyvale, California\",\r\n            \"website\": \"www.example.com\",\r\n            \"email\": \"sales@example.com\"\r\n        },\r\n        \"items\": [\r\n            {\r\n                \"name\": \"T-800 Prototype Research\",\r\n                \"price\": \"$1000.00\"\r\n            },\r\n            {\r\n                \"name\": \"T-800 Cloud Sync Setup\",\r\n                \"price\": \"$300.00\"\r\n            },\r\n            {\r\n                \"name\": \"Skynet Domain Setup\",\r\n                \"price\": \"$50.00\"\r\n            },\r\n            {\r\n                \"name\": \"T-800 OS License\",\r\n                \"price\": \"$350.00\"\r\n            },\r\n            {\r\n                \"name\": \"T-800 Vision Testing\",\r\n                \"price\": \"$150.00\"\r\n            },\r\n        ],\r\n        \"discount\": \"$100.00\",\r\n        \"tax\": \"$126.88 (7.5%)\",\r\n        \"total\": \"$1876.88\",\r\n        \"paid\": true,\r\n        \"note\": \"Thank you for your business with us.\",\r\n        \"primaryColor\": \"#E4135A\",\r\n        \"secondaryColor\": \"#00538B\",\r\n        \"textColor\": \"#3F4254\"\r\n    }"
}
I. Example Response: JSON POST (sample invoice template 1) /pdf/convert/from/html
{
    "url": "https://pdf-temp-files.s3.amazonaws.com/81329c3acdbe430092c76f1cec8e0fa8/newInvoice.pdf",
    "pageCount": 1,
    "error": false,
    "status": 200,
    "name": "newInvoice.pdf",
    "remainingCredits": 60074
}

Status Code: 200


3. /pdf/convert/from/url (invoice template 2)

Generate PDF from HTML templates (Mustache and Handlebars template styles are supported). Input Parameters

  • url required. Url to HTML template. Mustache and Handlebars templates are supported. You can pass link to file from Google Drive, Dropbox or another online file service that can generate shareable links. You can also use built-in PDF.co cloud storage located at https://app.pdf.co/files or upload your file as temporary file right before making this API call (see Upload and Manage Files section for more details on uploading files via API).
  • margins optional. set to css style margins like 10px, 5mm, 5in for all sides or 5px 5px 5px 5px (the order of margins is top, right, bottom, left).
  • paperSize optional. Can be Letter, A4, A5, A6 or custom size in pixels, mm or inches with width and height separated by space like this: 200 300, 200px 300px, 200mm 300mm, 20cm 30cm or 6in 8in.
  • orientation optional. set to Portrait or Landscape. Portrait by default.
  • printBackground optional. true by default. Set to false to disbale printing of background.
  • header optional. Set to HTML for header to be applied on every page at the header.
  • footer optional. Set to HTML for footer to be applied on every page at the bottom.
  • async optional. Set to true to run as async job in background (recommended for heavy documents).
  • templateData optional. Set to string with JSON data for template if your HTML is a template (Handlebars & Mustache style).

Example of JSON for template data:

{
        "invoice": {
            "id": "0021",
            "date": "August 29, 2041",
            "dateDue": "September 29, 2041"
        },
        "issuer": {
            "name": "Sarah Connor",
            "company": "T-800 Research Lab",
            "address": "435 South La Fayette Park Place, Los Angeles, CA 90057",
            "website": "www.example.com",
            "email": "info@example.com"
        },
        "client": {
            "name": "Cyberdyne Systems",
            "company": "Cyberdyne Systems",
            "address": "18144 El Camino Real, Sunnyvale, California",
            "website": "www.example.com",
            "email": "sales@example.com"
        },
        "items": [
            {
                "name": "T-800 Prototype Research",
                "price": "$1000.00"
            },
            {
                "name": "T-800 Cloud Sync Setup",
                "price": "$300.00"
            },
            {
                "name": "Skynet Domain Setup",
                "price": "$50.00"
            },
            {
                "name": "T-800 OS License",
                "price": "$350.00"
            },
            {
                "name": "T-800 Vision Testing",
                "price": "$150.00"
            },
        ],
        "discount": "$100.00%",
        "tax": "$126.88 (7.5%)",
        "total": "$1876.88",
        "paid": true,
        "note": "Thank you for your business with us.",
        "primaryColor": "#E4135A",
        "secondaryColor": "#00538B",
        "textColor": "#3F4254"
    }

And you should set templateData to the escaped version (use JSON.stringify(object) or similar)

  • profiles optional. Must be a String. You can set additional and extra options using this parameter that allows you to set custom configuration. See profiles samples for examples.

Endpoint:

Method: POST
Type: RAW
URL: https://api.pdf.co/v1/pdf/convert/from/url

Headers:

KeyValueDescription
x-api-key{{x-api-key}}Required. API key for PDF.co. Get yours at https://pdf.co/
Content-Typeapplication/json 

Body:

{
    "url": "https://bytescout-com.s3-us-west-2.amazonaws.com/files/cloudapi-templates/template-invoice-2.html",
    "name": "newInvoice.pdf",
    "margins": "5px 5px 5px 5px",
    "paperSize": "Letter",
    "orientation": "Portrait",
    "printBackground": true,
    "header": "",
    "footer": "",
    "async": false,
    "encrypt": false,
    "templateData": "{\r\n        \"invoice\": {\r\n            \"id\": \"0021\",\r\n            \"date\": \"August 29, 2041\",\r\n            \"dateDue\": \"September 29, 2041\"\r\n        },\r\n        \"issuer\": {\r\n            \"name\": \"Sarah Connor\",\r\n            \"company\": \"T-800 Research Lab\",\r\n            \"address\": \"435 South La Fayette Park Place, Los Angeles, CA 90057\",\r\n            \"website\": \"www.example.com\",\r\n            \"email\": \"info@example.com\"\r\n        },\r\n        \"client\": {\r\n            \"name\": \"Cyberdyne Systems\",\r\n            \"company\": \"Cyberdyne Systems\",\r\n            \"address\": \"18144 El Camino Real, Sunnyvale, California\",\r\n            \"website\": \"www.example.com\",\r\n            \"email\": \"sales@example.com\"\r\n        },\r\n        \"items\": [\r\n            {\r\n                \"name\": \"T-800 Prototype Research\",\r\n                \"price\": \"$1000.00\"\r\n            },\r\n            {\r\n                \"name\": \"T-800 Cloud Sync Setup\",\r\n                \"price\": \"$300.00\"\r\n            },\r\n            {\r\n                \"name\": \"Skynet Domain Setup\",\r\n                \"price\": \"$50.00\"\r\n            },\r\n            {\r\n                \"name\": \"T-800 OS License\",\r\n                \"price\": \"$350.00\"\r\n            },\r\n            {\r\n                \"name\": \"T-800 Vision Testing\",\r\n                \"price\": \"$150.00\"\r\n            },\r\n        ],\r\n        \"discount\": \"$100.00%\",\r\n        \"tax\": \"$126.88 (7.5%)\",\r\n        \"total\": \"$1876.88\",\r\n        \"paid\": true,\r\n        \"note\": \"Thank you for your business with us.\",\r\n        \"primaryColor\": \"#E4135A\",\r\n        \"secondaryColor\": \"#00538B\",\r\n        \"textColor\": \"#3F4254\"\r\n    }"
}

More example Requests/Responses:

I. Example Request: JSON POST (sample invoice template 2) /pdf/convert/from/url

Headers:

KeyValueDescription
x-api-key{{x-api-key}}Required. API key for PDF.co. Get yours at https://pdf.co/
Content-Typeapplication/json 

Body:

{
    "url": "https://bytescout-com.s3-us-west-2.amazonaws.com/files/cloudapi-templates/template-invoice-2.html",
    "name": "newInvoice.pdf",
    "margins": "5px 5px 5px 5px",
    "paperSize": "Letter",
    "orientation": "Portrait",
    "printBackground": true,
    "header": "",
    "footer": "",
    "async": false,
    "encrypt": false,
    "templateData": "{\r\n        \"invoice\": {\r\n            \"id\": \"0021\",\r\n            \"date\": \"August 29, 2041\",\r\n            \"dateDue\": \"September 29, 2041\"\r\n        },\r\n        \"issuer\": {\r\n            \"name\": \"Sarah Connor\",\r\n            \"company\": \"T-800 Research Lab\",\r\n            \"address\": \"435 South La Fayette Park Place, Los Angeles, CA 90057\",\r\n            \"website\": \"www.example.com\",\r\n            \"email\": \"info@example.com\"\r\n        },\r\n        \"client\": {\r\n            \"name\": \"Cyberdyne Systems\",\r\n            \"company\": \"Cyberdyne Systems\",\r\n            \"address\": \"18144 El Camino Real, Sunnyvale, California\",\r\n            \"website\": \"www.example.com\",\r\n            \"email\": \"sales@example.com\"\r\n        },\r\n        \"items\": [\r\n            {\r\n                \"name\": \"T-800 Prototype Research\",\r\n                \"price\": \"$1000.00\"\r\n            },\r\n            {\r\n                \"name\": \"T-800 Cloud Sync Setup\",\r\n                \"price\": \"$300.00\"\r\n            },\r\n            {\r\n                \"name\": \"Skynet Domain Setup\",\r\n                \"price\": \"$50.00\"\r\n            },\r\n            {\r\n                \"name\": \"T-800 OS License\",\r\n                \"price\": \"$350.00\"\r\n            },\r\n            {\r\n                \"name\": \"T-800 Vision Testing\",\r\n                \"price\": \"$150.00\"\r\n            },\r\n        ],\r\n        \"discount\": \"$100.00%\",\r\n        \"tax\": \"$126.88 (7.5%)\",\r\n        \"total\": \"$1876.88\",\r\n        \"paid\": true,\r\n        \"note\": \"Thank you for your business with us.\",\r\n        \"primaryColor\": \"#E4135A\",\r\n        \"secondaryColor\": \"#00538B\",\r\n        \"textColor\": \"#3F4254\"\r\n    }"
}
I. Example Response: JSON POST (sample invoice template 2) /pdf/convert/from/url
{
    "url": "https://pdf-temp-files.s3.amazonaws.com/3296ac4a8121401cad7b8a38a8864b53/newInvoice.pdf",
    "pageCount": 1,
    "error": false,
    "status": 200,
    "name": "newInvoice.pdf",
    "remainingCredits": 60071
}

Status Code: 200


4. /pdf/convert/from/url (invoice template 3)

Generate PDF from HTML templates (Mustache and Handlebars template styles are supported). Input Parameters

  • url required. Url to HTML template. Mustache and Handlebars templates are supported. You can pass link to file from Google Drive, Dropbox or another online file service that can generate shareable links. You can also use built-in PDF.co cloud storage located at https://app.pdf.co/files or upload your file as temporary file right before making this API call (see Upload and Manage Files section for more details on uploading files via API).
  • margins optional. set to css style margins like 10px, 5mm, 5in for all sides or 5px 5px 5px 5px (the order of margins is top, right, bottom, left).
  • paperSize optional. Can be Letter, A4, A5, A6 or custom size in pixels, mm or inches with width and height separated by space like this: 200 300, 200px 300px, 200mm 300mm, 20cm 30cm or 6in 8in.
  • orientation optional. set to Portrait or Landscape. Portrait by default.
  • printBackground optional. true by default. Set to false to disbale printing of background.
  • header optional. Set to HTML for header to be applied on every page at the header.
  • footer optional. Set to HTML for footer to be applied on every page at the bottom.
  • async optional. Set to true to run as async job in background (recommended for heavy documents).
  • templateData optional. Set to string with JSON data for template if your HTML is a template (Handlebars & Mustache style).

Example of JSON for template data:

{
        "invoice": {
            "id": "0021",
            "date": "August 29, 2041",
            "dateDue": "September 29, 2041"
        },
        "issuer": {
            "name": "Sarah Connor",
            "company": "T-800 Research Lab",
            "address": "435 South La Fayette Park Place, Los Angeles, CA 90057",
            "website": "www.example.com",
            "email": "info@example.com"
        },
        "client": {
            "name": "Cyberdyne Systems",
            "company": "Cyberdyne Systems",
            "address": "18144 El Camino Real, Sunnyvale, California",
            "website": "www.example.com",
            "email": "sales@example.com"
        },
        "items": [
            {
                "name": "T-800 Prototype Research",
                "price": "$1000.00"
            },
            {
                "name": "T-800 Cloud Sync Setup",
                "price": "$300.00"
            },
            {
                "name": "Skynet Domain Setup",
                "price": "$50.00"
            },
            {
                "name": "T-800 OS License",
                "price": "$350.00"
            },
            {
                "name": "T-800 Vision Testing",
                "price": "$150.00"
            },
        ],
        "discount": "$100.00%",
        "tax": "$126.88 (7.5%)",
        "total": "$1876.88",
        "paid": true,
        "note": "Thank you for your business with us.",
        "primaryColor": "#E4135A",
        "secondaryColor": "#00538B",
        "textColor": "#3F4254"
    }

And you should set templateData to the escaped version (use JSON.stringify(object) or similar)

  • profiles optional. Must be a String. You can set additional and extra options using this parameter that allows you to set custom configuration. See profiles samples for examples.

Endpoint:

Method: POST
Type: RAW
URL: https://api.pdf.co/v1/pdf/convert/from/url

Headers:

KeyValueDescription
x-api-key{{x-api-key}}Required. API key for PDF.co. Get yours at https://pdf.co/
Content-Typeapplication/json 

Body:

{
    "url": "https://bytescout-com.s3-us-west-2.amazonaws.com/files/cloudapi-templates/template-invoice-3.html",
    "name": "newInvoice.pdf",
    "margins": "5px 5px 5px 5px",
    "paperSize": "Letter",
    "orientation": "Portrait",
    "printBackground": true,
    "header": "",
    "footer": "",
    "async": false,
    "encrypt": false,
    "templateData": "{\r\n        \"invoice\": {\r\n            \"id\": \"0021\",\r\n            \"date\": \"August 29, 2041\",\r\n            \"dateDue\": \"September 29, 2041\"\r\n        },\r\n        \"issuer\": {\r\n            \"name\": \"Sarah Connor\",\r\n            \"company\": \"T-800 Research Lab\",\r\n            \"address\": \"435 South La Fayette Park Place, Los Angeles, CA 90057\",\r\n            \"website\": \"www.example.com\",\r\n            \"email\": \"info@example.com\"\r\n        },\r\n        \"client\": {\r\n            \"name\": \"Cyberdyne Systems\",\r\n            \"company\": \"Cyberdyne Systems\",\r\n            \"address\": \"18144 El Camino Real, Sunnyvale, California\",\r\n            \"website\": \"www.example.com\",\r\n            \"email\": \"sales@example.com\"\r\n        },\r\n        \"items\": [\r\n            {\r\n                \"name\": \"T-800 Prototype Research\",\r\n                \"price\": \"$1000.00\"\r\n            },\r\n            {\r\n                \"name\": \"T-800 Cloud Sync Setup\",\r\n                \"price\": \"$300.00\"\r\n            },\r\n            {\r\n                \"name\": \"Skynet Domain Setup\",\r\n                \"price\": \"$50.00\"\r\n            },\r\n            {\r\n                \"name\": \"T-800 OS License\",\r\n                \"price\": \"$350.00\"\r\n            },\r\n            {\r\n                \"name\": \"T-800 Vision Testing\",\r\n                \"price\": \"$150.00\"\r\n            },\r\n        ],\r\n        \"discount\": \"$100.00%\",\r\n        \"tax\": \"$126.88 (7.5%)\",\r\n        \"total\": \"$1876.88\",\r\n        \"paid\": true,\r\n        \"note\": \"Thank you for your business with us.\",\r\n        \"primaryColor\": \"#E4135A\",\r\n        \"secondaryColor\": \"#00538B\",\r\n        \"textColor\": \"#3F4254\"\r\n    }"
}

28. PDF from Images (JPG to PDF and PNG to PD