---
title: PDFSelection
framework: pdfkit
role: symbol
role_heading: Class
path: pdfkit/pdfselection
---

# PDFSelection

A PDFSelection object identifies a contiguous or noncontiguous selection of text in a PDF document.

## Declaration

```swift
class PDFSelection
```

## Topics

### Initializing a Selection

- [init(document:)](pdfkit/pdfselection/init(document:).md)

### Getting Information About a Selection

- [pages](pdfkit/pdfselection/pages.md)
- [string](pdfkit/pdfselection/string.md)
- [attributedString](pdfkit/pdfselection/attributedstring.md)
- [bounds(for:)](pdfkit/pdfselection/bounds(for:).md)
- [selectionsByLine()](pdfkit/pdfselection/selectionsbyline().md)
- [color](pdfkit/pdfselection/color.md)

### Modifying a Selection

- [add(_:)](pdfkit/pdfselection/add(_:)-8c2r.md)
- [add(_:)](pdfkit/pdfselection/add(_:)-3fyld.md)
- [extend(atEnd:)](pdfkit/pdfselection/extend(atend:).md)
- [extend(atStart:)](pdfkit/pdfselection/extend(atstart:).md)

### Managing Selection Drawing

- [draw(for:active:)](pdfkit/pdfselection/draw(for:active:).md)
- [draw(for:with:active:)](pdfkit/pdfselection/draw(for:with:active:).md)
- [color](pdfkit/pdfselection/color.md)

### Instance Methods

- [extendForLineBoundaries()](pdfkit/pdfselection/extendforlineboundaries().md)
- [numberOfTextRanges(on:)](pdfkit/pdfselection/numberoftextranges(on:).md)
- [range(at:on:)](pdfkit/pdfselection/range(at:on:).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)
- [PDFPage](pdfkit/pdfpage.md)
- [PDFOutline](pdfkit/pdfoutline.md)
