Customize Zooming Options in Our iOS Viewer

This guide shows how to programmatically manage the zoom scale of a PDF page.

Manual Zooming

You can use PDFDocumentViewController.zoom(toPDFRect:forPageAt:animated:) to zoom to a specific rect inside a page of the current document.


This method’s rect needs to be specified in PDF coordinates.

The method will make sure to switch to the correct page if necessary before applying the zoom.

let annotationPosition = annotation.boundingBox
let pageIndex = annotation.absolutePageIndex

// Zoom to the annotation.
documentViewController.zoom(toPDFRect: annotationPosition, forPageAt: pageIndex, animated: true)
CGRect annotationPosition = annotation.boundingBox;
NSUInteger pageIndex = annotation.absolutePageIndex;

// Zoom to the annotation.
[documentViewController zoomToPDFRect:annotationPosition forPageAtIndex:pageIndex animated:YES];

zoom(toPDFRect:forPageAt:animated:) will automatically go to the given page if some other page is currently being viewed. There’s no need to switch the page manually!

Disabling Zooming

Zooming can be disabled by setting the maximumZoomScale of PDFConfiguration to 1. It’s important to set this value before creating the view. Alternatively, you can set zoomEnabled to NO on PDFDocumentViewController:

let controller = PDFViewController(document: document) {
    $0.maximumZoomScale = 1
PSPDFViewController *controller = [[PSPDFViewController alloc] initWithDocument:document configuration:[PSPDFConfiguration configurationWithBuilder:^(PSPDFConfigurationBuilder *builder) {
    builder.maximumZoomScale = 1.0f;