---
title: VNDocumentCameraViewController
framework: visionkit
role: symbol
role_heading: Class
path: visionkit/vndocumentcameraviewcontroller
---

# VNDocumentCameraViewController

An object that presents UI for a camera pass-through that helps people scan physical documents.

## Declaration

```swift
class VNDocumentCameraViewController
```

## Overview

Overview This class enables a person to scan a physical document, page by page, by tapping a camera interface in the controller’s view. The results of a scan include images, by page number. With the collection of scanned images, your app can create a digital version of the physical document and export the scanned images to PDF. Present a document scanning view controller in Swift The following Swift code presents the document scanning object and adds it to your view controller hierarchy: let documentCameraViewController = VNDocumentCameraViewController() documentCameraViewController.delegate = self present(documentCameraViewController, animated: true) Present a document scanning view controller in Objective-C The following Objective-C code presents the document scanning object and adds it to your view controller hierarchy: VNDocumentCameraViewController* documentCameraViewController = [[VNDocumentCameraViewController alloc] init]; documentCameraViewController.delegate = self; [self presentViewController:documentCameraViewController animated:YES completion:nil];

## Topics

### Supporting the document camera

- [delegate](visionkit/vndocumentcameraviewcontroller/delegate.md)
- [isSupported](visionkit/vndocumentcameraviewcontroller/issupported.md)

## Relationships

### Inherits From

- [UIViewController](uikit/uiviewcontroller.md)

### Conforms To

- [CVarArg](swift/cvararg.md)
- [CustomDebugStringConvertible](swift/customdebugstringconvertible.md)
- [CustomStringConvertible](swift/customstringconvertible.md)
- [Equatable](swift/equatable.md)
- [Hashable](swift/hashable.md)
- [NSCoding](foundation/nscoding.md)
- [NSExtensionRequestHandling](foundation/nsextensionrequesthandling.md)
- [NSObjectProtocol](objectivec/nsobjectprotocol.md)
- [NSTouchBarProvider](appkit/nstouchbarprovider.md)
- [UIActivityItemsConfigurationProviding](uikit/uiactivityitemsconfigurationproviding.md)
- [UIAppearanceContainer](uikit/uiappearancecontainer.md)
- [UIContentContainer](uikit/uicontentcontainer.md)
- [UIFocusEnvironment](uikit/uifocusenvironment.md)
- [UIPasteConfigurationSupporting](uikit/uipasteconfigurationsupporting.md)
- [UIResponderStandardEditActions](uikit/uiresponderstandardeditactions.md)
- [UIStateRestoring](uikit/uistaterestoring.md)
- [UITraitChangeObservable](uikit/uitraitchangeobservable-67e94.md)
- [UITraitEnvironment](uikit/uitraitenvironment.md)
- [UIUserActivityRestoring](uikit/uiuseractivityrestoring.md)

## See Also

### Document scanning through the camera

- [Structuring recognized text on a document](visionkit/structuring-recognized-text-on-a-document.md)
- [VNDocumentCameraViewControllerDelegate](visionkit/vndocumentcameraviewcontrollerdelegate.md)
- [VNDocumentCameraScan](visionkit/vndocumentcamerascan.md)
