Add a Text Watermark to PDFs and Save Them to Amazon S3 with PDF.co and Zapier

In this tutorial, you will create a Zap that automatically adds a text watermark to new PDF files uploaded to Google Drive and saves the processed files to an Amazon S3 bucket.

The completed workflow consists of three main applications:

  1. Google Drive monitors a folder for new PDF files.
  2. PDF.co adds a text watermark to each PDF.
  3. Amazon S3 stores the watermarked PDF.

What You Will Need

Before starting, make sure you have:

  • A Zapier account
  • A Google Drive account
  • A PDF.co account
  • An Amazon Web Services account
  • An existing Amazon S3 bucket
  • A sample PDF file

Amazon S3 is a Premium Zapier application, so your Zapier plan must support Premium apps.

Step 1: Prepare the Source Folder

Create a folder in Google Drive for the PDF files you want to process.

Upload a sample PDF to this folder. Zapier will use the sample file when testing the trigger and subsequent actions.

Step 2: Create a New Zap

Sign in to Zapier and select Create Zap.

Give the Zap a descriptive name, such as:

Add PDF Watermark and Save to Amazon S3

Step 3: Configure the Google Drive Trigger

Select Google Drive as the trigger application.

Choose New File in Folder as the trigger event.

Connect your Google Drive account and configure the following fields:

  • Drive: Select the Google Drive containing your source folder.
  • Folder: Select the folder you prepared for incoming PDF files.
  • Include Deleted Files: Select No.
  • Include Subfolders: Enable this only if PDFs stored in subfolders should also be processed.

Test the trigger. Zapier should return information about the sample PDF, including its name, MIME type, and file data or download URL.

Optional: Process Only PDF Files

If the Google Drive folder may contain other file types, add a Zapier Filter step after the trigger.

Configure the filter to continue only when the file’s MIME type is:

application/pdf

This prevents images, documents, and other unsupported files from being sent through this workflow.

Step 4: Add the PDF.co Action

Add a new action and select PDF.co.

Choose Add Text to PDF as the action event. This is the dedicated PDF.co action for placing text, labels, and watermarks on PDF pages. View the current PDF.co actions available in Zapier.

When prompted to select an account, choose Add a new account, sign in to PDF.co, and authorize Zapier to access your PDF.co account.

Configure the action as follows:

  • Source File URL: Map the downloadable PDF file or file URL returned by Google Drive.
  • Text to Add: Enter the watermark text, such as CONFIDENTIAL, DRAFT, or FOR INTERNAL USE.
  • X Coordinate: Enter the horizontal location of the watermark.
  • Y Coordinate: Enter the vertical location of the watermark.

PDF coordinates start at the upper-left corner of the page. The X coordinate moves the text to the right, while the Y coordinate moves it downward.

To determine the correct coordinates, open PDF Inspector from your PDF.co dashboard, load a representative PDF, and inspect the desired watermark position.

Configure the Watermark Appearance

Open the action’s advanced options and configure the watermark’s appearance as needed. Available settings may include:

  • Pages: Enter 0- to apply the watermark to every page.
  • Font Name: Enter a supported font such as Arial.
  • Font Size: Choose an appropriate size, such as 48.
  • Font Color: Enter a hexadecimal color value.
  • Rotation Angle: Use an angle such as -45 for a diagonal watermark.
  • Output Filename: Enter a name such as watermarked-document.pdf.

When setting the font size, also specify a font name so the requested size is applied correctly.

PDF.co supports transparency through an eight-character hexadecimal color value in AARRGGBB format, where AA controls opacity. For example, 80B0B0B0 produces partially transparent gray text. See the PDF.co Add Text and Images documentation for supported options.

Test the action. PDF.co should return a URL for the watermarked PDF.

Open the returned URL and confirm that:

  • The watermark appears on the intended pages.
  • Its position is correct.
  • The text is readable.
  • Its size, color, transparency, and rotation meet your requirements.

Adjust the PDF.co settings and test again if necessary.

Step 5: Upload the Watermarked PDF to Amazon S3

Add another action and select Amazon S3.

Choose Upload File as the action event. View the Amazon S3 integration in Zapier.

Connect the AWS account that has permission to upload objects to your target S3 bucket.

Configure the action:

  • Bucket Name: Select the destination S3 bucket.
  • Key: Enter the destination folder and filename, such as watermarked/watermarked-document.pdf.
  • Keep Leading Slash: Leave this disabled unless your object key intentionally begins with a slash.
  • File: Map the output URL returned by the PDF.co action.
  • MIME Type: Enter application/pdf.

You can construct a dynamic key using values from Google Drive. For example:

watermarked/{{Google Drive File Name}}

Make sure the resulting filename ends with .pdf.

If files with the same name may be processed more than once, include a unique value such as the Google Drive file ID or the Zap execution timestamp in the S3 key. This prevents a newer file from overwriting an existing object.

Test the Amazon S3 action. Zapier should upload the watermarked PDF to the selected bucket.

Step 6: Verify the S3 Object

Open the Amazon S3 console and navigate to the selected bucket.

Locate the newly uploaded PDF and verify that:

  • The object appears under the expected key.
  • Its content type is application/pdf.
  • The file opens successfully.
  • The watermark is present and correctly formatted.

Step 7: Publish the Zap

After every step tests successfully, publish the Zap.

Upload another PDF to the monitored Google Drive folder and allow the Zap to run. The new file should be watermarked by PDF.co and uploaded automatically to Amazon S3.

Optional: Create an Audit Log

If you need a record of processed files, add a Google Sheets Create Spreadsheet Row action after the Amazon S3 step.

You can record values such as:

  • Processing date and time
  • Original filename
  • Google Drive file ID
  • PDF.co output URL
  • Amazon S3 bucket
  • Amazon S3 object key
  • Processing status

This creates a searchable audit log without affecting the main document-processing workflow.

Troubleshooting

PDF.co Cannot Download the Google Drive File

Make sure the Source File URL field contains downloadable file data or a direct download URL from Google Drive. A browser preview-page URL may not provide PDF.co with access to the file.

If necessary, add a Google Drive download action before PDF.co and map the downloaded file into the PDF.co step.

The Watermark Appears on Only One Page

Set the page range to:

0-

This applies the text to every page, using PDF.co’s zero-based page numbering.

The Font Size Is Not Applied

Specify both a font name and a font size. For example:

  • Font Name: Arial
  • Font Size: 48

The Watermark Is Too Dark

Use an eight-character hexadecimal color with an alpha value. Lower alpha values create a more transparent watermark.

Amazon S3 Receives the Wrong Content

Map the PDF.co result URL into Amazon S3’s File field. Do not map the complete PDF.co response object.

Also set the MIME type to:

application/pdf

A Previously Processed File Is Overwritten

Include a unique identifier or timestamp in the Amazon S3 object key.

The PDF.co Output URL Has Expired

PDF.co output URLs are temporary. Keep the Amazon S3 upload immediately after the PDF.co action so Zapier downloads and stores the result during the same workflow execution.

Conclusion

You have created an automated workflow that monitors Google Drive for new PDF files, adds a customizable text watermark with PDF.co, and stores the finished documents in Amazon S3.

The workflow can be adapted for confidential labels, draft markings, copyright notices, customer identifiers, approval statuses, or other text that must be applied consistently across PDF documents.

Related Tutorials

See Related Tutorials