- Add text, images and signatures to a PDF
- Fill PDF form fields
- Create a new PDF from a template

Input
| Name | Description | Required |
|---|---|---|
| Source PDF | Provide the URL of the PDF document, or leave blank to create a new PDF from scratch. | No |
| Text Annotations | Specify each text annotation using the format x;y;page;text. See Text Annotations for more information. | Fill at least one |
| Image Embeds | Define each image using the format x;y;page;urltoimage;link;width;height. Use PDF.co PDF Inspector to find or measure PDF coordinates. | Fill at least one |
| Fillable Form Fields | Specify each fillable field value in the format page;fieldName;value. Use the PDF.co Info Tool or the Get PDF Info PDF.co step for field names in PDF forms. | Fill at least one |
| Output PDF Name | Name of the output PDF file. | No |
| Allow Empty Text and Image Objects | Enable to process text objects and images even with empty URLs. | No |
| Auto-trim Input Values | Automatically removes leading/trailing spaces and line breaks from input text values. | No |
| Template Data | Input data in JSON format that can be used within annotations and fields. | No |
| Custom Profiles | A JSON string which adds options for the conversion process. See Custom Profiles for more. | No |
Data Format and Examples
Text Annotations
This parameter represents one or more text objects to add to a PDF. Each text object is made of a parameter separated by the ; symbol. It uses the format:x;y;pages;text;fontSize;fontName;fontColor;link;transparent;width;height;alignment
EXAMPLE Sample code
Adds a text annotation, which links towww.pdf.co, to the 20,20 coordinate of all pages in a document (by using: 0-). The text annotation uses the Arial font in red (by using FF0000) with a font size of 24. It has a transparent background, a defined 300 by 200 bounding box and with text aligned to the right.EXAMPLE Sample code
Where24 is the font size. You can also add styles along with the font size using the following modifiers:+bold+italic+underline+strikeout
EXAMPLE Sample code
Another example withbold, italic, underline and strikeout styles would be as follows:EXAMPLE Sample code
To put multiple objects, just use the| separator between objects.\n or {{$$newLine}}.Image Embeds
Each image or PDF object can be defined as:x;y;pages;urlToImageOrPDF;linkToOpen;width;height
EXAMPLE Sample code
You can also use a base64 datauri embedded image or a
filetoken:// link to a file from PDF.co Built-In Files Storage.
Fillable Form Fields
To fill fields in a PDF form, use the formatpage;fieldName;value.
To define the font name, size and style for the form input, use the following schema:
page;fieldName;Field Text;size+bold+italic+underline+strikeout;FontName
EXAMPLE Sample code
Source PDF URL & Google
When using Google Drive, it’s typically recommended to choose the File option. For more advanced file integration techniques, see Integrating File Sources with pdf.co.

Output
| Name | Description |
|---|---|
url | The temporary URL on the PDF.co file server. |
outputLinkValidTill | A timestamp which indicates how long the url will be available for. |
error | Details of any errors (if any). |
status | The response status code. If all good this will be 200. |
name | The name of the file. |
jobId | The unique identifier for the job. |
credits | The credits spent on the process. |
remainingCredits | The credits left on your account. |
duration | The time it took for the process. |
Custom profiles
Use Custom Profiles to enhance your workflow with additional processing options. EnterJSON configuration to customize OCR settings, output format, text extraction methods, and more.

Sample JSON
| Parameter | Type | Default | Description |
|---|---|---|---|
outputDataFormat | string | - | If you require your output as base64 format, set this to base64 |
Pages[0].SetCropBox() | array[string] | - | Crop a PDF file using an array to define the crop area. The crop box is defined by a rectangle [x, y, width, height] in PDF points (1 Point = 1/72 inches). |
DisableLigatures | boolean | false | To disable ligaturization, for example for Hebrew, use the following: |
FlattenDocument() | boolean | false | Flattening a document renders it as read-only. Handy if you want to remove editing or copying capability. |
DataEncryptionAlgorithm | string | - | Controls the encryption algorithm used for data encryption. See User-Controlled Encryption for more information. The available algorithms are: AES128, AES192, AES256. |
DataEncryptionKey | string | - | Controls the encryption key used for data encryption. See User-Controlled Encryption for more information. |
DataEncryptionIV | string | - | Controls the encryption IV used for data encryption. See User-Controlled Encryption for more information. |
DataDecryptionAlgorithm | string | - | Controls the decryption algorithm used for data decryption. See User-Controlled Encryption for more information. The available algorithms are: AES128, AES192, AES256. |
DataDecryptionKey | string | - | Controls the decryption key used for data decryption. See User-Controlled Encryption for more information. |
DataDecryptionIV | string | - | Controls the decryption IV used for data decryption. See User-Controlled Encryption for more information. |