Skip to content

Watermarks

Foxit PDF SDK for iOS provides watermark APIs via Core SDK for text, image, and page watermarks as page content or annotations.

Core classes

ClassDescription
FSWatermarkWatermark from text, bitmap, image, or PDF page
FSWatermarkSettingsPosition, offset, scale, rotation, opacity, flags
FSWatermarkTextPropertiesText font, size, color, style, line spacing, alignment

Create watermarks

ConstructorSource
initWithDocument:doc text:...Text
initWithDocument:doc bitmap:...Bitmap
initWithDocument:doc image:...Image
initWithDocument:doc page:...PDF page
objc
// Text watermark
[[FSWatermark alloc] initWithDocument:doc text:@"CONFIDENTIAL"
    properties:textProps settings:settings]

// Bitmap watermark
[[FSWatermark alloc] initWithDocument:doc bitmap:bitmap settings:settings]

// Image watermark
[[FSWatermark alloc] initWithDocument:doc image:image frame_index:0 settings:settings]

// Page watermark
[[FSWatermark alloc] initWithDocument:doc page:sourcePage settings:settings]

Flag constants

ConstantDescription
FSWatermarkSettingsFlagASPageContentsInsert as page content
FSWatermarkSettingsFlagASAnnotInsert as annotation
FSWatermarkSettingsFlagOnTopAbove page content
FSWatermarkSettingsFlagNoPrintNon-printable
FSWatermarkSettingsFlagInvisibleInvisible
FSWatermarkSettingsFlagShareImageStreamShare image stream across pages
FSWatermarkSettingsFlagShareTextStreamShare text stream across pages
FSWatermarkSettingsFlagSharePageStreamShare page stream across pages

Example: text watermark

objc
#import <FoxitRDK/FSPDFObjC.h>

FSPDFDoc *doc = [[FSPDFDoc alloc] initWithPath:@"path/to/Sample.pdf"];
[doc load:nil];

FSWatermarkSettings *settings = [[FSWatermarkSettings alloc] init];
[settings setPosition:FSPosCenter];
[settings setOffset_x:0];
[settings setOffset_y:0];
[settings setFlags:FSWatermarkSettingsFlagASPageContents | FSWatermarkSettingsFlagOnTop];
[settings setScale_x:1.0f];
[settings setScale_y:1.0f];
[settings setRotation:-45.0f];
[settings setOpacity:50];

FSWatermarkTextProperties *textProps = [[FSWatermarkTextProperties alloc] init];
[textProps setFont:[[FSFont alloc] initWithStandard_id:FSFontStdIDCourier]];
[textProps setFont_size:48.0f];
[textProps setColor:0xFF0000];
[textProps setFont_style:FSWatermarkTextPropertiesFontStyleNormal];
[textProps setLine_space:1];
[textProps setAlignment:FSAlignmentCenter];

FSWatermark *watermark = [[FSWatermark alloc] initWithDocument:doc
                                                          text:@"CONFIDENTIAL"
                                                    properties:textProps
                                                      settings:settings];
[watermark insertToPage:[doc getPage:0]];

[doc saveAs:@"path/to/output.pdf" saveFlags:FSPDFDocSaveFlagNormal];

API reference

See the API reference for FSWatermark, FSWatermarkSettings, and FSWatermarkTextProperties.