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
| Class | Description |
|---|---|
FSWatermark | Watermark from text, bitmap, image, or PDF page |
FSWatermarkSettings | Position, offset, scale, rotation, opacity, flags |
FSWatermarkTextProperties | Text font, size, color, style, line spacing, alignment |
Create watermarks
| Constructor | Source |
|---|---|
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
| Constant | Description |
|---|---|
FSWatermarkSettingsFlagASPageContents | Insert as page content |
FSWatermarkSettingsFlagASAnnot | Insert as annotation |
FSWatermarkSettingsFlagOnTop | Above page content |
FSWatermarkSettingsFlagNoPrint | Non-printable |
FSWatermarkSettingsFlagInvisible | Invisible |
FSWatermarkSettingsFlagShareImageStream | Share image stream across pages |
FSWatermarkSettingsFlagShareTextStream | Share text stream across pages |
FSWatermarkSettingsFlagSharePageStream | Share 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.