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.