Add a text watermark to a PDF
Use this action to personalize a PDF document with a text watermark.
Endpoints
POST https://api.pdfblocks.com/v1/add_watermark/text
Global endpoint (default)
POST https://eu.api.pdfblocks.com/v1/add_watermark/text
European-only endpoint
Parameters
The endpoint accepts multipart/form-data
request bodies with the folowing parameters:
file Required
The content of the input PDF document
line_1 Required
The first line of text of the watermark
- The maximum length is 32 characters
line_2 optional
The second line of text of the watermark
- The maximum length is 32 characters.
line_3 optional
The third line of text of the watermark
- The maximum length is 32 characters
template optional
An integer with the id of the text watermark template
- See available text watermark templates
- The default value is
1001
color optional
The color of the text watermark
- Valid values are
Red
,Blue
,Gray
, andBlack
- The default value is
Gray
transparency optional
An integer with the transparency level for the text watermark from 0 (opaque) to 100 (transparent)
- Integer value between
0
and100
- The default value is
75
margin optional
A decimal value with the distance in inches from the border of the page to the text watermark.
- Decimal value greater than
0.0
- The default value is
1.0
Returns
If successful, the call returns a response with Content-Type: application/pdf
with the content of the watermarked PDF document. Otherwise, this call returns an error.
Code examples
curl
curl \
-F file=@input.pdf \
-F line_1='Jane Doe' \
-F line_2='ACME, Inc' \
-F line_3='Confidential' \
-F template=1001 \
-F color=Gray \
-F transparency=75 \
-F margin=1.0 \
-o watermarked.pdf \
-H 'X-Api-Key: your_api_key' \
https://api.pdfblocks.com/v1/add_watermark/text
Python
# pip install requests
import requests
url = 'https://api.pdfblocks.com/v1/add_watermark/text'
body = {
'file' : open('input.pdf', 'rb'),
'line_1' : 'Jane Doe',
'line_2' : 'ACME, Inc',
'line_3' : 'Confidential',
# 'template' : 1001,
# 'color' : 'Gray',
# 'transparency' : 75,
# 'margin' : 1.0,
}
headers = { 'X-Api-Key' : 'your_api_key' }
response = requests.post(url, files=body, headers=headers)
if response.status_code == 200:
with open('watermarked.pdf', 'wb') as output:
for chunk in response.iter_content():
output.write(chunk)
Ruby
# gem install http
require 'http'
url = 'https://api.pdfblocks.com/v1/add_watermark/text'
body = {
file: HTTP::FormData::File.new('input.pdf'),
line_1: 'Jane Doe',
line_2: 'ACME, Inc',
line_3: 'Confidential',
# template: 1001,
# color: 'Gray',
# transparency: 75,
# margin: 1.0,
}
headers = { 'X-Api-Key' => 'your_api_key' }
response = HTTP.post(url, form: body, headers: headers)
if response.status.ok?
File.open('watermarked.pdf', 'wb') do |output|
response.body.each { |chunk| output.write(chunk) }
end
end
C# (.NET Core)
// Using .NET Core 3.1
using System.IO;
using System.Net.Http;
class Program
{
static void Main()
{
string url = "https://api.pdfblocks.com/v1/add_watermark/text";
var inputFile = new FileStream("input.pdf", FileMode.Open, FileAccess.Read);
var body = new MultipartFormDataContent();
body.Add(new StreamContent(inputFile), "file");
body.Add(new StringContent("Jane Doe"), "line_1");
body.Add(new StringContent("ACME, Inc"), "line_2");
body.Add(new StringContent("Confidential"), "line_3");
// body.Add(new StringContent("1001"), "template");
// body.Add(new StringContent("Gray"), "color");
// body.Add(new StringContent("75"), "transparency");
// body.Add(new StringContent("1.0"), "margin");
var message = new HttpRequestMessage(HttpMethod.Post, url);
message.Content = body;
message.Headers.Add("X-Api-Key", "your_api_key");
var client = new HttpClient();
var response = client.SendAsync(message).Result;
if(response.IsSuccessStatusCode)
{
using var output = new FileStream("watermarked.pdf", FileMode.Create, FileAccess.Write);
response.Content.CopyToAsync(output).Wait();
}
}
}