We’re excited to announce PSPDFKit 8.3 for iOS. This release is packed with new features and enhancements, including support for annotation rotation, a redesigned link creation and editing UI, and vastly improved support for keyboard shortcuts. PSPDFKit 8.3 for iOS also adds support for the system document picker on our save view and a new API for storing custom data on annotations.
Adding support for annotation rotation was a long-running internal effort for the iOS team — one that required quite a bit of prior groundwork for our annotation model and coordinate system handling, and reaching back all the way to the release of PSPDFKit 8 for iOS. With PSPDFKit 8.3 for iOS, we’re finally making our implementation public, beginning with exposing rotation functionality for stamp annotations. This support is available both at the model level, via conformance to the
PSPDFRotatable protocol, and on the UI level, via a new rotation handle on
PSPDFResizableView. Our stamp rotation handling is compatible with Adobe Acrobat, and it also offers rotation to arbitrary angles and not just multiples of 90 degrees.
In the future, we plan on adding support for rotating additional annotation types — starting with free text annotations — in order to achieve feature parity with Android.
PSPDFKit for iOS has long supported all main link annotation types defined in the PDF specification. The framework has also always come bundled with a convenient simple link annotation editing UI that could be used to add or edit links on other pages in a document or on webpages. However, this UI was disabled by default, as it was a bit rough around the edges and lacked the polish for which our UI is known. With PSPDFKit 8.3, we completely rewrote the link annotation creation UI, extended it with a new link annotation tool on the annotation toolbar, and enabled all its functionality by default.
With PSPDFKit 8.3 for iOS, we’re taking our support for keyboard shortcuts to a whole new level. In addition to being able to navigate between pages and invoke some simple commands like searching and selecting all text, you can now also invoke actions for built-in bar button items, navigate through table views, manage tabs, and much more.
Please check out the updated Keyboard Shortcuts guide article to learn about all the new keyboard shortcuts, or simply press and hold Command to get the system cheat sheet directly inside different locations in the framework UI.
iOS 11 introduced a great new component for opening and saving files via the
UIDocumentPickerViewController class. With this release, we’ve integrated the system picker UI into the Document Editor’s saving workflow. This is achieved through a new special directory type,
PSPDFDirectory.documentPickerDirectory, which is now added to the
saveDirectories list by default. With it, your users will be able to save edited documents to any location supported by the iOS document picker, including many cloud storage providers.
PSPDFKit for iOS now provides a new public API on
PSPDFAnnotation, which can be used to save custom annotation data with any annotation type. This API allows you to directly store data that is relevant to your specific use case with a PDF annotation. That data will be serialized into a JSON-based format and written out together with annotations when saving. This functionality is supported when writing through all our main annotation provider options — PDF, XFDF, and Instant JSON. The custom annotation data is a proprietary extension of the PDF specification, which is available on all PSPDFKit platforms.
PSPDFKit 8.3 for iOS raises the deployment target to iOS 11 and requires Xcode 10.2 to build examples, which were converted to Swift 5. Removing support for iOS 10 will allow us to concentrate our development and support efforts on preparation for the upcoming iOS 13, which we expect to be announced at this year’s WWDC. We would encourage you to mimic this change on your projects, so that you’ll be able to keep taking advantage of the latest PSPDFKit releases. To learn more about our version support policy, check out this guide article.