Version 6.7.1

Release Date: 2016.11.14

6.7.1 is a major release. Please see What's New for the changes that affect all platforms, including iOS.

The framework now ships as a dynamic framework. (A static version is still also included.) The dynamic framework simplifies integration, improves compile (linking) time and enables smaller app updates. Please see the transition guide Static to Dynamic Library Migration Guide, also included in the download package, for moving from the static library to the dynamic library.

A bitcode version of the SDK is available license holders, but is not included in the standard download. If you you require a bitcode version of the SDK, please contact us at support@apryse.com.

##Framework changes:

  • Both the static and dynamic frameworks now ship with a true umbrella header, so you only need to #import <PDFNet/PDFNet.h> for access to all classes and methods.
  • PDFNet now automatically registers the resource file pdfnet.res, in the case of the static library by searching the main bundle, and in the case of the dynamic library, using the copy that is packaged with it. You no longer need to register it yourself. The dynamic library also includes and automatically registers the .plugin files.
  • JavaScript is now supported for form filling. JavaScript support is not enabled by default, and can enabled using PDFNet class method EnableJavaScript.
  • A new Xcode digital signature sample that demonstrates how to digitally (cryptographically) sign a document.
  • Sample projects no longer use any classes deprecated in iOS 9 or earlier.
  • Purge memory is now called automatically in low memory conditions. This behaviour can be toggled with the new PTPDFViewCtrl property purgeMemoryOnMemoryWarning
  • ###PTPDFViewCtrl Changes:New:
    • overlayView property, used to display content on top of the PDF. This the preferred method, rather than using the ContainerView instance variable.
    • purgeMemoryOnMemoryWarning

property, used to control if memory is automatically purged if a system memory warning is received. Default is YES. - directionalLockEnabled property, used to control if the UIScrollViewer that displays the PDF has the directional lock enabled. Default is YES. - -(PTPDFRect*)GetScreenRectForAnnot:page_num:, used to get the bounding box for an annotation. - -(void)RefreshAndUpdate:, used to refresh the PDF after a JavaScript intiated document change. - -(void)ClearThumbCache, used to delete the thumbnail cache. - -(void)ExecuteActionWithActionParameter:, typically used to execute a JavaScript action.

Changed:

  • PTToolDelegate protocol renamed to PTTool, better reflecting the nature of the protocol.
  • API Name Change. You will need to update tools code and any other code that uses these APIs.
  • ###PTPDFViewCtrlDelegate Protocol Changes:New:
    • -(void)javascriptCallback:json:, used to handle JavaScript callback actions.
  • ###PTTool Protocol Changes:New:
    • -(void)javascriptCallback:json:, used to handle JavaScript callback actions.

Tools Library changes:

  • The tools now ship as a dynamic library (the Xcode project can still be used to compile a static library if you wish). The dynamic library is convenient because it automatically includes all of the headers and resource files (images and strings) that it requires.
  • The tools have been updated to no longer use any classes deprecated in iOS 9 or earlier.
  • The framework now includes an umbrella header, tools.h, so using #import <Tools/Tools.h> gives access to the entire library.
  • The selector showMenu has been changed to showSelectionMenu

to avoid a new conflict with an Apple private API which on occasion caused an app store submission to be rejected.

  • Projects will need to import AVKit for the new movie player.
  • The tools source code has been converted to modern Obj-C syntax. If you have customized the tools, and are using a text diff to merge changes, we recommend using Xcode's conversion (Edit->Convert->To Modern Objective-C Syntax) before performing the diff.

Did you find this helpful?

Trial setup questions?

Ask experts on Discord

Need other help?

Contact Support

Pricing or product questions?

Contact Sales