General
This section contains general information about PDF.co functionality and features that span multiple categories.
How to Avoid Error When URL to Image for Adding into PDF is Empty
You’re trying to add an image into a PDF, but sometimes the image URL is optional or missing. This can cause your workflow to break unexpectedly.
Why This Happens
PDF.co requires a valid image URL when inserting an image into a PDF. If the URL is empty or null, it throws an error. This usually happens in workflows where image input is optional—for example, generating certificates or forms that may or may not include a photo or logo.
How to Handle Missing Image URLs
To avoid the error, follow these two steps:
-
Check If the Image Is Required Before sending the image to PDF.co, add a check to see whether the image input is present or necessary.
-
Use a Transparent Placeholder
If the image is not required or empty, replace the URL with a placeholder image:
This is a 1x1 pixel transparent image that ensures the PDF generation continues smoothly without visual impact.
Platform-Specific Related Resources
Integromat/Make:
Use built-in conditional functions to dynamically insert the placeholder when the original image URL is missing.
Helpful Tips
- Always validate optional file inputs before passing them to PDF.co.
- Use placeholders for any optional image field to ensure uninterrupted PDF creation.
- Placeholder images are ideal for forms, certificates, or dynamic templates.
Still Need Help? Contact Support
To get quicker support, please include the following:
- What you’re trying to do (e.g., insert optional image into PDF)
- Your platform (API, Zapier, Make, etc.)
- Input data or URLs you’re using
- Any error messages or unexpected behavior
- Screenshots or a short description of your setup
Custom Fonts
How Can I Use Custom Fonts with PDF.co?
If you’re aiming to use a specific font in your PDF output and it’s not among the default options, here’s how you can incorporate custom fonts into your PDF.co workflows.
Supported Methods for Custom Fonts
PDF.co supports the use of custom fonts through the HTML to PDF and HTML Template to PDF APIs. There are two primary methods to include custom fonts:
- Google Fonts Integration
Utilize fonts available onGoogle Fonts . Include them in your HTML using the standard @import or <link> methods. - Embedding Fonts via CSS
Host your custom font files (e.g., .ttf, .woff) on a server and reference them in your HTML using @font-face in your CSS. For guidance, refer to thisStackOverflow discussion .
Note:_ Due to security and licensing considerations, PDF.co cannot host third-party fonts on its servers._
Steps to Implement Custom Fonts
- Prepare Your HTML Template
Incorporate the desired font using one of the methods above. - Use the HTML to PDF API
Send your HTML content to PDF.co’s HTML to PDF API endpoint. - Verify the Output
Ensure the generated PDF reflects the custom font as intended.
Additional Considerations
- Font Licensing: Ensure you have the appropriate rights to use and distribute the custom fonts in your documents.
- Font Hosting: For optimal performance and reliability, host your custom fonts on a stable and accessible server.
Fonts available for PDF Filling and Adding Text to PDF with pdf/edit/add
PDF.co Font List
Japanese Fonts
Chinese Fonts
Korean Fonts
Hebrew Fonts
Arabic Fonts
Output File Access & Expiration
Where can I find the PDF.co output in Zapier?
The PDF.co output is temporary and expires after an hour by default. The expiration can be extended in the Business plan.
We recommend that you add a third step in your Zap to save the PDF output to a permanent cloud storage such as Google Drive, Dropbox, or similar.
Here’s a step-by-step guide on how to set it up. It starts at Step 6: https://pdf.co/make-pdf-searchable-and-upload-in-google-drive#6.
If you’d like to review the generated output, please check out Step 5 here: https://pdf.co/make-pdf-searchable-and-upload-in-google-drive#5.
Who can access the pdf-temp-files
, and how long are files stored?
The pdf-temp-files
storage is a private Amazon S3 bucket that utilizes strong industry-standard encryption at rest. Uploaded and output files are temporarily stored in this bucket under highly randomized names generated using a secure random generator. Each file is set to expire in 60
minutes by default and is automatically deleted permanently from the bucket upon expiration. Depending on your subscription plan, you may increase the expiration timeout from 5
minutes to 1440
minutes (1,440 minutes = 24 hours) using the expiration
parameter. You may also remove a file directly using the file/delete
endpoint at any time.
Since the pdf-temp-files
storage is a private bucket, files are accessed via a special “signed” link using the Amazon AWS powered signed links mechanism. This mechanism provides an additional layer of security when accessing the file.
The pdf-temp-files
bucket is not included in any backups. Only our engineers have temporary access to this bucket, and 2FA is enforced and required for access. Each access session to the storage is automatically logged, and information about the files’ relation to a specific user is stored separately in a different database.
For additional encryption of the file content, you may utilize user-controlled encryption. This feature provides a way to encrypt output file content with your own encryption option using industry-standard AES encryption, which is supported by all platforms, including Salesforce and others.
How to increase output link expiration
The output link expires in 1 hour by default. This can be extended up to 24 hours in Business 2 and Business 3 plans. For more information, please visit the Subscription page.
To extend the output link expiration, please add the expiration parameter in your code with value set in minutes. Setting the expiration value to 1440 will generate an output link that expires after 24 hours.
How to change output link expiration on Zapier
On Zapier, please open your PDF.co action setup and look for the Output links expiration field. The default value is 60 minutes. You can change the value up to 1440 minutes.
How to change output link expiration on Make
On Make, please open your PDF.co module and look for the Output links expiration field. The default value is 60 minutes. You can change the value up to 1440 minutes.
I Want to White Label the Output Download Link
You’re trying to create a custom or permanent download link instead of using the default PDF.co link—which appears temporary or random-looking.
Why This Happens
PDF.co-generated output links are temporary and use randomized filenames for security and privacy reasons. This ensures that output files are not publicly accessible indefinitely or guessable via predictable URLs.
How to Create a Permanent (White-Labeled) Link
To make the download link permanent and branded (white-labeled), you need to store the output in your own cloud storage, such as Google Drive or Dropbox.
Here’s how you can do it in two steps:
- Generate the Output File
- Use any PDF.co module (e.g., convert, generate, edit) to create your file.
- This will give you a temporary PDF.co URL.
- Store the Output File in Cloud Storage
- Add a Google Drive or Dropbox step right after the PDF.co step in your workflow (e.g., in Zapier or Make).
- Use the output URL from PDF.co as the source file.
- The file will be stored in your own storage with a permanent or branded link.
Example: Upload to Google Drive Using Zapier
After generating a PDF using PDF.co:
- Add a Google Drive action: “Upload File.”
- Set the file source to the PDF.co output URL.
- Choose the desired folder and filename.
- The uploaded file will now have a shareable, white-labeled link hosted under your Drive.
Try it here: How to Upload File to Google Drive Using Zapier
Helpful Tips
- Use your own storage to control link branding and expiration.
- Always select the PDF.co output URL as the input when transferring to storage.
- Check file-sharing settings in your storage provider to make the link public or restricted as needed.
Still Need Help? Contact Support
To assist you faster, please send us:
- What you’re trying to do
- Your platform (API, Zapier, Make, etc.)
- Any input/output files or links you’re using
- The issue or error message you saw
- A screenshot or brief description of the problem
Background Job Check
How to Run a Background Job (Async Mode)
Need to process large files or long-running tasks? Use async mode to run the job in the background.
Why Use Async Mode?
- Required for files or tasks that take more than 30 seconds
- Handles large files (processing time up to 45 minutes)
- Prevents timeout errors
How It Works
When you set async: true
, the API:
- Starts a background job
- Immediately returns a jobId
- You check the job’s status until it’s done
- You download the file from the provided URL once completed
Step-by-Step Guide
Add the async: true
parameter in your API call.
Example:
The API response includes:
Save the jobId for the next step.
Call /job/check
with the jobId:
Repeat until the status = “success”.
Recommended check intervals:
- 1–2 seconds for small files
- 10–15 seconds for large files
Example status response:
- Download the file
Once status = “success”, use the URL from the first response to download the result.
Helpful Tips
- Always use async mode for large PDFs or complex operations
- Avoid checking too frequently on big files → space checks by 10–15 seconds
Still Need Help? Contact Support
Send us the following to speed up troubleshooting:
- Your platform (API, Zapier, Make, etc.)
- Input files, URLs, or sample payloads
- Any error messages you received
- Screenshots or brief explanation of what went wrong