---
title: CGPDFScanner
framework: coregraphics
role: collectionGroup
role_heading: API Collection
path: coregraphics/cgpdfscanner
---

# CGPDFScanner

A parser object for handling content and operators in a PDF content stream.

## Overview

Overview You can set up the PDF scanner object to invoke callbacks when it encounters specific PDF operators in the stream. This object is not derived from CFType. In Objective-C, use CGPDFScannerRetain(_:) and CGPDFScannerRelease(_:) to manage the retain count of CGPDFScannerRef instances; do not use CFRetain and CFRelease.

## Topics

### Creating a PDF Scanner Object

- [CGPDFScannerCreate(_:_:_:)](coregraphics/cgpdfscannercreate(_:_:_:).md)

### Retaining and Releasing PDF Scanner Objects

- [CGPDFScannerRetain(_:)](coregraphics/cgpdfscannerretain(_:).md)
- [CGPDFScannerRelease(_:)](coregraphics/cgpdfscannerrelease(_:).md)

### Parsing Content

- [CGPDFScannerScan(_:)](coregraphics/cgpdfscannerscan(_:).md)
- [CGPDFScannerGetContentStream(_:)](coregraphics/cgpdfscannergetcontentstream(_:).md)

### Getting PDF Objects from the Scanner Stack

- [CGPDFScannerPopObject(_:_:)](coregraphics/cgpdfscannerpopobject(_:_:).md)
- [CGPDFScannerPopBoolean(_:_:)](coregraphics/cgpdfscannerpopboolean(_:_:).md)
- [CGPDFScannerPopInteger(_:_:)](coregraphics/cgpdfscannerpopinteger(_:_:).md)
- [CGPDFScannerPopNumber(_:_:)](coregraphics/cgpdfscannerpopnumber(_:_:).md)
- [CGPDFScannerPopName(_:_:)](coregraphics/cgpdfscannerpopname(_:_:).md)
- [CGPDFScannerPopString(_:_:)](coregraphics/cgpdfscannerpopstring(_:_:).md)
- [CGPDFScannerPopArray(_:_:)](coregraphics/cgpdfscannerpoparray(_:_:).md)
- [CGPDFScannerPopDictionary(_:_:)](coregraphics/cgpdfscannerpopdictionary(_:_:).md)
- [CGPDFScannerPopStream(_:_:)](coregraphics/cgpdfscannerpopstream(_:_:).md)

### Data Types

- [CGPDFScannerRef](coregraphics/cgpdfscannerref.md)

## See Also

### Related Documentation

- [Quartz 2D Programming Guide](apple-archive/documentation/GraphicsImaging/Conceptual/drawingwithquartz2d/Introduction.md)
