IOS PDF SDK
Build on top of the iOS PDF SDK that started it all
Give your users a premium experience with an iOS PDF viewer SDK that has dozens of out-of-the-box features for document viewing, annotation, redaction, and much more.
A Great User Experience
Easy to use — easier to customize
Benefits
Build faster
Go to market quickly with our ready-to-use code samples, templates, extensive documentation, and support resources.
Save resources
Reduce the overhead costs associated with building, customizing, and maintaining robust document technology internally.
Stay current
Know that your business is on the frontlines of industry innovation with SDKs that always reflect the latest iOS releases.
Gain peace of mind
Rely on SDKs with a reputation for security and backed by the reliable PDFium-based rendering engine.
Compatibility
Nutrient offers optimized APIs for both Swift and Objective-C. For cross-platform apps, you can also use the provided Nutrient technologies for React Native and Flutter.
See it in action!
Don’t take our word for it. Experience our iOS SDK today with PDF Viewer, our free demo app.
Examples
Easy to integrate
1import PSPDFKit
2import PSPDFKitUI
3
4// Create the `Document`.
5// This is the container for your PDF file. It can also manage multiple files.
6let fileURL = Bundle.main.url(forResource: "Document", withExtension: "pdf")!
7let document = Document(url: fileURL)
8
9// Create the PDF view controller.
10// The configuration object is optional and allows additional customization.
11let pdfController = PDFViewController(document: document) {
12 $0.thumbnailBarMode = .scrollable
13 $0.isPageLabelEnabled = false
14}
15
16// Present the PDF view controller within a `UINavigationController` to enable the toolbar.
17present(UINavigationController(rootViewController: pdfController), animated: true)
1@import PSPDFKit;
2@import PSPDFKitUI;
3
4// Create the `PSPDFDocument`.
5// This is the container for your PDF file. It can also manage multiple files.
6NSURL *documentURL = [NSBundle.mainBundle URLForResource:@"Document" withExtension:@"pdf"];
7PSPDFDocument *document = [[PSPDFDocument alloc] initWithURL:documentURL];
8
9// Create the PDF view controller.
10// The configuration object is optional and allows additional customization.
11PSPDFViewController *pdfController = [[PSPDFViewController alloc] initWithDocument:document configuration:[PSPDFConfiguration configurationWithBuilder:^(PSPDFConfigurationBuilder *builder) {
12 builder.thumbnailBarMode = PSPDFThumbnailBarModeScrollable;
13 builder.pageLabelEnabled = NO;
14}]];
15
16// Present the PDF view controller within a `UINavigationController` to enable the toolbar.
17UINavigationController *navController = [[UINavigationController alloc] initWithRootViewController:pdfController];
18[self presentViewController:navController animated:YES completion:NULL];
1// First clean up the buttons on the right.
2controller.navigationItem.setRightBarButtonItems([], for: .document, animated: false)
3
4// Then set the left buttons.
5let leftButtons = [controller.settingsButtonItem, controller.outlineButtonItem]
6controller.navigationItem.setLeftBarButtonItems(leftButtons, for: .document, animated: false)
1// First clean up the buttons on the right.
2[controller.navigationItem setRightBarButtonItems:@[] forViewMode:PSPDFViewModeDocument animated:NO];
3
4// Then set the left buttons.
5NSArray *leftButtons = @[controller.settingsButtonItem, controller.outlineButtonItem];
6[controller.navigationItem setLeftBarButtonItems:leftButtons forViewMode:PSPDFViewModeDocument animated:NO];
1// Create `Document`.
2let document = Document(url: documentURL)
3
4// Create a new free text annotation by defining its contents.
5let freeTextAnnotation = FreeTextAnnotation(contents: "PSPDFKit")
6
7// Define where you want to place the annotation in the document.
8let boundingBox = CGRect(x: 200, y: 400, width: 50, height: 300)
9freeTextAnnotation.boundingBox = boundingBox
10
11// Add the newly created annotation to the document.
12document.add(annotations: [freeTextAnnotation])
1// Create `PSPDFDocument`.
2PSPDFDocument *document = [[PSPDFDocument alloc] initWithURL:documentURL];
3
4// Create a new free text annotation by defining its contents.
5PSPDFFreeTextAnnotation *freeTextAnnotation = [[PSPDFFreeTextAnnotation alloc] initWithContents:@"PSPDFKit"];
6
7// Define where you want to place the annotation in the document.
8CGRect boundingBox = { .origin.x = 200.f, .origin.y = 400.f, .size.height = 50.f, .size.width = 300.f };
9freeTextAnnotation.boundingBox = boundingBox;
10
11// Add the newly created annotation to the document.
12[document addAnnotations:@[freeTextAnnotation] options:nil];
Use cases powered by Nutrient
We’re extremely proud of all the amazing apps that rely on Nutrient’s technology. Our main goal has always been to provide developers with the highest-quality tools so they can focus on making the best apps possible.
Knowledge center
Pick your perfect solution
Nutrient SDKs are made to grow with your app. You can start with what you need now and add more tools later.
Viewing
Open all documents with high fidelity in a well-designed viewer.
Open all documents with high fidelity in a well-designed viewer.
Markup
Improve the review process with a suite of annotation tools.
Improve the review process with a suite of annotation tools.
Collaboration
Bring real-time collaboration to your documents.
Bring real-time collaboration to your documents.
Editing
Modify documents and easily edit PDF text directly in your app.
Modify documents and easily edit PDF text directly in your app.
Forms
Easy for users to fill forms. Easy for you to create them programmatically.
Easy for users to fill forms. Easy for you to create them programmatically.
Signing
Streamline contract execution and approval workflows by enabling eSignatures and PDF digital signatures.
Streamline contract execution and approval workflows by enabling eSignatures and PDF digital signatures.
Generation
Effortlessly generate PDFs from HTML and DOCX.
Effortlessly generate PDFs from HTML and DOCX.
OCR and Data Extraction
Give new life to scanned documents by easily converting them into text that's selectable and searchable.
Give new life to scanned documents by easily converting them into text that's selectable and searchable.
Document Conversion
Easily convert any Office document, image, email, or webpage into a high-quality PDF.
Easily convert any Office document, image, email, or webpage into a high-quality PDF.
Security and Compliance
Protect sensitive information and meet regulatory requirements within your application.
Protect sensitive information and meet regulatory requirements within your application.
Latest from the blog
Blog