|
pdfRest PDF Toolkit Self-Hosted API Reference Guide
REST APIs supporting PDF document processing capabilities through GET and POST HTTP requests
Welcome to the PDF Toolkit Self-Hosted API Reference Guide! Below you will find all of the information you will need to use any of the pdfRest API Tools. This guide is organized by API endpoints, which express the output file types that can be generated from input files supplied with requests. For example, to convert a JPG file to a PDF, you would send the JPG file to the /pdf endpoint.
Note that the examples throughout are presented using cURL, but the APIs support any standard method for sending GET and POST HTTP requests.
Additional Resources
- Setup Instructions for AWS Self-Hosted Backend - learn how to launch and configure an EC2 and create a scalable stack
- API Lab - an intuitive interface to learn the tools and parameters, build code automatically, send API calls directly from the website, and download output files
- GitHub Repository - functional code examples available for several popular languages
- Postman Collection - preconfigured API calls ready to send using the Postman API Platform
Summary Retrieve a resource or its URL by ID. Resource IDs can be found in the JSON response of POST requests. Examples curl -X GET "YOUR_DOMAIN_HERE/resource/0950b9bdf-0465-4d3f-8ea3-d2894f1ae839?format=file" --output "@PATH_TO_FILE/output_file.pdf" curl -X GET "YOUR_DOMAIN_HERE/resource/112f7ea0d-0e56-44bc-a3d2-42fdff96d993?format=url"
Path Parameters
Name | Description | Default | Required |
id | Alphanumeric ID (UUID) of the resource to return
Accepts: Any valid resource ID returned by a POST request
Example: 0950b9bdf-0465-4d3f-8ea3-d2894f1ae839 | None | Yes |
format | Specify whether to return the file directly, URL to the file, or information about the file
Accepts:
- file - return the file itself
- url - return JSON containing the URL of the resource file
- info - return JSON containing detailed information about the file:
- resource ID
- file name
- url
- file type
- file size (bytes)
- last modified datetime
| None | Yes |
Responses
Response Status Code | Description | JSON Response Example |
200 | OK | {
"url": "YOUR_DOMAIN_HERE/resource/0950b9bdf-0465-4d3f-8ea3-d2894f1ae839?format=file" } |
200 | OK (format = info) | { "id":"2e523af74-7de9-492a-b7c6-c96eacd18a3a", "name":"smallword.doc", "url":"YOUR_DOMAIN_HERE/resource/2e523af74-7de9-492a-b7c6-c96eacd18a3a?format=file", "type":"application/msword", "size":22528, "modified":"2023-05-19T16:22:56.780Z" } |
400 | Bad Request | {
"error": "Invalid Request" } |
404 | Not Found | {
"error": "That file does not exist" } |
Summary Return detailed information about a PDF document and its contents to assess the current state of the file and drive conditional processing. NOTE: Some PDF conditions can prevent all queries from completing. For example, if the document is password-protected, corrupted, or not actually a PDF, all queries will not be able to be completed. The output response will always include an "allQueriesProcessed" field with a true or false value. When this is false, an additional "warning" field will also be included in the output response with a human-readable string explaining why all queries could not be processed. Examples curl -X POST "YOUR_DOMAIN_HERE/pdf-info" -H "Accept: application/json" -H "Content-Type: multipart/form-data" -F "file=@PATH_TO_FILE/example_file.pdf" -F "queries=title,filename" curl -X POST "YOUR_DOMAIN_HERE/pdf-info" -H "Accept: application/json" -H "Content-Type: multipart/form-data" -F "id=0950b9bdf-0465-4d3f-8ea3-d2894f1ae839" -F "queries=tagged,image_only,creation_date,modified_date,doc_language" Required Headers Accept: application/json Content-Type: multipart/form-data
Body Parameters
Name | Description | Default | Required |
file | File to be uploaded and processed
Accepts: Any PDF file
Example: @PATH_TO_FILE/example_file.pdf | None | One of: |
id | Alphanumeric ID (UUID) of existing file on server to be processed
Accepts: Any valid resource ID returned by a POST request
Example: 0950b9bdf-0465-4d3f-8ea3-d2894f1ae839 | None | One of: |
queries | Comma separated list of information to request about the input PDF file and its contents.
Accepts:
- tagged - Checks for presence of structure tags in the input document. Returns true or false
- image_only - Checks if the document is 'image only' meaning that it will only feature a series of embedded graphical image files, one per page and does not have any text or other features common to PDF documents, except for some metadata. Returns true or false
- title - The title of the PDF as listed in the metadata. Returns a string which may be empty if the document does not have a title
- subject - The subject of the PDF as listed in the metadata. Returns a string which may be empty if the document does not have a subject
- author - The author of the PDF as listed in the metadata. Returns a string which may be empty if the document does not have an author
- producer - The producer of the PDF as listed in the metadata. Returns a string which may be empty if the document does not have a producer
- creator - The creator of the PDF as listed in the metadata. Returns a string which may be empty if the document does not have a creator
- creation_date - The creation date of the PDF as listed in the metadata. Returns a string which may be empty if the document does not have a creation date
- modified_date - The most recent modification date of the PDF as listed in the metadata. Returns a string which may be empty if the document does not have a modification date
- keywords - The keywords of the PDF as listed in the metadata. Returns a string which may be empty if the document does not have keywords
- doc_language - The language that the file claims to be written in. Returns a string
- page_count - The number of pages in the PDF document. Returns an integer
- contains_annotations - Checks whether the document contains annotations, such as notes, highlighted text, file attachments, crossed out text, and text callout boxes. Returns true or false
- contains_signature - Checks if the document contains any digital signatures. Returns true or false
- pdf_version - Retrieves the version of the PDF standard that the document was created with. Returns a string of the form X.Y.Z where X, Y, and Z are the major, minor, and extension versions respectively
- file_size - Retrieves the size of the input file in bytes. Returns an integer
- filename - The name of the input file. Returns a string
- restrict_permissions_set - Checks whether the document has restrict permissions set to prevent printing, copying, signing etc. Returns true or false
- contains_xfa - Checks whether the document contains XFA forms. Returns true or false
- contains_acroforms - Checks whether the document contains Acroforms. Returns true or false
- contains_javascript - Checks whether the document contains javascript. Returns true or false
- contains_transparency - Checks whether the document contains transparent objects. Returns true or false
- contains_embedded_file - Checks whether the document contains one or more embedded files. Returns true or false
- uses_embedded_fonts - Checks whether the document contains fully embedded fonts. Returns true or false
- uses_nonembedded_fonts - Checks whether the document contains non-embedded fonts. Returns true or false
- pdfa - Checks whether the document claims and conforms to a PDF/A standard. Returns true or false
- pdfua_claim - Checks whether the document claims to conform to a PDF/UA standard. Returns true or false
- pdfe_claim - Checks whether the document claims to conform to a PDF/E standard. Returns true or false
- pdfx_claim - Checks whether the document claims to conform to a PDF/X standard. Returns true or false
- requires_password_to_open - Checks whether the document requires a password to open. Returns true or false. *Note* A document requiring a password cannot be opened by this route and will not be able to return much other information
Example: tagged,image_only,creation_date,modified_date,doc_language
| None | Yes |
Responses
Response Status Code | Description | JSON Response Example |
200 | OK | {
"title": "2015 Form W-4", "page_count":2, "doc_language":"English", "tagged":true, "image_only":false, "author":"US IRS", "creation_date":"2014-11-20T10:22:59", "modified_date":"2014-11-20T10:24:16", "producer":"Adobe LiveCycle Designer ES 9.0"
"allQueriesProcessed": "true" } |
400 | Bad Request | {
"error": "This route will only accept a File or an ID, not both." } |
401 | Unauthorized | {
"error": "An Api-Key header is required to send this request." } |
Summary Extract all text from a PDF, optionally including style and/or position information. Examples curl -X POST "YOUR_DOMAIN_HERE/extracted-text" -H "Accept: application/json" -H "Content-Type: multipart/form-data" -F "file=@PATH_TO_FILE/example_file.pdf" curl -X POST "YOUR_DOMAIN_HERE/extracted-text" -H "Accept: application/json" -H "Content-Type: multipart/form-data" -F "id=0950b9bdf-0465-4d3f-8ea3-d2894f1ae839" -F "full_text=document" -F "word_style=on" -F "word_coordinates=on" Required Headers Accept: application/json Content-Type: multipart/form-data
Body Parameters
Name | Description | Default | Required |
file | File to be uploaded and processed
Accepts: Any PDF file
Example: @PATH_TO_FILE/example_file.pdf | None | One of: |
id | Alphanumeric ID (UUID) of existing file on server to be processed
Accepts: Any valid resource ID returned by a POST request
Example: 0950b9bdf-0465-4d3f-8ea3-d2894f1ae839 | None | One of: |
full_text | Returns all text from the document without metadata, optionally split by page
Accepts:
| document | No |
word_style | Adds a JSON-formatted list of each word in the document with style information for each word, including font, size, color, and color-space. NOTE: Turning on word_style and word_coordinates will add both types of metadata to the same word list
Accepts:
| off | No |
word_coordinates | Adds a JSON-formatted list of each word in the document, including page and coordinates of all 4 corners of each word's bounding box. NOTE: Turning on word_style and word_coordinates will add both types of metadata to the same word list
Accepts:
| off | No |
output_type | Specify whether to save output as a file with .json extension or return output directly in the JSON response
Accepts:
| json | No |
output | Name of the generated output file (when output_type is set to file), without extension
Accepts: Any valid file name
Example: example_out | [INPUT_FILE_NAME]_pdfrest_extracted-text | No |
Responses
Response Status Code | Description | JSON Response Example |
200 | OK (output_type = json) | { "words": [ { "text": "Example", "page": 1, "coordinates": { "topLeft": { "x": 72, "y": 720.7918090820312 }, "topRight": { "x": 90.12725830078125, "y": 720.7918090820312 }, "bottomLeft": { "x": 72, "y": 704.72412109375 }, "bottomRight": { "x": 90.12725830078125, "y": 704.72412109375 } }, "style": { "color": { "space": "DeviceRGB", "values": [ 0, 0, 0 ] }, "font": { "name": "Calibri", "size": 12 } } }, { "text": "Text", "page": 1, "coordinates": { "topLeft": { "x": 92.83438110351562, "y": 720.7918090820312 }, "topRight": { "x": 117.22337341308594, "y": 720.7918090820312 }, "bottomLeft": { "x": 92.83438110351562, "y": 704.72412109375 }, "bottomRight": { "x": 117.22337341308594, "y": 704.72412109375 } }, "style": { "color": { "space": "DeviceRGB", "values": [ 0, 0, 0 ] }, "font": { "name": "Calibri", "size": 12 } } }, ], "fullText": "Example Text", "inputId": "12a381657-5b30-49ae-b76e-d5f1bdd58930" } |
200 | OK (output_type = file) | {
"outputUrl": "YOUR_DOMAIN_HERE/resource/01240b25a-8936-4437-8652-8410130f1199?format=file"
"outputId": "01240b25a-8936-4437-8652-8410130f1199"
"inputId": "112f7ea0d-0e56-44bc-a3d2-42fdff96d993" } |
400 | Bad Request | {
"error": "Uploaded file is not valid input for this route. See documentation for valid file format(s)." } |
Summary Uses Optical Character Recognition (OCR) technology to identify text within images embedded in PDFs. The detected text is then strategically placed behind the image within the PDF document. This process results in a PDF with searchable and extractable text. Also works well as a pre-processing step before passing the PDF to the /extracted-text endpoint to extract PDF image text along with other document text. Examples curl -X POST "YOUR_DOMAIN_HERE/pdf-with-ocr-text" -H "Accept: application/json" -H "Content-Type: multipart/form-data" -F "file=@PATH_TO_FILE/example_file.pdf" -F "output=example_out" curl -X POST "YOUR_DOMAIN_HERE/pdf-with-ocr-text" -H "Accept: application/json" -H "Content-Type: multipart/form-data" -F "id=0950b9bdf-0465-4d3f-8ea3-d2894f1ae839" -F "output=pdf_out" Required Headers Accept: application/json Content-Type: multipart/form-data
Body Parameters
Name | Description | Default | Required |
file | File to be uploaded and processed
Accepts: Any PDF file
Example: @PATH_TO_FILE/example_file.pdf | None | One of: |
id | Alphanumeric ID (UUID) of existing file on server to be processed
Accepts: Any valid resource ID returned by a POST request
Example: 0950b9bdf-0465-4d3f-8ea3-d2894f1ae839 | None | One of: |
languages | Comma-separated list specifying the languages the OCR engine should recognize within the document
NOTE: Including many languages may effect performance, particularly CJK languages (Chinese, Japanese, Korean).
Accepts:
- ChineseSimplified
- ChineseTraditional
- Dutch
- English
- French
- German
- Italian
- Japanese
- Korean
- Portuguese
- Spanish
Example: English,German,French | English | No |
output | Name of the generated output file, without extension
Accepts: Any valid file name
Example: example_out | [INPUT_FILE_NAME]_pdfrest_pdf-with-ocr-text | No |
Responses
Response Status Code | Description | JSON Response Example |
200 | OK | {
"outputUrl": "YOUR_DOMAIN_HERE/resource/01240b25a-8936-4437-8652-8410130f1199?format=file"
"outputId": "01240b25a-8936-4437-8652-8410130f1199"
"inputId": "112f7ea0d-0e56-44bc-a3d2-42fdff96d993" } |
400 | Bad Request | {
"error": "This route will only accept a File or an ID, not both." } |
401 | Unauthorized | {
"error": "The input file is password protected and cannot be processed." } |
Summary Convert many types of files to PDF Accepts all of the following input file types: - Microsoft Word (.doc, .docx)
- Microsoft Excel (.xls, .xlsx)
- Microsoft PowerPoint (.ppt, .pptx)
- PostScript and Encapsulated PostScript (.ps, .eps)
- JPEG (.jpg, .jpeg)
- TIF (.tif, .tiff)
- BMP (.bmp)
- PNG (.png)
- HTML (.html)
- HTML (from URL)
Examples curl -X POST "YOUR_DOMAIN_HERE/pdf" -H "Accept: application/json" -H "Content-Type: multipart/form-data" -F "file=@PATH_TO_FILE/example_file.jpg" -F "output=example_out" curl -X POST "YOUR_DOMAIN_HERE/pdf" -H "Accept: application/json" -H "Content-Type: multipart/form-data" -F "file=@PATH_TO_FILE/index.html" -F "output=pdf_out" -F "compression=lossless" -F "downsample=600" -F "page_size=A5" -F "page_margin=15mm" -F "page_orientation=landscape" -F "web_layout=mobile" curl -X POST "YOUR_DOMAIN_HERE/pdf" -H "Accept: application/json" -H "Content-Type: multipart/form-data" -F "id=0950b9bdf-0465-4d3f-8ea3-d2894f1ae839" -F "output=pdf_out" -F "tagged_pdf=on" Required Headers Accept: application/json Content-Type: multipart/form-data
Body Parameters
Name | Description | Default | Required |
file | File to be uploaded and processed
Accepts: Any file of supported type
Example: @PATH_TO_FILE/example_file.html | None | One of: |
id | Alphanumeric ID (UUID) of existing file on server to be processed
Accepts: Any valid resource ID returned by a POST request
Example: 0950b9bdf-0465-4d3f-8ea3-d2894f1ae839 | None | One of: |
url | URL of web page to process
Accepts: Any valid URL
Example: https://en.wikipedia.org/wiki/Datalogics | None | One of: |
output | Name of the generated output file, without extension
Accepts: Any valid file name
Example: example_out | [INPUT_FILE_NAME]_pdfrest_pdf | No |
compression | Image compression for PostScript, Microsoft Office, HTML conversion
Accepts:
| lossy | No |
downsample | Downsample images during PostScript, Microsoft Office, HTML conversion or preserve original resolutions with the 'off' option
Accepts:
| 300 | No |
tagged_pdf | Microsoft Office file conversion only: Create a tagged PDF document, required for accessibility compliance
Accepts:
| off | No |
locale | Microsoft Excel file conversion only: Set the UTF-8 Locale used for correctly displaying regional numerical and monetary values, time and date formats, and other locale-specific standards.
Accepts:
- US - applies en_US
- Germany - applies de_DE
Example: Germany | US | No |
page_size | HTML conversion only: Select a page size for the PDF file. Options correspond to standard paper sizes
Accepts:
| letter | No |
page_margin | HTML conversion only: Set margins for a PDF file in inches or millimeters
Accepts: A number followed by either 'in' or 'mm'
Example:
| 1in | No |
page_orientation | HTML conversion only: Set the page orientation
Accepts:
| portrait | No |
web_layout | HTML conversion only: For web pages with responsive design, select the intended web layout
Accepts:
| desktop | No |
Responses
Response Status Code | Description | JSON Response Example |
200 | A successful response | {
"outputUrl": "YOUR_DOMAIN_HERE/resource/01240b25a-8936-4437-8652-8410130f1199?format=file"
"outputId": "01240b25a-8936-4437-8652-8410130f1199"
"inputId": "112f7ea0d-0e56-44bc-a3d2-42fdff96d993" } |
400 | Bad Request | {
"error": "0 is not within the acceptable range for downsample." } |
Summary Converts PDF to any of the following PDF/A versions: - PDF/A-1b - Basic conformance with visual appearance.
- PDF/A-2b - Basic conformance with archival standards but revised for later versions of the PDF format. PDF/A-2 includes options for OpenType fonts, layers, attachments (which must also be PDF/A compliant) and JPEG 2000 image compression.
- PDF/A-2u - Matches PDF/A-2b but also requires that all text in the document have Unicode mappings.
- PDF/A-3b - Matches PDF/A-2b, except that it is possible to embed any kind of file in the PDF document. For example, with PDF/A-3 a user can save a XML, CSV, CAD, spreadsheet, or other type of file in the PDF document and be compliant. The file embedded in the PDF/A-3 does not need to PDF/A compliant.
- PDF/A-3u - Matches PDF/A-3b, but also requires that all text in the document have Unicode mapping.
Examples curl -X POST "YOUR_DOMAIN_HERE/pdfa" -H "Accept: application/json" -H "Content-Type: multipart/form-data" -F "file=@PATH_TO_FILE/example_file.pdf" -F "output=example_out" -F "output_type=PDF/A-2u" curl -X POST "YOUR_DOMAIN_HERE/pdfa" -H "Accept: application/json" -H "Content-Type: multipart/form-data" -F "file=@PATH_TO_FILE/example_file.pdf" -F "output=file_out" -F "output_type=PDF/A-2u" -F "rasterize_if_errors_encountered=on" Required Headers Accept: application/json Content-Type: multipart/form-data
Body Parameters
Name | Description | Default | Required |
file | File to be uploaded and processed
Accepts: Any PDF file
Example: @PATH_TO_FILE/example_file.pdf | None | One of: |
id | Alphanumeric ID (UUID) of existing file on server to be processed
Accepts: Any valid resource ID returned by a POST request
Example: 0950b9bdf-0465-4d3f-8ea3-d2894f1ae839 | None | One of: |
output_type | Desired PDF/A version for the output PDF
Accepts:
- PDF/A-1b
- PDF/A-2b
- PDF/A-2u
- PDF/A-3b
- PDF/A-3u
| None | Yes |
output | Name of the generated output file, without extension
Accepts: Any valid file name
Example: example_out | [INPUT_FILE_NAME]_pdfrest_pdfa | No |
rasterize_if_errors_encountered | When set to ON, if the API finds errors when converting a PDF document, it will rasterize the page with the problem into a graphic image and continue to save the document as a PDF/A document. If set to OFF it will instead return an error in such cases.
Accepts:
| off | No |
Responses
Response Status Code | Description | JSON Response Example |
200 | OK | {
"outputUrl": "YOUR_DOMAIN_HERE/resource/01240b25a-8936-4437-8652-8410130f1199?format=file"
"outputId": "01240b25a-8936-4437-8652-8410130f1199"
"inputId": "112f7ea0d-0e56-44bc-a3d2-42fdff96d993" } |
400 | Bad Request | {
"error": "PDF/A-2x is not within the acceptable range for output_type." } |
401 | Unauthorized | {
"error": "The input file is password protected and cannot be processed." } |
Summary Converts PDF to any of the following PDF/X versions: - PDF/X-1a
- PDF/X-3
- PDF/X-4
- PDF/X-6
Examples curl -X POST "YOUR_DOMAIN_HERE/pdfx" -H "Accept: application/json" -H "Content-Type: multipart/form-data" -F "file=@PATH_TO_FILE/example_file.pdf" -F "output=example_out" -F "output_type=PDF/X-4" curl -X POST "YOUR_DOMAIN_HERE/pdfx" -H "Accept: application/json" -H "Content-Type: multipart/form-data" -F "file=@PATH_TO_FILE/example_file.pdf" -F "output=file_out" -F "output_type=PDF/X-1a" Required Headers Accept: application/json Content-Type: multipart/form-data
Body Parameters
Name | Description | Default | Required |
file | File to be uploaded and processed
Accepts: Any PDF file
Example: @PATH_TO_FILE/example_file.pdf | None | One of: |
id | Alphanumeric ID (UUID) of existing file on server to be processed
Accepts: Any valid resource ID returned by a POST request
Example: 0950b9bdf-0465-4d3f-8ea3-d2894f1ae839 | None | One of: |
output_type | Desired PDF/X version for the output PDF
Accepts:
- PDF/X-1a
- PDF/X-3
- PDF/X-4
- PDF/X-6
| None | Yes |
output | Name of the generated output file, without extension
Accepts: Any valid file name
Example: example_out | [INPUT_FILE_NAME]_pdfrest_pdfx | No |
Responses
Response Status Code | Description | JSON Response Example |
200 | OK | {
"outputUrl": "YOUR_DOMAIN_HERE/resource/01240b25a-8936-4437-8652-8410130f1199?format=file"
"outputId": "01240b25a-8936-4437-8652-8410130f1199"
"inputId": "112f7ea0d-0e56-44bc-a3d2-42fdff96d993" } |
400 | Bad Request | {
"error": "PDF/X-5 is not within the acceptable range for output_type." } |
401 | Unauthorized | {
"error": "The input file is password protected and cannot be processed." } |
Summary Compresses a PDF to maximally reduce file size while maintaining usable content. Three preset compression levels are offered: low, medium, and high. These produce progressively smaller files with a tradeoff between fidelity and size reduction. Compression options may also be customized via a configurable JSON profile. Examples # Example of using a preset compression_level curl -X POST "YOUR_DOMAIN_HERE/compressed-pdf" -H "accept: application/json" -H "Content-Type: multipart/form-data" -F "file=@PATH_TO_FILE/example_file.pdf" -F "output=example_output" -F "compression_level=high" # Example of a using a custom json profile with compression_level curl -X POST "YOUR_DOMAIN_HERE/compressed-pdf" -H "accept: application/json" -H "Content-Type: multipart/form-data" -F "file=@PATH_TO_FILE/example_file.pdf" -F "output=example_output" -F "compression_level=custom" -F "profile=@PATH_TO_FILE/example_profile.json" Required Headers Accept: application/json Content-Type: multipart/form-data
Body Parameters
Name | Description | Default | Required |
file | File to be uploaded and processed
Accepts: Any PDF file
Example: @PATH_TO_FILE/example_file.pdf | None | One of: |
id | Alphanumeric ID (UUID) of existing file on server to be processed
Accepts: Any valid resource ID returned by a POST request
Example: 0950b9bdf-0465-4d3f-8ea3-d2894f1ae839 | None | One of: |
compression_level | Degree of compression with a tradeoff between preserving fidelity (low) and maximizing file size reduction (high) NOTE: When custom is selected, profile parameter is required
Accepts:
| None | Yes |
profile | JSON profile to be uploaded with specifications for configurable compression settings
Create a JSON profile with custom settings
Accepts: Any valid JSON profile
Example: @PATH_TO_FILE/example_profile.json | None | When compression_level is set to custom, one of: |
profile_id | Submit a resource ID for JSON profile to be uploaded with specifications for configurable compression settings
Create a JSON profile with custom settings
Accepts: Any valid resource ID returned by a POST request
Example: 138aadb71-ee34-4621-9098-9686441e84e2 | None | When compression_level is set to custom, one of: |
output | Name of the generated output file, without extension
Accepts: Any valid file name
Example: example_out | [INPUT_FILE_NAME]_pdfrest_compressed-pdf | No |
Responses
Response Status Code | Description | JSON Response Example |
200 | OK | {
"outputUrl": "YOUR_DOMAIN_HERE/resource/01240b25a-8936-4437-8652-8410130f1199?format=file"
"outputId": "01240b25a-8936-4437-8652-8410130f1199"
"inputId": "138aadb71-ee34-4621-9098-9686441e84e2" } |
400 | Bad Request | {
"error": "This route will only accept a File or an ID, not both." } |
401 | Unauthorized | {
"error": "The input file is password protected and cannot be processed." } |
422 | Unprocessable Entity | {
"error": "The 'profile' file provided is not a JSON file, please see documentation for sample profile." } |
Summary Apply either a text-based or an image-based watermark to all pages of a PDF with customizable font, text size, color, opacity, scale, positioning, and rotation. Examples # Example of adding a text watermark curl -X POST "YOUR_DOMAIN_HERE/watermarked-pdf" -H "accept: application/json" -H "Content-Type: multipart/form-data" -F "file=@PATH_TO_FILE/example_file.pdf" -F "watermark_text=This is a Watermark" -F "output=watermarked_output" -F "font=arialbold" -F "text_size=82" -F "text_color_rgb=20,26,215" -F "opacity=0.75" -F "x=72" -F "y=-72" -F "rotation=45" # Example of adding an image watermark from file curl -X POST "YOUR_DOMAIN_HERE/watermarked-pdf" -H "accept: application/json" -H "Content-Type: multipart/form-data" -F "file=@PATH_TO_FILE/example_file.pdf" -F "watermark_file=@PATH_TO_FILE/output_watermarked.pdf" -F "output=watermarked_output" -F "watermark_file_scale=2.5" -F "opacity=0.5" -F "x=0" -F "y=144" -F "rotation=30" Required Headers Accept: application/json Content-Type: multipart/form-data
Body Parameters
Name | Description | Default | Required |
file | PDF file to be uploaded and watermarked
Accepts: Any PDF file
Example: @PATH_TO_FILE/example_file.pdf | None | One of: |
id | Alphanumeric ID (UUID) of existing file on server to be processed
Accepts: Any valid resource ID returned by a POST request
Example: 0950b9bdf-0465-4d3f-8ea3-d2894f1ae839 | None | One of: |
watermark_text | The text to apply to the input document as a watermark
Accepts: Any text string
Example: Property of ABC Company | None | One of:- watermark_text
- watermark_file
- watermark_file_id
|
watermark_file | PDF file to apply to the input document as a watermark
Accepts: Any PDF file (NOTE: to apply another graphic image format as a watermark, first convert that format to PDF with the /pdf endpoint)
Example: @PATH_TO_FILE/watermark_image.pdf | None | One of:- watermark_text
- watermark_file
- watermark_file_id
|
watermark_file_id | Alphanumeric ID (UUID) of existing PDF file on server to be applied as a watermark
Accepts: Any valid resource ID returned by a POST request
Example: 1f50b5bdf-0425-7d3f-1ea3-v2894f1ae833 | None | One of:- watermark_text
- watermark_file
- watermark_file_id
|
output | Name of the generated output file, without extension
Accepts: Any valid file name
Example: example_out | [INPUT_FILE_NAME]_pdfrest_watermarked-pdf | No |
font | Font to use for a text watermark
Accepts: See Font List for a complete list
Example: CourierStd | Arial | No |
text_size | Size of text for a text watermark
Accepts: 5-100
Example: 20 | 72 | No |
text_color_rgb | Comma separated Red, Green, Blue values for a text watermark NOTE: cannot be used with text_color_cmyk
Accepts: Each value must be between 0 and 255
Example: 255,0,0 | 0,0,0 | No |
text_color_cmyk | Comma separated Cyan, Magenta, Yellow, Key (Black) values for a text watermark NOTE: cannot be used with text_color_rgb
Accepts: Each value must be between 0 and 100
Example: 100,0,0,0 | None | No |
watermark_file_scale | Scale applied to resize the content of a pdf watermark file
Accepts: Any non-negative number
Example: 2.25 | 0.5 | No |
opacity | Opacity value for both text and file watermarks
Accepts: Any decimal value from 0 to 1, where 0 is fully transparent and 1 is fully opaque
Example: 0.75 | 0.5 | No |
x | Horizontal offset in PDF units from the center of page for both text and file watermarks (72 units = 1 inch)
Accepts: Any integer value
Example: -72 | 0 (horizontal center of page) | No |
y | Vertical offset in PDF units from the center of page for both text and file watermarks (72 units = 1 inch)
Accepts: Any integer value
Example: 150 | 0 (vertical center of page) | No |
rotation | Rotation in degrees to be applied to both text and file watermarks
Accepts: Any integer value
Example: 45 | 0 | No |
Responses
Response Status Code | Description | JSON Response Example |
200 | OK
NOTE: inputId always returns the resource ID of the input PDF to be watermarked. When a file is used as a watermark, inputID returns an array with the resource ID of the input PDF that was watermarked first and the resource ID of the input file that was applied as a watermark second. | {
"outputUrl": "https://api.pdfrest.com/resource/01240b25a-8936-4437-8652-8410130f1199?format=file"
"outputId": "01240b25a-8936-4437-8652-8410130f1199"
"inputId": ["1e3c7fefe-45e0-48f2-bf8d-fe506e1d7838", "11e24955f-bbe9-4267-aac6-d1c7e531a426"] } |
400 | Bad Request | {
"error": "The requested font was not found. Please see the documentation for a list of accepted fonts." } |
401 | Unauthorized | {
"error": "The input file was corrupted, password-protected, or not a PDF." } |
Summary Encrypt a PDF using 256-bit AES encryption with a 32-bit key. Encrypted PDFs cannot be viewed without first providing the open password. Use "current_open_password" with "new_open_password" to change the open password on a document that was already encrypted. Use "current_permissions_password" if the input document has a permissions password. Examples curl -X POST "YOUR_DOMAIN_HERE/encrypted-pdf" -H "Accept: application/json" -H "Content-Type: multipart/form-data" -F "file=@PATH_TO_FILE/example_file.pdf" -F "output=example_out" -F "new_open_password=password" curl -X POST "YOUR_DOMAIN_HERE/encrypted-pdf" -H "Accept: application/json" -H "Content-Type: multipart/form-data" -F "file=@PATH_TO_FILE/example_file.pdf" -F "output=encrypted_out" -F "current_open_password=oldpassword" -F "new_open_password=newpassword" curl -X POST "YOUR_DOMAIN_HERE/encrypted-pdf" -H "Accept: application/json" -H "Content-Type: multipart/form-data" -F "id=0950b9bdf-0465-4d3f-8ea3-d2894f1ae839" -F "output=example_out" -F "new_open_password=openpassword" -F "current_permissions_password=permspassword" Required Headers Accept: application/json Content-Type: multipart/form-data
Body Parameters
Name | Description | Default | Required |
file | File to be uploaded and processed
Accepts: Any PDF file
Example: @PATH_TO_FILE/example_file.pdf | None | One of: |
id | Alphanumeric ID (UUID) of existing file on server to be processed
Accepts: Any valid resource ID returned by a POST request
Example: 0950b9bdf-0465-4d3f-8ea3-d2894f1ae839 | None | One of: |
new_open_password | New open password
Accepts: A string between 6 and 128 characters long
Example: 1234567890qwertyuiop | None | Yes |
current_open_password | Existing open password
Accepts: A valid password
Example: OpenUp | None | No |
current_permissions_password | Existing permissions password
Accepts: A valid password
Example: oahfoufdo99 | None | No |
output | Name of the generated output file, without extension
Accepts: Any valid file name
Example: example_out | [INPUT_FILE_NAME]_pdfrest_encrypted-pdf | No |
Responses
Response Status Code | Description | JSON Response Example |
200 | OK | {
"outputUrl": "YOUR_DOMAIN_HERE/resource/01240b25a-8936-4437-8652-8410130f1199?format=file"
"outputId": "01240b25a-8936-4437-8652-8410130f1199"
"inputId": "138aadb71-ee34-4621-9098-9686441e84e2" } |
400 | Bad Request | {
"error": "The given new password is too short." } |
401 | Unauthorized | {
"error": "The input file was corrupted, password-protected, or not a PDF." } |
Summary Remove encryption from a PDF. Use "current_permissions_password" if the input document has a permissions password. Examples curl -X POST "YOUR_DOMAIN_HERE/decrypted-pdf" -H "Accept: application/json" -H "Content-Type: multipart/form-data" -F "file=@PATH_TO_FILE/example_file.pdf" -F "output=example_out" -F "current_open_password=password" curl -X POST "YOUR_DOMAIN_HERE/decrypted-pdf" -H "Accept: application/json" -H "Content-Type: multipart/form-data" -F "id=0950b9bdf-0465-4d3f-8ea3-d2894f1ae839" -F "output=example_out" -F "current_open_password=openpassword" -F "current_permissions_password=permspassword" Required Headers Accept: application/json Content-Type: multipart/form-data
Body Parameters
Name | Description | Default | Required |
file | File to be uploaded and processed
Accepts: Any PDF file
Example: @PATH_TO_FILE/example_file.pdf | None | One of: |
id | Alphanumeric ID (UUID) of existing file on server to be processed
Accepts: Any valid resource ID returned by a POST request
Example: 0950b9bdf-0465-4d3f-8ea3-d2894f1ae839 | None | One of: |
current_open_password | Existing open password
Accepts: A valid password
Example: OpenUp | None | Yes |
current_permissions_password | Existing permissions password
Accepts: A valid password
Example: oahfoufdo99 | None | No |
output | Name of the generated output file, without extension
Accepts: Any valid file name
Example: example_out | [INPUT_FILE_NAME]_pdfrest_decrypted-pdf | No |
Responses
Response Status Code | Description | JSON Response Example |
200 | OK | {
"outputUrl": "YOUR_DOMAIN_HERE/resource/01240b25a-8936-4437-8652-8410130f1199?format=file"
"outputId": "01240b25a-8936-4437-8652-8410130f1199"
"inputId": "138aadb71-ee34-4621-9098-9686441e84e2" } |
400 | Bad Request | {
"error": "A password is required to process the document." } |
401 | Unauthorized | {
"error": "The input file was corrupted, password-protected, or not a PDF." } |
Summary Apply one or more document security restrictions to PDF with a permissions password. At minimum, a permissions password prevents the security settings of a document from being modified. Use "restrictions[]" to add additional security restrictions. Use "current_permissions_password" with "new_permissions_password" to change the permissions password on a document. NOTE: Setting a new permissions password will normally overwrite existing security data, including the open password. Use "current_open_password" to keep encryption with an already applied open password. Examples curl -X POST "YOUR_DOMAIN_HERE/restricted-pdf" -H "Accept: application/json" -H "Content-Type: multipart/form-data" -F "file=@PATH_TO_FILE/example_file.pdf" -F "output=example_out" -F "new_permissions_password=password" curl -X POST "YOUR_DOMAIN_HERE/restricted-pdf" -H "Accept: application/json" -H "Content-Type: multipart/form-data" -F "file=@PATH_TO_FILE/example_file.pdf" -F "output=restricted_out" -F "new_permissions_password=password" -F "restrictions[]=print_low" -F "restrictions[]=edit_content" curl -X POST "YOUR_DOMAIN_HERE/restricted-pdf" -H "Accept: application/json" -H "Content-Type: multipart/form-data" -F "id=0950b9bdf-0465-4d3f-8ea3-d2894f1ae839" -F "output=example_out" -F "new_permissions_password=mypermspassword" -F "current_open_password=myopenpassword" -F "restrictions[]=accessibility_off" Required Headers Accept: application/json Content-Type: multipart/form-data
Body Parameters
Name | Description | Default | Required |
file | File to be uploaded and processed
Accepts: Any PDF file
Example: @PATH_TO_FILE/example_file.pdf | None | One of: |
id | Alphanumeric ID (UUID) of existing file on server to be processed
Accepts: Any valid resource ID returned by a POST request
Example: 0950b9bdf-0465-4d3f-8ea3-d2894f1ae839 | None | One of: |
new_permissions_password | New permissions password
Accepts: A string between 6 and 128 characters long
Example: igy4e5ds7g87646fYFtfTFdh78g6DR | None | Yes |
current_permissions_password | Existing permissions password
Accepts: A valid password
Example: passwordpassword123 | None | No |
restrictions[] | Document restrictions to be applied. Restricted operations are locked behind the permissions password when interacting with a restricted document.
Accepts:
- print_low
- print_high
- edit_document_assembly
- edit_fill_and_sign_form_fields
- edit_annotations
- edit_content
- copy_content
- accessibility_off
Example: edit_content | None | No |
current_open_password | Existing open password
Accepts: A valid password
Example: openfileplease | None | No |
output | Name of the generated output file, without extension
Accepts: Any valid file name
Example: example_out | [INPUT_FILE_NAME]_pdfrest_restricted-pdf | No |
Responses
Response Status Code | Description | JSON Response Example |
200 | OK | {
"outputUrl": "YOUR_DOMAIN_HERE/resource/01240b25a-8936-4437-8652-8410130f1199?format=file"
"outputId": "01240b25a-8936-4437-8652-8410130f1199"
"inputId": "138aadb71-ee34-4621-9098-9686441e84e2" } |
400 | Bad Request | {
"error": "This route will only accept a File or an ID, not both." } |
401 | Unauthorized | {
"error": "The input file was corrupted, password-protected, or not a PDF." } |
Summary Remove all document security restrictions from a PDF. NOTE: Removing the permissions password will normally remove all existing security data, including the open password. Use "current_open_password" to keep encryption with an already applied open password. Examples curl -X POST "YOUR_DOMAIN_HERE/unrestricted-pdf" -H "Accept: application/json" -H "Content-Type: multipart/form-data" -F "file=@PATH_TO_FILE/example_file.pdf" -F "output=example_out" -F "current_permissions_password=password" curl -X POST "YOUR_DOMAIN_HERE/unrestricted-pdf" -H "Accept: application/json" -H "Content-Type: multipart/form-data" -F "id=0950b9bdf-0465-4d3f-8ea3-d2894f1ae839" -F "output=example_out" -F "current_permissions_password=password" Required Headers Accept: application/json Content-Type: multipart/form-data
Body Parameters
Name | Description | Default | Required |
file | File to be uploaded and processed
Accepts: Any PDF file
Example: @PATH_TO_FILE/example_file.pdf | None | One of: |
id | Alphanumeric ID (UUID) of existing file on server to be processed
Accepts: Any valid resource ID returned by a POST request
Example: 0950b9bdf-0465-4d3f-8ea3-d2894f1ae839 | None | One of: |
current_permissions_password | Existing permissions password
Accepts: A valid password
Example: kugdi9785gudw242FGdfdh | None | Yes |
current_open_password | Existing open password
Accepts: A valid password
Example: thisIsThePassword | None | No |
output | Name of the generated output file, without extension
Accepts: Any valid file name
Example: example_out | [INPUT_FILE_NAME]_pdfrest_unrestricted-pdf | No |
Responses
Response Status Code | Description | JSON Response Example |
200 | OK | {
"outputUrl": "YOUR_DOMAIN_HERE/resource/01240b25a-8936-4437-8652-8410130f1199?format=file"
"outputId": "01240b25a-8936-4437-8652-8410130f1199"
"inputId": "138aadb71-ee34-4621-9098-9686441e84e2" } |
400 | Bad Request | {
"error": "This route will only accept a File or an ID, not both." } |
401 | Unauthorized | {
"error": "Cannot process the given input file without the correct permissions password." } |
Summary Merges multiple PDF documents or specified pages from PDF documents into a single PDF document. Any number of PDFs may be merged by specifying "file" and/or "id[]" paramaters multiple times. Files will be merged in the order they are specified. NOTE: For each included "file" or "id[]" a corresponding "pages[]" and "type[]" must also be included to correspond to the type and desired page(s) for that input file. Examples curl -X POST "YOUR_DOMAIN_HERE/merged-pdf" -H "Accept: application/json" -H "Content-Type: multipart/form-data" -F "file=@PATH_TO_FILE/example_file1.pdf" -F "pages[]=1-7" -F "type[]=file" -F "file=@PATH_TO_FILE/example_file.pdf2" -F "pages[]=2-last" -F "type[]=file" -F "file=@PATH_TO_FILE/example_file3.pdf" -F "pages[]=2,4,6,8" -F "type[]=file" -F "output=example_out" curl -X POST "YOUR_DOMAIN_HERE/merged-pdf" -H "Accept: application/json" -H "Content-Type: multipart/form-data" -F "id[]=0950b9bdf-0465-4d3f-8ea3-d2894f1ae839" -F "pages[]=1,5-8" -F "type[]=id" -F "id[]=0kd720sdh-3756-s92j-lg0s-0z9m31js68c9" -F "pages[]=last-1" -F "type[]=id" -F "output=file_out" curl -X POST "YOUR_DOMAIN_HERE/merged-pdf" -H "Accept: application/json" -H "Content-Type: multipart/form-data" -F "file=@PATH_TO_FILE/example_file1.pdf" -F "pages[]=1-7" -F "type[]=file" -F "id[]=0950b9bdf-0465-4d3f-8ea3-d2894f1ae839" -F "pages[]=1,5-8" -F "type[]=id" -F "id[]=0kd720sdh-3756-s92j-lg0s-0z9m31js68c9" -F "pages[]=last-1" -F "type[]=id" "file=@PATH_TO_FILE/example_file.pdf2" -F "pages[]=2-last" -F "type[]=file" -F "output=file_out" Required Headers Accept: application/json Content-Type: multipart/form-data
Body Parameters
Name | Description | Default | Required |
file | File to be uploaded and merged with other files. This parameter may be included multiple times to specify multiple files to be merged.
Accepts: Any PDF file
Example: @PATH_TO_FILE/example_file.pdf | None | One or more of: |
id[] | Alphanumeric ID (UUID) of existing file on server to be merged with other files. This parameter may be included multiple times to specify multiple files to be merged.
Accepts: Any valid resource ID returned by a POST request
Example: 0950b9bdf-0465-4d3f-8ea3-d2894f1ae839 | None | One or more of: |
pages[] | Page or range of pages to include in merged file. This parameter must be specified for each "file" and "id[]" specified.
Accepts: Any mix of individual pages and/or ranges seperated by commas. "last" can be used to represent the number of the last page of the document. Page order can be reversed using ranges with the higher number specified before the lower number.
Example:
- 14-last
- 9-2
- 1,2,5-10,12-last
- even
- odd
| None | Yes |
type[] | This parameter must be specified for each "file" and "id[]" specified and indicates whether a document is a new file to upload or an id for an existing file on the server. This is required to maintain the order of documents to merge.
Accepts:
| None | Yes |
output | Name of the generated output file, without extension
Accepts: Any valid file name
Example: example_out | pdfrest_merged-pdf | No |
Responses
Response Status Code | Description | JSON Response Example |
200 | OK | {
"outputUrl": "YOUR_DOMAIN_HERE/resource/01240b25a-8936-4437-8652-8410130f1199?format=file"
"outputId": "01240b25a-8936-4437-8652-8410130f1199"
"inputId": ["112f7ea0d-0e56-44bc-a3d2-42fdff96d993", "198f7ad08-9da2-44bc-52b3-a962d2f75114", "187d8cab2-1f53-ae13-b798-2c766db23098", "128db087e-990a-7e27-1c28-028585af8287"] } |
400 | Bad Request | {
"error": "Too many 'file' or 'id' values." } |
Summary Splits a single PDF document into one or more PDF documents with specified pages. Any number of PDFs may be split out from the original PDF by including "pages[]" multiple times. Output files will be returned in the order they are included. NOTE: If "pages[]" is not specified, an output file will be created for each page of the input file containing only that page. A ten page PDF would be split into ten single-page PDFs. Examples curl -X POST "YOUR_DOMAIN_HERE/split-pdf" -H "Accept: application/json" -H "Content-Type: multipart/form-data" -F "file=@PATH_TO_FILE/example_file.pdf" curl -X POST "YOUR_DOMAIN_HERE/split-pdf" -H "Accept: application/json" -H "Content-Type: multipart/form-data" -F "file=@PATH_TO_FILE/example_file.pdf" -F "pages[]=3-last" -F "pages[]=2,4,6,9" -F "output=file_out" Required Headers Accept: application/json Content-Type: multipart/form-data
Body Parameters
Name | Description | Default | Required |
file | File to be uploaded and split into new files.
Accepts: Any PDF file
Example: @PATH_TO_FILE/example_file.pdf | None | One of: |
id | Alphanumeric ID (UUID) of existing file on server to be split into new files.
Accepts: Any valid resource ID returned by a POST request
Example: 0950b9bdf-0465-4d3f-8ea3-d2894f1ae839 | None | One of: |
pages[] | Page or range of pages to include in output file. This parameter may be specified multiple times to create multiple output files. If this paramater is not specified, an output file will be created for each page of the input file containing only that page.
Accepts: Any mix of individual pages and/or ranges seperated by commas. "last" can be used to represent the number of the last page of the document. Page order can be reversed using ranges with the higher number specified before the lower number.
Example:
- 14-last
- 2-9
- 1,2,10-5,12-last
- even
- odd
| None | No |
output | Prefix of the generated output file name(s), without extension. A sequentially incremented number will be appended to the end of this prefix for each output file name along with a .pdf extension.
Accepts: Any valid file name
Example: example_out | [INPUT_FILE_NAME]_pdfrest_split-pdf | No |
Responses
Response Status Code | Description | JSON Response Example |
200 | OK | {
"outputUrl": ["YOUR_DOMAIN_HERE/resource/255b5217c-a7cd-447b-99b3-0cadc9dc3831?format=file", "YOUR_DOMAIN_HERE/resource/203090407-cb1e-4c68-b7e1-c5b21211c0cd?format=file", "YOUR_DOMAIN_HERE/resource/24dd24471-a8b7-4f7c-b82b-5fc7ed55f74c?format=file"],
"outputId": [ "255b5217c-a7cd-447b-99b3-0cadc9dc3831", "203090407-cb1e-4c68-b7e1-c5b21211c0cd", "24dd24471-a8b7-4f7c-b82b-5fc7ed55f74c"],
"inputId": "1cb17d88c-7096-4d37-8b38-b97b00f587ac" } |
400 | Bad Request | {
"error": "This route will only accept a File or an ID, not both." } |
Summary Inserts an image into one page of a PDF at a specified location. Accepted image formats:
- JPEG (.jpg, .jpeg)
- TIF (.tif, .tiff)
- PNG (.png)
- GIF (.gif)
NOTE: The PDF coordinate system places the origin in the lower-left corner. Coordinates are in PDF units (1 in. = 72 PDF units). Please note that PDFs with offset origins may create an offset in the placement of the image. Examples curl -X POST "YOUR_DOMAIN_HERE/pdf-with-added-image" -H "accept: application/json" -H "Content-Type: multipart/form-data" -F "file=@PATH_TO_FILE/example_file.pdf" -F "image_file=@PATH_TO_FILE/example_file.jpg" -F "output=example_output" -F "page=1" -F "x=72" -F "y=72" curl -X POST "YOUR_DOMAIN_HERE/pdf-with-added-image" -H "accept: application/json" -H "Content-Type: multipart/form-data" -F "id=0950b9bdf-0465-4d3f-8ea3-d2894f1ae839" -F "image_id=01983abb7-ef44-ffaa-01ee-0b892f14a456" -F "output=example_output" -F "page=3" -F "x=144" -F "y=36" Required Headers Accept: application/json Content-Type: multipart/form-data
Body Parameters
Name | Description | Default | Required |
file | PDF file to be uploaded for an image to be added.
Accepts: Any PDF file
Example: @PATH_TO_FILE/example_file.pdf | None | One of: |
id | Alphanumeric ID (UUID) of existing PDF file on server for an image to be added.
Accepts: Any valid resource ID returned by a POST request
Example: 0950b9bdf-0465-4d3f-8ea3-d2894f1ae839 | None | One of: |
image_file | Image file to be uploaded and added to the PDF.
Accepts: Any image file of supported format (JPEG, TIFF, PNG, GIF).
Example: @PATH_TO_FILE/add_this.jpg | None | One of: |
image_id | Alphanumeric ID (UUID) of existing image file on server to be added to the PDF.
Accepts: Any valid resource ID returned by a POST request
Example: 0950b9bdf-0465-4d3f-8ea3-d2894f1ae839 | None | One of: |
x | Horizontal position of the image (by its lower-left corner) in PDF units (72 PDF units = 1 inch)
Accepts: Any integer value
Example: 72 | None | Yes |
y | Vertical position of the image (by its lower-left corner) in PDF units (72 PDF units = 1 inch)
Accepts: Any integer value
Example: 144 | None | Yes |
page | Page of the PDF to add the image into
Accepts: Any valid page number for the PDF file being processed
Example: 1 | None | Yes |
output | Name of the generated output file, without extension.
Accepts: Any valid file name
Example: example_out | [INPUT_FILE_NAME]_pdfrest_pdf-with-added-image | No |
Responses
Response Status Code | Description | JSON Response Example |
200 | OK
NOTE: inputId is an array of 2 elements where the first element is the resource ID of the input PDF and the second element is the resource ID of the input image file. | {
"outputUrl": "YOUR_DOMAIN_HERE/resource/2e7de20c3-0dcd-4bed-b446-3c9c0d3f8c8c?format=file"
"outputId": "2e7de20c3-0dcd-4bed-b446-3c9c0d3f8c8c"
"inputId": ["1e3c7fefe-45e0-48f2-bf8d-fe506e1d7838", "11e24955f-bbe9-4267-aac6-d1c7e531a426"] } |
400 | Bad Request | {
"error": "There was a problem reading the input image. Verify fields and try again." } |
401 | Unauthorized | {
"error": "The provided key is not valid." } |
Summary Attaches a file to a PDF document. Examples curl -X POST "YOUR_DOMAIN_HERE/pdf-with-added-attachment" -H "accept: application/json" -H "Content-Type: multipart/form-data" -F "file=@PATH_TO_FILE/example_file.pdf" -F "file_to_attach=@PATH_TO_FILE/example_file.jpg" -F "output=example_output" curl -X POST "YOUR_DOMAIN_HERE/pdf-with-added-attachment" -H "accept: application/json" -H "Content-Type: multipart/form-data" -F "id=0950b9bdf-0465-4d3f-8ea3-d2894f1ae839" -F "file_to_attach=01983abb7-ef44-ffaa-01ee-0b892f14a456" -F "output=example_output" Required Headers Accept: application/json Content-Type: multipart/form-data
Body Parameters
Name | Description | Default | Required |
file | PDF file to be uploaded for an attachment to be added.
Accepts: Any PDF file
Example: @PATH_TO_FILE/example_file.pdf | None | One of: |
id | Alphanumeric ID (UUID) of existing PDF file on server for an attachment to be added.
Accepts: Any valid resource ID returned by a POST request
Example: 0950b9bdf-0465-4d3f-8ea3-d2894f1ae839 | None | One of: |
file_to_attach | File to be uploaded and attached to the PDF.
Accepts: Any file that can be attached to a PDF
Example: @PATH_TO_FILE/add_this.jpg | None | One of:- file_to_attach
- id_to_attach
|
id_to_attach | Alphanumeric ID (UUID) of existing file on server to be attached to the PDF.
Accepts: Any valid resource ID returned by a POST request
Example: 0950b9bdf-0465-4d3f-8ea3-d2894f1ae839 | None | One of:- file_to_attach
- id_to_attach
|
output | Name of the generated output file, without extension.
Accepts: Any valid file name
Example: example_out | [INPUT_FILE_NAME]_pdfrest_pdf-with-added-attachment | No |
Responses
Response Status Code | Description | JSON Response Example |
200 | OK
NOTE: inputId is an array of 2 elements where the first element is the resource ID of the input PDF and the second element is the resource ID of the attached input file. | {
"outputUrl": "YOUR_DOMAIN_HERE/resource/2e7de20c3-0dcd-4bed-b446-3c9c0d3f8c8c?format=file"
"outputId": "2e7de20c3-0dcd-4bed-b446-3c9c0d3f8c8c"
"inputId": ["1e3c7fefe-45e0-48f2-bf8d-fe506e1d7838", "11e24955f-bbe9-4267-aac6-d1c7e531a426"] } |
400 | Bad Request | {
"error": "The input PDF file claims conformance to a version of PDF/A that prohibits file attachments." } |
Summary Convert PDF to BMP image files, one per PDF page Examples curl -X POST "YOUR_DOMAIN_HERE/bmp" -H "Accept: application/json" -H "Content-Type: multipart/form-data" -F "file=@PATH_TO_FILE/example_file.pdf" -F "output=example_out" curl -X POST "YOUR_DOMAIN_HERE/bmp" -H "Accept: application/json" -H "Content-Type: multipart/form-data" -F "file=@PATH_TO_FILE/example_file.pdf" -F "output=bmp_out" -F "pages=2-9" -F "resolution=900" -F "color_model=gray" curl -X POST "YOUR_DOMAIN_HERE/bmp" -H "Accept: application/json" -H "Content-Type: multipart/form-data" -F "id=0950b9bdf-0465-4d3f-8ea3-d2894f1ae839" -F "output=bmp_out" -F "pages=2-9" -F "resolution=900" -F "color_model=gray" Required Headers Accept: application/json Content-Type: multipart/form-data
Body Parameters
Name | Description | Default | Required |
file | File to be uploaded and processed
Accepts: Any PDF File
Example: @PATH_TO_FILE/example_file.pdf | None | One of: |
id | Alphanumeric ID (UUID) of existing file on server to be processed
Accepts: Any valid resource ID returned by a POST request
Example: 0950b9bdf-0465-4d3f-8ea3-d2894f1ae839 | None | One of: |
output | Prefix of the generated output file name(s), without extension. A sequentially incremented number will be appended to the end of this prefix for each output file name along with a .bmp extension.
Accepts: Any valid file name
Example: example_out | [INPUT_FILE_NAME]_pdfrest_bmp | No |
pages | Page or range of pages to process
Accepts: Any mix of individual pages and/or ranges seperated by commas. "last" can be used to represent the number of the last page of the document.
Example:
- 14-last
- 2-9
- 1,2,5-10,12-last
| 1-last (all pages) | No |
resolution | Output image resolution in Dots Per Inch (DPI)
Accepts: 12 to 2400 | 300 | No |
color_model | Color model of the output file
Accepts:
| rgb | No |
Responses
Response Status Code | Description | JSON Response Example |
200 | OK | {
"outputUrl": "YOUR_DOMAIN_HERE/resource/01240b25a-8936-4437-8652-8410130f1199?format=file"
"outputId": "01240b25a-8936-4437-8652-8410130f1199"
"inputId": "112f7ea0d-0e56-44bc-a3d2-42fdff96d993" } |
400 | Bad Request | {
"error": "0 is not within the acceptable range for resolution." } |
401 | Unauthorized | {
"error": "The input file is password protected and cannot be processed." } |
Summary Convert PDF to JPEG image files, one per PDF page Examples curl -X POST "YOUR_DOMAIN_HERE/jpg" -H "Accept: application/json" -H "Content-Type: multipart/form-data" -F "file=@PATH_TO_FILE/example_file.pdf" -F "output=example_out" curl -X POST "YOUR_DOMAIN_HERE/jpg" -H "Accept: application/json" -H "Content-Type: multipart/form-data" -F "file=@PATH_TO_FILE/example_file.pdf" -F "output=jpg_out" -F "pages=2-9" -F "resolution=900" -F "color_model=gray" -F "jpeg_quality=100" curl -X POST "YOUR_DOMAIN_HERE/jpg" -H "Accept: application/json" -H "Content-Type: multipart/form-data" -F "id=0950b9bdf-0465-4d3f-8ea3-d2894f1ae839" -F "output=example_out" -F "pages=1,3-last" -F "jpeg_quality=25" -F "color_model=cmyk" Required Headers Accept: application/json Content-Type: multipart/form-data
Body Parameters
Name | Description | Default | Required |
file | File to be uploaded and processed
Accepts: Any PDF File
Example: @PATH_TO_FILE/example_file.pdf | None | One of: |
id | Alphanumeric ID (UUID) of existing file on server to be processed
Accepts: Any valid resource ID returned by a POST request
Example: 0950b9bdf-0465-4d3f-8ea3-d2894f1ae839 | None | One of: |
output | Prefix of the generated output file name(s), without extension. A sequentially incremented number will be appended to the end of this prefix for each output file name along with a .jpg extension.
Accepts: Any valid file name
Example: example_out | [INPUT_FILE_NAME]_pdfrest_jpg | No |
pages | Page or range of pages to process
Accepts: Any mix of individual pages and/or ranges seperated by commas. "last" can be used to represent the number of the last page of the document.
Example:
- 14-last
- 2-9
- 1,2,5-10,12-last
| 1-last (all pages) | No |
resolution | Output image resolution in Dots Per Inch (DPI)
Accepts: 12 to 2400 | 300 | No |
color_model | Color model of the output file
Accepts:
| rgb | No |
jpeg_quality | JPEG compression quality. Higher values produce a higher quality image but also a larger output file size.
Accepts: 1 to 100 | 75 | No |
Responses
Response Status Code | Description | JSON Response Example |
200 | OK | {
"outputUrl": "YOUR_DOMAIN_HERE/resource/01240b25a-8936-4437-8652-8410130f1199?format=file"
"outputId": "01240b25a-8936-4437-8652-8410130f1199"
"inputId": "112f7ea0d-0e56-44bc-a3d2-42fdff96d993" } |
400 | Bad Request | {
"error": "0 is not within the acceptable range for resolution." } |
401 | Unauthorized | {
"error": "The input file is password protected and cannot be processed." } |
Summary Convert PDF to PNG image files, one per PDF page Examples curl -X POST "YOUR_DOMAIN_HERE/png" -H "Accept: application/json" -H "Content-Type: multipart/form-data" -F "file=@PATH_TO_FILE/example_file.pdf" -F "output=example_out" curl -X POST "YOUR_DOMAIN_HERE/png" -H "Accept: application/json" -H "Content-Type: multipart/form-data" -F "file=@PATH_TO_FILE/example_file.pdf" -F "output=png_out" -F "pages=2-9" -F "resolution=900" -F "color_model=gray" curl -X POST "YOUR_DOMAIN_HERE/png" -H "Accept: application/json" -H "Content-Type: multipart/form-data" -F "id=0950b9bdf-0465-4d3f-8ea3-d2894f1ae839" -F "output=example_out" -F "pages=2-last" -F "color_model=rgba" Required Headers Accept: application/json Content-Type: multipart/form-data
Body Parameters
Name | Description | Default | Required |
file | File to be uploaded and processed
Accepts: Any PDF File
Example: @PATH_TO_FILE/example_file.pdf | None | One of: |
id | Alphanumeric ID (UUID) of existing file on server to be processed
Accepts: Any valid resource ID returned by a POST request
Example: 0950b9bdf-0465-4d3f-8ea3-d2894f1ae839 | None | One of: |
output | Prefix of the generated output file name(s), without extension. A sequentially incremented number will be appended to the end of this prefix for each output file name along with a .png extension.
Accepts: Any valid file name
Example: example_out | [INPUT_FILE_NAME]_pdfrest_png | No |
pages | Page or range of pages to process
Accepts: Any mix of individual pages and/or ranges seperated by commas. "last" can be used to represent the number of the last page of the document.
Example:
- 14-last
- 2-9
- 1,2,5-10,12-last
| 1-last (all pages) | No |
resolution | Output image resolution in Dots Per Inch (DPI)
Accepts: 12 to 2400 | 300 | No |
color_model | Color model of the output file
Accepts:
| rgb | No |
Responses
Response Status Code | Description | JSON Response Example |
200 | OK | {
"outputUrl": "YOUR_DOMAIN_HERE/resource/01240b25a-8936-4437-8652-8410130f1199?format=file"
"outputId": "01240b25a-8936-4437-8652-8410130f1199"
"inputId": "112f7ea0d-0e56-44bc-a3d2-42fdff96d993" } |
400 | Bad Request | {
"error": "0 is not within the acceptable range for resolution." } |
401 | Unauthorized | {
"error": "The input file is password protected and cannot be processed." } |
Summary Convert PDF to GIF image files, one per PDF page Examples curl -X POST "YOUR_DOMAIN_HERE/gif" -H "Accept: application/json" -H "Content-Type: multipart/form-data" -F "file=@PATH_TO_FILE/example_file.pdf" -F "output=example_out" curl -X POST "YOUR_DOMAIN_HERE/gif" -H "Accept: application/json" -H "Content-Type: multipart/form-data" -F "file=@PATH_TO_FILE/example_file.pdf" -F "output=gif_out" -F "pages=2-9,20" -F "resolution=1200" -F "color_model=rgb" curl -X POST "YOUR_DOMAIN_HERE/gif" -H "Accept: application/json" -H "Content-Type: multipart/form-data" -F "id=0950b9bdf-0465-4d3f-8ea3-d2894f1ae839" -F "output=example_out" -F "pages=2-last" -F "color_model=gray" Required Headers Accept: application/json Content-Type: multipart/form-data
Body Parameters
Name | Description | Default | Required |
file | File to be uploaded and processed
Accepts: Any PDF File
Example: @PATH_TO_FILE/example_file.pdf | None | One of: |
id | Alphanumeric ID (UUID) of existing file on server to be processed
Accepts: Any valid resource ID returned by a POST request
Example: 0950b9bdf-0465-4d3f-8ea3-d2894f1ae839 | None | One of: |
output | Prefix of the generated output file name(s), without extension. A sequentially incremented number will be appended to the end of this prefix for each output file name along with a .gif extension.
Accepts: Any valid file name
Example: example_out | [INPUT_FILE_NAME]_pdfrest_gif | No |
pages | Page or range of pages to process
Accepts: Any mix of individual pages and/or ranges seperated by commas. "last" can be used to represent the number of the last page of the document.
Example:
- 14-last
- 2-9
- 1,2,5-10,12-last
| 1-last (all pages) | No |
resolution | Output image resolution in Dots Per Inch (DPI)
Accepts: 12 to 2400 | 300 | No |
color_model | Color model of the output file
Accepts:
| rgb | No |
Responses
Response Status Code | Description | JSON Response Example |
200 | OK | {
"outputUrl": "YOUR_DOMAIN_HERE/resource/01240b25a-8936-4437-8652-8410130f1199?format=file"
"outputId": "01240b25a-8936-4437-8652-8410130f1199"
"inputId": "112f7ea0d-0e56-44bc-a3d2-42fdff96d993" } |
400 | Bad Request | {
"error": "0 is not within the acceptable range for resolution." } |
401 | Unauthorized | {
"error": "The input file is password protected and cannot be processed." } |
Summary Convert PDF to TIFF image files, one per PDF page Examples curl -X POST "YOUR_DOMAIN_HERE/tif" -H "Accept: application/json" -H "Content-Type: multipart/form-data" -F "file=@PATH_TO_FILE/example_file.pdf" -F "output=example_out" curl -X POST "YOUR_DOMAIN_HERE/tif" -H "Accept: application/json" -H "Content-Type: multipart/form-data" -F "file=@PATH_TO_FILE/example_file.pdf" -F "output=tif_out" -F "pages=3,5,7" -F "resolution=2400" -F "color_model=cmyk" curl -X POST "YOUR_DOMAIN_HERE/tif" -H "Accept: application/json" -H "Content-Type: multipart/form-data" -F "id=0950b9bdf-0465-4d3f-8ea3-d2894f1ae839" -F "output=example_out" -F "pages=1,9-last" -F "color_model=lab" Required Headers Accept: application/json Content-Type: multipart/form-data
Body Parameters
Name | Description | Default | Required |
file | File to be uploaded and processed
Accepts: Any PDF File
Example: @PATH_TO_FILE/example_file.pdf | None | One of: |
id | Alphanumeric ID (UUID) of existing file on server to be processed
Accepts: Any valid resource ID returned by a POST request
Example: 0950b9bdf-0465-4d3f-8ea3-d2894f1ae839 | None | One of: |
output | Prefix of the generated output file name(s), without extension. A sequentially incremented number will be appended to the end of this prefix for each output file name along with a .tif extension.
Accepts: Any valid file name
Example: example_out | [INPUT_FILE_NAME]_pdfrest_tif | No |
pages | Page or range of pages to process
Accepts: Any mix of individual pages and/or ranges seperated by commas. "last" can be used to represent the number of the last page of the document.
Example:
- 14-last
- 2-9
- 1,2,5-10,12-last
| 1-last (all pages) | No |
resolution | Output image resolution in Dots Per Inch (DPI)
Accepts: 12 to 2400 | 300 | No |
color_model | Color model of the output file
Accepts:
| rgb | No |
Responses
Response Status Code | Description | JSON Response Example |
200 | OK | {
"outputUrl": "YOUR_DOMAIN_HERE/resource/01240b25a-8936-4437-8652-8410130f1199?format=file"
"outputId": "01240b25a-8936-4437-8652-8410130f1199"
"inputId": "112f7ea0d-0e56-44bc-a3d2-42fdff96d993" } |
400 | Bad Request | {
"error": "0 is not within the acceptable range for resolution." } |
401 | Unauthorized | {
"error": "The input file is password protected and cannot be processed." } |
Summary Convert PDF colors with precise document color control through custom ICC profiles and a library of print, screen, web, and grayscale presets. Examples curl -X POST "YOUR_DOMAIN_HERE/pdf-with-converted-colors" -H "Accept: application/json" -H "Content-Type: multipart/form-data" -F "file=@PATH_TO_FILE/example_file.pdf" -F "output=bw_out" -F "color_profile=dot-gain-10" curl -X POST "YOUR_DOMAIN_HERE/pdf-with-converted-colors" -H "Accept: application/json" -H "Content-Type: multipart/form-data" -F "id=0950b9bdf-0465-4d3f-8ea3-d2894f1ae839" -F "output=cmyk_out" -F "color_profile=acrobat5-cmyk" Required Headers Accept: application/json Content-Type: multipart/form-data
Body Parameters
Name | Description | Default | Required |
file | File to be uploaded and processed
Accepts: Any PDF file
Example: @PATH_TO_FILE/example_file.pdf | None | One of: |
id | Alphanumeric ID (UUID) of existing file on server to be processed
Accepts: Any valid resource ID returned by a POST request
Example: 0950b9bdf-0465-4d3f-8ea3-d2894f1ae839 | None | One of: |
color_profile | Choose from any of the preset color profiles, or select custom to supply an ICC color profile
Accepts:
- lab-d50 - L*a*b color specification with a D50 white point. The Lab color space is based on the CIE XYZ color space, but it includes a dimension L, for lightness, along with a and b coordinates, to define the color. This is Adobe Systems’ standard Lab profile.
- srgb - Standard RGB, the default profile for Windows monitors.
- apple-rgb - Apple RGB, the default profile for Mac monitors
- color-match-rgb - Color Match RGB. This is a simpler version of the Radius ColorMatch RGB space, without the non-zero black point.
- gamma-18 - Gray Gamma 1.8, grayscale display profile, used for content viewed on a monitor
- gamma-22 - Gray Gamma 2.2
- dot-gain-10 - Grayscale printer profile, with dot gain 10%. Dot gain is commonly used in offset printing to define the increase in size in halftone dots in the printing process, making a printed document look darker than intended.
- dot-gain-15 - Dot gain 15%
- dot-gain-20 - Dot gain 20%
- dot-gain-25 - Dot gain 25%
- dot-gain-30 - Dot gain 30%
- monitor-rgb - RGB Monitor, referring to a monitor that requires separate signals for the three primary colors.
- acrobat5-cmyk - Adobe Reader 5 CMYK
- acrobat9-cmyk - Adobe Reader 9 CMYK
- custom - supply a custom ICC color profile with either the profile or profile_id parameter
Example: acrobat9-cmyk | None | Yes |
profile | Select a local ICC color profile document to upload for processing.
NOTE: If color_profile is set to custom then a custom ICC color profile must be supplied with either the profile or profile_id paramater.
Accepts: Any valid ICC color profile
Example: @PATH_TO_FILE/example_profile.icc | None | When color_profile is set to custom, one of: |
profile_id | Submit a resource ID for an ICC color profile document that already exists on the processing server.
NOTE: If color_profile is set to custom then a custom ICC color profile must be supplied with either the profile or profile_id paramater.
Accepts: Any valid resource ID returned by a POST request
Example: 138aadb71-ee34-4621-9098-9686441e84e2 | None | When color_profile is set to custom, one of: |
output | Name of the generated output file, without extension
Accepts: Any valid file name
Example: example_out | [INPUT_FILE_NAME]_pdfrest_pdf-with-converted-colors | No |
Responses
Response Status Code | Description | JSON Response Example |
200 | OK | {
"outputUrl": "YOUR_DOMAIN_HERE/resource/01240b25a-8936-4437-8652-8410130f1199?format=file"
"outputId": "01240b25a-8936-4437-8652-8410130f1199"
"inputId": "138aadb71-ee34-4621-9098-9686441e84e2" } |
400 | Bad Request | {
"error": "This route will only accept a File or an ID, not both." } |
401 | Unauthorized | {
"error": "The input file is password protected and cannot be processed." } |
Summary Linearize a PDF to optimize the document for fast web view. This restructures the document to be loaded one page at a time from web servers. Examples curl -X POST "YOUR_DOMAIN_HERE/linearized-pdf" -H "accept: application/json" -H "Content-Type: multipart/form-data" -F "file=@PATH_TO_FILE/example_file.pdf" -F "output=example_output" curl -X POST "YOUR_DOMAIN_HERE/linearized-pdf" -H "accept: application/json" -H "Content-Type: multipart/form-data" -F "id=0950b9bdf-0465-4d3f-8ea3-d2894f1ae839" -F "output=example_output" Required Headers Accept: application/json Content-Type: multipart/form-data
Body Parameters
Name | Description | Default | Required |
file | File to be uploaded and processed
Accepts: Any PDF file
Example: @PATH_TO_FILE/example_file.pdf | None | One of: |
id | Alphanumeric ID (UUID) of existing file on server to be processed
Accepts: Any valid resource ID returned by a POST request
Example: 0950b9bdf-0465-4d3f-8ea3-d2894f1ae839 | None | One of: |
output | Name of the generated output file, without extension
Accepts: Any valid file name
Example: example_out | [INPUT_FILE_NAME]_pdfrest_linearized-pdf | No |
Responses
Response Status Code | Description | JSON Response Example |
200 | OK | {
"outputUrl": "YOUR_DOMAIN_HERE/resource/01240b25a-8936-4437-8652-8410130f1199?format=file"
"outputId": "01240b25a-8936-4437-8652-8410130f1199"
"inputId": "138aadb71-ee34-4621-9098-9686441e84e2" } |
400 | Bad Request | {
"error": "This route will only accept a File or an ID, not both." } |
401 | Unauthorized | {
"error": "The input file is password protected and cannot be processed." } |
Summary Flatten all transparent objects in a PDF to increase RIP speed in a prepress workflow and to enable compatibility for workflows in which transparency is not supported. Examples curl -X POST "YOUR_DOMAIN_HERE/flattened-transparencies-pdf" -H "accept: application/json" -H "Content-Type: multipart/form-data" -F "file=@PATH_TO_FILE/example_file.pdf" -F "output=example_output" curl -X POST "YOUR_DOMAIN_HERE/flattened-transparencies-pdf" -H "accept: application/json" -H "Content-Type: multipart/form-data" -F "id=0950b9bdf-0465-4d3f-8ea3-d2894f1ae839" -F "output=example_output" -F "quality=high" Required Headers Accept: application/json Content-Type: multipart/form-data
Body Parameters
Name | Description | Default | Required |
file | File to be uploaded and processed
Accepts: Any PDF file
Example: @PATH_TO_FILE/example_file.pdf | None | One of: |
id | Alphanumeric ID (UUID) of existing file on server to be processed
Accepts: Any valid resource ID returned by a POST request
Example: 0950b9bdf-0465-4d3f-8ea3-d2894f1ae839 | None | One of: |
output | Name of the generated output file, without extension
Accepts: Any valid file name
Example: example_out | [INPUT_FILE_NAME]_pdfrest_flattened-transparencies-pdf | No |
quality | Set the quality to define the resolution level to use when flattening transparent objects in your PDF.
- low - ideal for proofs that will be printed on black-and-white desktop printers and for documents that will be published on the web
- medium - best for desktop proofs and documents that will be printed on color printers
- high - ideal for final press outputs when high quality separations-based color proofs are needed
Accepts:
| medium | No |
Responses
Response Status Code | Description | JSON Response Example |
200 | OK | {
"outputUrl": "YOUR_DOMAIN_HERE/resource/01240b25a-8936-4437-8652-8410130f1199?format=file"
"outputId": "01240b25a-8936-4437-8652-8410130f1199"
"inputId": "138aadb71-ee34-4621-9098-9686441e84e2" } |
400 | Bad Request | {
"error": "This route will only accept a File or an ID, not both." } |
401 | Unauthorized | {
"error": "The input file is password protected and cannot be processed." } |
Summary Flatten all annotations in a PDF to collapse their appearances into page content and make them no longer editable. Examples curl -X POST "YOUR_DOMAIN_HERE/flattened-annotations-pdf" -H "accept: application/json" -H "Content-Type: multipart/form-data" -F "file=@PATH_TO_FILE/example_file.pdf" -F "output=example_output" curl -X POST "YOUR_DOMAIN_HERE/flattened-annotations-pdf" -H "accept: application/json" -H "Content-Type: multipart/form-data" -F "id=0950b9bdf-0465-4d3f-8ea3-d2894f1ae839" -F "output=example_output" Required Headers Accept: application/json Content-Type: multipart/form-data
Body Parameters
Name | Description | Default | Required |
file | File to be uploaded and processed
Accepts: Any PDF file
Example: @PATH_TO_FILE/example_file.pdf | None | One of: |
id | Alphanumeric ID (UUID) of existing file on server to be processed
Accepts: Any valid resource ID returned by a POST request
Example: 0950b9bdf-0465-4d3f-8ea3-d2894f1ae839 | None | One of: |
output | Name of the generated output file, without extension
Accepts: Any valid file name
Example: example_out | [INPUT_FILE_NAME]_pdfrest_flattened-annotations-pdf | No |
Responses
Response Status Code | Description | JSON Response Example |
200 | OK | {
"outputUrl": "YOUR_DOMAIN_HERE/resource/01240b25a-8936-4437-8652-8410130f1199?format=file"
"outputId": "01240b25a-8936-4437-8652-8410130f1199"
"inputId": "138aadb71-ee34-4621-9098-9686441e84e2" } |
400 | Bad Request | {
"error": "This route will only accept a File or an ID, not both." } |
401 | Unauthorized | {
"error": "The input file is password protected and cannot be processed." } |
Summary Flatten all layers in a PDF to collapse content from multiple layers onto a single layer. Examples curl -X POST "YOUR_DOMAIN_HERE/flattened-layers-pdf" -H "accept: application/json" -H "Content-Type: multipart/form-data" -F "file=@PATH_TO_FILE/example_file.pdf" -F "output=example_output" curl -X POST "YOUR_DOMAIN_HERE/flattened-layers-pdf" -H "accept: application/json" -H "Content-Type: multipart/form-data" -F "id=0950b9bdf-0465-4d3f-8ea3-d2894f1ae839" -F "output=example_output" Required Headers Accept: application/json Content-Type: multipart/form-data
Body Parameters
Name | Description | Default | Required |
file | File to be uploaded and processed
Accepts: Any PDF file
Example: @PATH_TO_FILE/example_file.pdf | None | One of: |
id | Alphanumeric ID (UUID) of existing file on server to be processed
Accepts: Any valid resource ID returned by a POST request
Example: 0950b9bdf-0465-4d3f-8ea3-d2894f1ae839 | None | One of: |
output | Name of the generated output file, without extension
Accepts: Any valid file name
Example: example_out | [INPUT_FILE_NAME]_pdfrest_flattened-layers-pdf | No |
Responses
Response Status Code | Description | JSON Response Example |
200 | OK | {
"outputUrl": "YOUR_DOMAIN_HERE/resource/01240b25a-8936-4437-8652-8410130f1199?format=file"
"outputId": "01240b25a-8936-4437-8652-8410130f1199"
"inputId": "138aadb71-ee34-4621-9098-9686441e84e2" } |
400 | Bad Request | {
"error": "This route will only accept a File or an ID, not both." } |
401 | Unauthorized | {
"error": "The input file is password protected and cannot be processed." } |
Summary Upload any number of files from local storage or via public URL by specifying "file" or "url" paramaters one or more times. Examples curl -X POST "YOUR_DOMAIN_HERE/upload" -H "Accept: application/json" -H "Content-Type: multipart/form-data" -F "file=@PATH_TO_FILE/example_file1.pdf" -F "file=@PATH_TO_FILE/example_file2.png" curl -X POST "YOUR_DOMAIN_HERE/upload" -H "Accept: application/json" -H "Content-Type: multipart/form-data" -F "url=https://cms.example.com/path/to/file/input1.pdf" -F "url=https://cms.example.com/path/to/file/input2.jpg" Required Headers Accept: application/json Content-Type: multipart/form-data
Body Parameters
Name | Description | Default | Required |
file | File to be uploaded. This parameter may be included multiple times to upload multiple files but may not be combined with 'url' parameter.
Accepts: Any file of supported type
Example: @PATH_TO_FILE/example_file.pdf | None | One or more: file - OR - One or more: url |
url | Public URL address for a file. This parameter may be included multiple times to upload multiple files from different URLs but may not be combined with 'file' parameter.
Accepts: Any valid file accessible via public URL
Example: https://cms.example.com/path/to/file/input.pdf | None | One or more: file - OR - One or more: url |
Responses
Response Status Code | Description | JSON Response Example |
200 | OK | { "files": [ { "name": "filename1.doc", "id": "2cbf6f191-4184-4bd2-82e0-531e3e1d8ba6" }, { "name": "filename2.pdf", "id": "259504d9c-38c8-41a6-82f3-3f97279c9522" } ] } |
400 | Bad Request | {
"error": "Files and URLs cannot be uploaded together." } |
401 | Unauthorized | {
"error": "The provided key is not valid." } |
Summary Compress any number of files into a .zip by specifying "file" and/or "id[]" paramaters multiple times. Examples curl -X POST "YOUR_DOMAIN_HERE/zip" -H "accept: application/json" -H "Content-Type: multipart/form-data" -F "file=@PATH_TO_FILE/example_file.pdf" -F "output=example_out" curl -X POST "YOUR_DOMAIN_HERE/zip" -H "accept: application/json" -H "Content-Type: multipart/form-data" -F "file=@PATH_TO_FILE/example_file.pdf" -F "file=@PATH_TO_FILE/example_file_2.pdf" "id[]=0950b9bdf-0465-4d3f-8ea3-d2894f1ae839" "output=example_out" Required Headers Accept: application/json Content-Type: multipart/form-data
Body Parameters
Name | Description | Default | Required |
file | File to be uploaded and zipped with other files. This parameter may be included multiple times to compress multiple files to a .zip file.
Accepts: Any file of supported type
Example: @PATH_TO_FILE/example_file.pdf | None | One or more of: |
id[] | Alphanumeric ID (UUID) of existing file on server to be zipped with other files. This parameter may be included multiple times to compress multiple files to a .zip file.
Accepts: Any valid resource ID returned by a POST request
Example: 0950b9bdf-0465-4d3f-8ea3-d2894f1ae839 | None | One or more of: |
output | Name of the generated output file, without extension
Accepts: Any valid file name
Example: example_out | pdfrest_zip | No |
Responses
Response Status Code | Description | JSON Response Example |
200 | OK | {
"outputUrl": "YOUR_DOMAIN_HERE/resource/01240b25a-8936-4437-8652-8410130f1199?format=file"
"outputId": "01240b25a-8936-4437-8652-8410130f1199"
"inputId": ["112f7ea0d-0e56-44bc-a3d2-42fdff96d993", "198f7ad08-9da2-44bc-52b3-a962d2f75114", "187d8cab2-1f53-ae13-b798-2c766db23098", "128db087e-990a-7e27-1c28-028585af8287"] } |
400 | Bad Request | {
"error": "Found more than one output key, only one is allowed." } |
© 2024 Datalogics, Inc. All rights reserved. |