API Overview
The DynamicPDF API provides numerous APIs you can use to integrate PDF capabilities into your applications. Use the REST endpoints directly or use one of the provided client libraries.
The DynamicPDF API has six endpoints for working with PDFs. All six endpoints take a POST request. While the image-info
, pdf-info
, pdf-text
, pdf-xmp
, and dlex-layout
endpoints are straightforward and perform a single function; the pdf
endpoint is more complex and allows a variety of processing tasks to create a PDF. Unlike the other five endpoints, the pdf
endpoint takes a JSON instructions document which allows fine-grained control over how you generate a finished PDF.
A good starting point for understanding the DynamicPDF API is by reviewing the processing steps for calling an endpoint (Endpoint Workflow).
The following sections list the REST endpoints and available client libraries. It also lists the endpoints region you can use when calling the REST endpoints. If the region is left to the default, then DynamicPDF attempts to select the closest region for your organization.
DynamicPDF has different endpoint regions that you can use when calling one of the endpoints.
REST Endpoints
Endpoint | Documentation | Description |
---|---|---|
dlex-layout | API Users Guide - dlex-layout | Returns a PDF after processing a DLEX file with it's associated JSON data. |
image-info | API Users Guide - image-info | Returns image metadata as a JSON document. |
pdf-image | API Users Guide - pdf-image | Converts a PDF to an image and returns as an array of bas64 encoded images as a JSON document. |
pdf-info | API Users Guide - pdf-Info | Returns PDF metadata as a JSON document. |
pdf-text | API Users Guide - pdf-text | Returns the text from a PDF as a JSON document. |
pdf-xmp | API Users Guide - pdf-xmp | Returns XMP metadata from a PDF. |
pdf | API Users Guide - pdf | Returns a PDF after performing one of the pdf endpoint's tasks (page , dlex , html , word , image ) or merging. |
Client Libraries
The DynamicPDF API provides client libraries implemented in the following languages.
- C#
- Go
- Java
- Node.js
- PHP
- Python
More languages are coming, such as Ruby.
Libraries
Access the libraries from the DynamicPDF API github project at https://github.com/dynamicpdf-api. The client library for each respective language is also available for incorporation into your project via Nuget, Maven, npm, PIP, or Composer.
Refer to each client library's readme.md
file on github for documentation on the library.
Endpoint Zones
The DynamicPDF API REST endpoints are deployed on 10 API zones, You should use the default endpoint at https://api.dpdf.io since it automatically routes to the closest zone. However, if you wish to target a specific zone, then you can any of the following specific API zones.
Region | API Zone |
---|---|
Default | https://api.dpdf.io |
East USA | https://api-use.dpdf.io |
West USA | https://api-usw.dpdf.io |
Brazil South | https://api-brs.dpdf.io |
Western Europe | https://api-euw.dpdf.io |
South Africa North | https://api-zan.dpdf.io |
UAE North | https://api-aen.dpdf.io |
Central India | https://api-inc.dpdf.io |
Southeast Asia | https://api-sea.dpdf.io |
Japan East | https://api-jae.dpdf.io |
Australia East | https://api-aue.dpdf.io |
Authentication
Every API endpoint request must have an Authorization header that specifies the API key used in securing the endpoint call. You obtain this key from the Apps Manager and a request header has the following format, where "DP.V9xxxxx" is the API key.
Authorization: Bearer DP.xxx-api-key-xxx
Example Header
curl -X POST "https://api.dpdf.io/v1.0/pdf-xmp"
-H "accept: application/json"
-H "Authorization: Bearer DP.xxx-api-key-xxx"
-H "Content-Type: application/pdf"
--data-binary "@c:/holding/pdf-xmp/fw4.pdf"
Do not assume the example header is implying that the endpoint only accepts a file. Realize the --data-binary
sent to the endpoint is a byte-array.
For more information on API keys, refer to Apps Manager in the Users Guide (Apps Manager).