apyhub-logo

Apply Watermark and Footers on PDF API

200 atoms
Base tier

About

This API lets you add headers, footers and watermarks to your PDF files.
You can get started by providing the text or PNG image that you would like to have as a header, footer, and watermark and additionally, you can control the watermark size and opacity of the watermark. Currently, the API supports more than 50 languages for text.
Using an API to add headers, footers and watermarks to PDF files can offer additional benefits such as file consistency, document customization, error reduction, scalability, and integration with other applications or services. This can save time, reduce errors, and provide flexibility for branding and adding context to documents.
Try out the API in the API playground and see how this API can help you save time, reduce watermark errors, and add context and branding elements to the footers of documents for free through a simple API call.
Currently we support more than 50 languages for text in this utility.
Supported Languages: Esperanto, English, Russian, Mandarin, Spanish, Portuguese, Italian, Bengali, French, German, Ukrainian, Georgian, Arabic, Hindi, Japanese, Hebrew, Yiddish, Polish, Javanese, Korean, Bokmal, Danish, Swedish, Finnish, Turkish, Dutch, Hungarian, Czech, Greek, Bulgarian, Belarusian, Marathi, Kannada, Romanian, Slovene, Croatian, Serbian, Macedonian, Lithuanian, Latvian, Estonian, Tamil, Vietnamese, Urdu, Thai, Gujarati, Uzbek, Punjabi, Azerbaijani, Indonesian, Telugu, Malayalam, Hausa, Oriya, Burmese, Bhojpuri, Maithili, Oromo, Kurdish, Malagasy, Saraiki, Nepali, Sinhalese, Khmer, Turkmen, Somali, Akan, Zulu, Haitian Creole, Africaans
Select API Endpoints
Input
Output

API Playground

API Documentation

input file: output file
POST
https://api.apyhub.com/stamp/pdf/watermark-footers/file

Request example

1
curl --location --request POST 'https://api.apyhub.com/stamp/pdf/watermark-footers/file?output=test-sample' \
2
--header 'apy-token: {{token}}' \
3
--form 'file= @"sample.pdf"'
4
--form 'header_text="ApyHub Header"'
5
--form 'footer_text="ApyHub Footer"'
6
--form 'watermark_image= @"sample.png"'
Method: POST
Content Type: multipart/form-data
Query Parameter(s)
AttributeTypeMandatoryDescription
outputStringNoThe name of the output file, defaults to test-sample.pdf
Request Body
AttributeTypeMandatoryDescription
fileFileYesThe source pdf file
header_textStringYes (if header_image not given)The text which you want to add as Header. If header_text and header_image both are present in the request then header_text will be applied.
footer_textStringYes (if footer_image not given)The text which you want to add as Footer. If footer_text and footer_image both are present in the request then footer_text will be applied.
header_opacityFloatNoThe level of transparency for header you want to keep from 0 to 1, defaults to 1
footer_opacityFloatNoThe level of transparency for footer you want to keep from 0 to 1, defaults to 1
header_font_sizeNumberNoThe font size of Header text from 8 to 24, defaults to 12
footer_font_sizeNumberNoThe font size of Footer text from 8 to 24, defaults to 12
header_alignmentStringNoThe alignment of the Header - can have the values 'left', 'right', or 'center', with the default being center.
footer_alignmentStringNoThe alignment of the Footer - can have the values 'left', 'right', or 'center', with the default being center.
header_imageFileYes (if header_text not given)The png image file which you want to add as Header. If header_text and header_image both are present in the request then header_text will be applied.
footer_imageFileYes (if footer_text not given)The png image file which you want to add as Footer. . If footer_text and footer_image both are present in the request then footer_text will be applied.
watermark_textStringYes (if watermark_image not given)The text which you want to add as watermark. If watermark_text and watermark_image both are given then watermark_text will be applied.
watermark_opacityFloatNoThe level of transparency for watermark you want to keep from 0 to 0.5, defaults to 0.3
watermark_font_sizeNumberNoThe font size of watermark text, defaults to 32, minimum watermark_font_size which user can provide is 8
watermark_angleNumberNoThe degree at which you want to set watermark text, defaults to 0
watermark_imageFileYes (if watermark_text not given)The png image file which you want to add as watermark. If watermark_text and watermark_image both are given then watermark_text will be applied.
watermark_image_sizeFloatNoThe size of the image watermark you want to set from 0.1 to 1, where 1 is considered as 100% of page width , defaults to 0.3
header_image_sizeFloatNoThe size of the image header you want to set from 0.1 to 1, defaults to 0.1
footer_image_sizeFloatNoThe size of the image footer you want to set from 0.1 to 1, defaults to 0.1
Sample Response
A successful request returns the pdf file in the output parameter specified. If the request fails, the response contains an error code and a message to help determine what went wrong.

HTTP Response Codes

The method may return one of the following HTTP status codes:
Status CodeDescription
200The request was successful.
400Invalid input - the pdf file is corrupt or the supported inputs are not provided.
401Required authentication information is either missing or not valid for the resource.
500If any unexpected error occurs while processing the request.

Authentication

All API requests to ApyHub services need to be authenticated. Currently we support tokens or basic authentication mechanisms. You can generate and view your existing credentials from your workspace settings (on the left side of the navbar) and go to “API Keys".
Points to note:
  • Credential secrets are generated on the fly and are not stored in plain text, so on generating a credential please save the secrets somewhere safe.
  • Use the apy-token as the header parameter to pass the token.
  • Use the Authorization header to send the basic authentication credentials.

Error codes

1
{
2
"error": {
3
"code": 105,
4
"message": "Invalid URL"
5
}
6
}
To search for a specific error code, enter the code in the search box below. Alternatively, you can click on the button to view a complete list of all error codes.