---
title: PDFPage
framework: pdfkit
role: symbol
role_heading: Class
path: pdfkit/pdfpage
---

# PDFPage

PDFPage, a subclass of NSObject, defines methods used to render PDF pages and work with annotations, text, and selections.

## Declaration

```swift
class PDFPage
```

## Mentioned in

Adding Custom Graphics to a PDF

## Overview

Overview PDFPage objects are flexible and powerful. With them you can render PDF content onscreen or to a printer, add annotations, count characters, define selections, and get the textual content of a page as an NSString object. Your application instantiates a PDFPage object by asking for one from a PDFDocument object. For simple display and navigation of PDF documents within your application, you don’t need to use PDFPage. You need only use PDFView.

## Topics

### Initializing a Page

- [init(image:)](pdfkit/pdfpage/init(image:).md)

### Getting Information About a Page

- [document](pdfkit/pdfpage/document.md)
- [label](pdfkit/pdfpage/label.md)
- [bounds(for:)](pdfkit/pdfpage/bounds(for:).md)
- [setBounds(_:for:)](pdfkit/pdfpage/setbounds(_:for:).md)
- [rotation](pdfkit/pdfpage/rotation.md)

### Working with Annotations

- [annotations](pdfkit/pdfpage/annotations.md)
- [displaysAnnotations](pdfkit/pdfpage/displaysannotations.md)
- [addAnnotation(_:)](pdfkit/pdfpage/addannotation(_:).md)
- [removeAnnotation(_:)](pdfkit/pdfpage/removeannotation(_:).md)
- [annotation(at:)](pdfkit/pdfpage/annotation(at:).md)

### Rendering Pages

- [draw(with:)](pdfkit/pdfpage/draw(with:).md)
- [transformContext(for:)](pdfkit/pdfpage/transformcontext(for:).md)

### Working with Textual Content

- [numberOfCharacters](pdfkit/pdfpage/numberofcharacters.md)
- [string](pdfkit/pdfpage/string.md)
- [attributedString](pdfkit/pdfpage/attributedstring.md)
- [characterBounds(at:)](pdfkit/pdfpage/characterbounds(at:).md)
- [characterIndex(at:)](pdfkit/pdfpage/characterindex(at:).md)

### Working with Selections

- [selection(for:)](pdfkit/pdfpage/selection(for:)-2ckpi.md)
- [selectionForWord(at:)](pdfkit/pdfpage/selectionforword(at:).md)
- [selectionForLine(at:)](pdfkit/pdfpage/selectionforline(at:).md)
- [selection(from:to:)](pdfkit/pdfpage/selection(from:to:).md)
- [selection(for:)](pdfkit/pdfpage/selection(for:)-20y9d.md)

### Supporting Types

- [PDFDisplayBox](pdfkit/pdfdisplaybox.md)
- [PDFDisplayDirection](pdfkit/pdfdisplaydirection.md)

### Type Aliases

- [PDFPage.ImageInitializationOption](pdfkit/pdfpage/imageinitializationoption.md)

### Initializers

- [init()](pdfkit/pdfpage/init().md)
- [init(image:options:)](pdfkit/pdfpage/init(image:options:).md)

### Instance Properties

- [dataRepresentation](pdfkit/pdfpage/datarepresentation.md)
- [pageRef](pdfkit/pdfpage/pageref.md)

### Instance Methods

- [draw(with:to:)](pdfkit/pdfpage/draw(with:to:).md)
- [thumbnail(of:for:)](pdfkit/pdfpage/thumbnail(of:for:).md)
- [transform(_:for:)](pdfkit/pdfpage/transform(_:for:).md)
- [transform(for:)](pdfkit/pdfpage/transform(for:).md)

## Relationships

### Inherits From

- [NSObject](objectivec/nsobject-swift.class.md)

### Conforms To

- [CVarArg](swift/cvararg.md)
- [CustomDebugStringConvertible](swift/customdebugstringconvertible.md)
- [CustomStringConvertible](swift/customstringconvertible.md)
- [Equatable](swift/equatable.md)
- [Hashable](swift/hashable.md)
- [NSCopying](foundation/nscopying.md)
- [NSObjectProtocol](objectivec/nsobjectprotocol.md)

## See Also

### Content Model

- [PDFDocument](pdfkit/pdfdocument.md)
- [PDFOutline](pdfkit/pdfoutline.md)
- [PDFSelection](pdfkit/pdfselection.md)
