<!--
{
  "availability" : [
    "iOS: 11.0.0 -",
    "iPadOS: 11.0.0 -",
    "macCatalyst: 13.1.0 -",
    "macOS: 10.4.0 -",
    "tvOS: 11.0.0 -",
    "visionOS: 1.0.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "PDFKit",
  "identifier" : "/documentation/PDFKit/PDFView",
  "metadataVersion" : "0.1.0",
  "role" : "Class",
  "symbol" : {
    "kind" : "Class",
    "modules" : [
      "PDFKit"
    ],
    "preciseIdentifier" : "c:objc(cs)PDFView"
  },
  "title" : "PDFView"
}
-->

# PDFView

An object that encapsulates the functionality of PDF Kit into a single widget that you can add to your application using Interface Builder.

```
class PDFView
```

## Overview

`PDFView` may be the only class you need to deal with for adding PDF functionality to your application. It lets you display PDF data and allows users to select content, navigate through a document, set zoom level, and copy textual content to the Pasteboard. `PDFView` also keeps track of page history.

You can subclass `PDFView` to create a custom PDF viewer.

You can also create a custom PDF viewer by using the PDF Kit utility classes directly and not using `PDFView` at all.

## Topics

### Associating a Document with a View

[`document`](/documentation/PDFKit/PDFView/document)

Returns the document associated with a `PDFView` object.

[`takePasswordFrom(_:)`](/documentation/PDFKit/PDFView/takePasswordFrom(_:))

Unlocks with the password from the specified sender.

### Configuring Document View

[Configurations](/documentation/PDFKit/configurations)

Define display modes, scaling, rendering, printing and graphics properties.

### Interacting in a View

[Document Interactions](/documentation/PDFKit/document-interactions)

Handle selections, work with annotation actions, convert page and view points, and work with mouse events in a document.

### Navigating Within a Document

[`currentPage`](/documentation/PDFKit/PDFView/currentPage)

Returns the current page.

[`currentDestination`](/documentation/PDFKit/PDFView/currentDestination)

Returns a `PDFDestination` object representing the current page and the current point in the view specified in page space.

[`visiblePages`](/documentation/PDFKit/PDFView/visiblePages)

Returns an array of `PDFPage` objects that represent the currently visible pages.

[Navigation](/documentation/PDFKit/navigation)

Operations for moving through page history and seeking to a page in a document.

### Setting the Delegate

[`delegate`](/documentation/PDFKit/PDFView/delegate)

Returns the view’s delegate.

[`PDFViewDelegate`](/documentation/PDFKit/PDFViewDelegate)

The delegate for the `PDFView` object.

### Notifications

[`PDFViewChangedHistoryNotification`](/documentation/PDFKit/PDFViewChangedHistoryNotification)

A notification posted when the page history changes.

[`PDFViewDocumentChangedNotification`](/documentation/PDFKit/PDFViewDocumentChangedNotification)

A notification posted when a new document is associated with the view.

[`PDFViewPageChangedNotification`](/documentation/PDFKit/PDFViewPageChangedNotification)

A notification posted when a new page becomes the current page.

[`PDFViewScaleChangedNotification`](/documentation/PDFKit/PDFViewScaleChangedNotification)

A notification posted when the scale factor changes.

[`PDFViewAnnotationHitNotification`](/documentation/PDFKit/PDFViewAnnotationHitNotification)

A notification posted when the user clicks on an annotation.

[`PDFViewCopyPermissionNotification`](/documentation/PDFKit/PDFViewCopyPermissionNotification)

A notification posted when the user attempts to copy to the pasteboard without the appropriate permissions.

[`PDFViewPrintPermissionNotification`](/documentation/PDFKit/PDFViewPrintPermissionNotification)

A notification posted when the user attempts to print without the appropriate permissions.

[`PDFViewAnnotationWillHitNotification`](/documentation/PDFKit/PDFViewAnnotationWillHitNotification)

A notification posted before the user clicks an annotation.

[`PDFViewSelectionChangedNotification`](/documentation/PDFKit/PDFViewSelectionChangedNotification)

A notification posted when the current selection has changed.

[`PDFViewDisplayModeChangedNotification`](/documentation/PDFKit/PDFViewDisplayModeChangedNotification)

A notification posted when the display mode has changed.

[`PDFViewDisplayBoxChangedNotification`](/documentation/PDFKit/PDFViewDisplayBoxChangedNotification)

A notification posted when the display box has changed.

[`PDFViewVisiblePagesChangedNotification`](/documentation/PDFKit/PDFViewVisiblePagesChangedNotification)

A notification posted when the visible pages have changed.

### Instance Properties

[`findInteraction`](/documentation/PDFKit/PDFView/findInteraction)

[`isFindInteractionEnabled`](/documentation/PDFKit/PDFView/isFindInteractionEnabled)

[`isInMarkupMode`](/documentation/PDFKit/PDFView/isInMarkupMode)

[`pageOverlayViewProvider`](/documentation/PDFKit/PDFView/pageOverlayViewProvider)

[`pageShadowsEnabled`](/documentation/PDFKit/PDFView/pageShadowsEnabled)



---

Copyright &copy; 2026 Apple Inc. All rights reserved. | [Terms of Use](https://www.apple.com/legal/internet-services/terms/site.html) | [Privacy Policy](https://www.apple.com/privacy/privacy-policy)