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
Frequently asked questions
What should I do if I encounter a license-related issue?
If you experience a license-related issue, such as a bundle ID mismatch or an expired license, our License Troubleshooting guide provides solutions to common problems. For further assistance, please contact our support team.
How do I integrate Nutrient’s iOS PDF SDK into my application?
To integrate Nutrient’s iOS PDF SDK, you can use Swift Package Manager, CocoaPods, or manual installation methods. Each approach is detailed in our getting started guide, providing step-by-step instructions to ensure a smooth setup.
How can I customize the PDF viewer’s user interface?
Nutrient’s iOS PDF SDK offers a highly customizable UI, allowing you to hide or add buttons, adjust themes, and match the look and feel of your application. Detailed guidance on UI customization is available in our viewer guide.
What licensing options are available for Nutrient’s iOS PDF SDK?
Our SDK is licensed on a subscription basis, tailored to accommodate various project sizes and requirements. Licenses are issued per explicit bundle ID, with provisions for additional bundle IDs for beta testing.
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
Explore the latest insights, products, tutorials, and more.
iOS PDF SDKs
What are the advantages?
Integrating PDF functionality into your iOS application can significantly enhance document management and user engagement. This section will explore the essentials of iOS PDF SDKs to guide you through this integration.
What is an iOS PDF SDK?
An iOS PDF SDK (software development kit) is a collection of tools and APIs that enables developers to embed PDF viewing, editing, and management capabilities into iOS applications. This allows for seamless interaction with PDF documents directly within the app, enhancing user experience and productivity.
How to choose the right iOS PDF SDK
Consider the following factors when choosing the best iOS PDF SDK for your project:
- Feature set — Ensure the SDK offers comprehensive functionalities such as viewing, annotation, editing, form filling, and digital signatures.
- Performance —Look for high-speed rendering and smooth handling of large documents to provide a responsive user experience.
- Support and maintenance — Consider the availability of regular updates and responsive technical support to address any issues promptly.
What are the best solutions to solve my iOS PDF integration needs?
Various iOS PDF SDKs are available, each offering distinct features:
- Basic PDF viewers — Suitable for applications requiring simple PDF viewing functionalities without advanced features.
- Advanced PDF solutions — Ideal for applications needing comprehensive PDF capabilities, including annotation, form handling, and document editing.
- Commercial SDKs — Provide robust features, dedicated support, and regular updates, ensuring reliability for enterprise-level applications.
What are the benefits of using Nutrient’s iOS PDF SDK?
Choosing Nutrient’s iOS PDF SDK offers several advantages:
- Comprehensive PDF functionality — Enable your applications to view, annotate, edit, and manage PDF documents seamlessly, providing users with a rich set of tools for document interaction.
- High performance — Designed to handle large documents efficiently, ensuring quick load times and smooth navigation.
- Ease of integration — With comprehensive documentation and support, integrating Nutrient’s SDK into your iOS application is straightforward, reducing development time.
- Customizable user interface — Offers flexibility to tailor the look and feel to align with your application’s design, enhancing user experience.
- Security and compliance — Adheres to data protection regulations, ensuring sensitive information is handled securely during document processing.
How does Nutrient’s iOS PDF SDK compare to other solutions?
While other iOS PDF SDKs may offer basic functionalities, Nutrient’s iOS PDF SDK stands out with its advanced features, high performance, and focus on user experience. Its design prioritizes ease of use and seamless integration, making it a robust choice for applications aiming to enhance document interaction and management.
Integrating an iOS PDF SDK into your application is a strategic move to boost functionality and user satisfaction. By carefully evaluating your needs and exploring available options, you can select a solution that not only meets your current requirements but also supports your application’s future growth and evolution.