---
title: "PDF stamp annotation on iOS: Draft, copy, approved | Nutrient"
canonical_url: "https://www.nutrient.io/guides/ios/annotations/stamp-annotations-configuration/"
md_url: "https://www.nutrient.io/guides/ios/annotations/stamp-annotations-configuration.md"
last_updated: "2026-06-09T10:32:42.804Z"
description: "Learn how to personalize stamp annotations in Nutrient using Swift and Objective-C. Enhance your app with custom stamps effortlessly!"
---

# PDF stamp annotations on iOS

Nutrient supports stamp annotations, which you can customize to your liking. To change the default set of stamp annotations available for your application, use the [`defaultStampAnnotations`](https://www.nutrient.io/api/ios/documentation/pspdfkitui/stampviewcontroller/defaultstampannotations) class property on [`StampViewController`](https://www.nutrient.io/api/ios/documentation/pspdfkitui/stampviewcontroller):

### SWIFT

```swift

var stamps = [StampAnnotation]()
let stampNames = ["Great!", "Stamp", "Like"]

for name in stampNames {
    let stampAnnotation = StampAnnotation(title: name.uppercased())
    let suggestedSize = stampAnnotation.sizeThatFits(CGSize(width: 200, height: 100))
    stampAnnotation.boundingBox = CGRect(x: 0, y: 0, width: suggestedSize.width, height: suggestedSize.height)
    stamps.append(stampAnnotation)
}
StampViewController.defaultStampAnnotations = stamps

```

### OBJECTIVE-C

```objc

NSMutableArray<PSPDFStampAnnotation *> *stamps = [[NSMutableArray alloc] init];
NSArray<NSString *> *stampNames = @[@"Great!", @"Stamp", @"Like"];

for (NSString *name in stampNames) {
    PSPDFStampAnnotation *stampAnnotation = [[PSPDFStampAnnotation alloc] initWithSubject:name.uppercaseString];
    CGSize suggestedSize = [stampAnnotation sizeThatFits:CGSizeMake(200.f, 100.f)];
    stampAnnotation.boundingBox = CGRectMake(0, 0, suggestedSize.width, suggestedSize.height);
    [stamps addObject:stampAnnotation];
}
[PSPDFStampViewController setDefaultStampAnnotations:stamps];

```![Custom Stamps](https://www.nutrient.io/@/assets/guides/ios/annotations/stamp-annotations-configurations/custom-stamps.png)

## Default stamp annotations

Nutrient comes with some out-of-the-box stamp annotations available in the stamp picker dialog.![Default Stamps](https://www.nutrient.io/@/assets/guides/ios/annotations/stamp-annotations-configurations/default-stamps.png)

When [`customStampEnabled`](https://www.nutrient.io/api/ios/documentation/pspdfkitui/stampviewcontroller/customstampenabled) is set to `true` (this is the default), we enable the creation of custom stamps that the user can generate at runtime, and we add them to the [`StampViewController`](https://www.nutrient.io/api/ios/documentation/pspdfkitui/stampviewcontroller).

## Image stamp annotations

Nutrient supports stamp annotations generated from a bitmap image. These annotations with supplied bitmaps cannot have localized subjects, subtext, or text colors. Use the [`image`](https://www.nutrient.io/api/ios/documentation/pspdfkit/stampannotation/image) property on [`StampAnnotation`](https://www.nutrient.io/api/ios/documentation/pspdfkit/stampannotation) to create a builder for bitmap stamp annotations:

### SWIFT

```swift

stamp.image = UIImage(named: "exampleimage.jpg")

```

### OBJECTIVE-C

```objc

stamp.image = [UIImage imageNamed:@"exampleimage.jpg"];

```

## Vector stamp annotations

Nutrient supports stamp annotations generated with an appearance stream. Use the [`appearanceStreamGenerator`](https://www.nutrient.io/api/ios/documentation/pspdfkit/annotation/appearancestreamgenerator) property on [`StampAnnotation`](https://www.nutrient.io/api/ios/documentation/pspdfkit/stampannotation) to create a builder for vector stamp annotations:

### SWIFT

```swift

// Create the URL of the appearance stream that uses a PDF file.
let samplesURL = Bundle.main.resourceURL!.appendingPathComponent("Samples")
let logoURL = samplesURL.appendingPathComponent("PSPDFKit Logo.pdf")

stamp.appearanceStreamGenerator = FileAppearanceStreamGenerator(fileURL: logoURL)

```

### OBJECTIVE-C

```objc

// Create the URL of the appearance stream that uses a PDF file.
NSURL *samplesURL = [NSBundle.mainBundle.resourceURL URLByAppendingPathComponent:@"Samples"];
NSURL *logoURL = [samplesURL URLByAppendingPathComponent:@"PSPDFKit Logo.pdf"];

stamp.appearanceStreamGenerator = [[PSPDFFileAppearanceStreamGenerator alloc] initWithFileURL:logoURL];

```

See our [appearance streams](https://www.nutrient.io/../../annotations/appearance-streams) guide for more information on how to programmatically add vector stamp annotations. And take a look at `CustomStampAnnotationsExample` inside the Catalog app, which shows how to create a different set of default stamp annotations.
---

## Related pages

- [Custom image stamp annotations on iOS](/guides/ios/annotations/image-annotations.md)

