ANN: PDFNet 6.1.0 Release

What’s New in PDFNet 6.1.0 (November 15, 2013 - Version 6.1.0)

  • Significant improvements to rendering performance for image heavy documents. The rendering pipeline now uses SIMD processing and multithreaded execution to speed up image loading and rendering.

  • Includes source-code for annotations and other tools. The availability of source code (with WPF, iOS, Android, WinRT, WP8 SDK) allows for customizations and fine grained control to every aspect of user experience that was previously not possible. The code can also be used as a template to build new tools.

  • Additional annotation tools in iOS, Android, WinRT.

    • Support for multimedia/video annotations (i.e. RichMedia). For more information, please see our blog.
    • A new sample annotation tool showing how to apply a digital signature to a signature field.
  • PDF to HTML converter (pdftron.PDF.Convert.ToHtml()) can now produce lightweight HTML output that loads faster and allows for better text search/selection. The option can be enabled using ‘SimplifyText’ in HTMLOutputOptions. For more info, please ‘PDF to HTML conversion’ in our blog.

  • Simplified document signing with built-in SignatureHandler. By using PDFDoc.AddStdSignatureHandler, it is now possible to sign PDF documents without depending on third party cryptographic libraries. See DigitalSignaturesTest for example how to sign PDF documents with or without third party cryptographic libraries.

  • Improved PDF/A validation and conversion.

  • Ability to include custom headers when streaming and viewing a PDF document via ‘PDFVIewCtrl.OpenUrlAsync()’.

  • Important bug fixes and incremental improvements.
    .NET/WPF Specific:

  • Significant improvements to WPF PDF Viewer speed and overall feature set.

  • Support for touch screen.

  • A new and simplified method to extend and customize the control.

  • New annotation tools source code.

WinRT (PDFNet for Windows Store apps) Specific:

  • Support for Windows 8.1.
  • Tools source code is now included as part of the standard distribution. The PDFViewCtrlDemo sample project references the PDFViewCtrlTools project directly in the sample solution.
  • Smoother Zooming
  • New PDFViewCtrl APIs. Please see documentation for details:
    • GetVisiblePages()
    • GetLinkAt(int x, int y)
    • SetOverprint(PDFRasterizerOverprintPreviewMode op)
    • SetZoom(int x, int y, double zoom)
    • ShowRect(int pageNumber, Rect rect)
    • Select(PDFViewCtrlSelection selection)
    • GetFindTextProgress()

iOS Specific:

  • Support for new architectures arm64 and x86_64 (in addition to armv7, armv7s and i386). Also includes an additional copy of libPDFNet.a that only includes armv7, armv7s and i386, but is compatible with Xcode 4.6.3.
  • Now uses an external resource file which reduces the final app size by 2.9 MB per included architecture after the first. For an app that is compiled for armv7, armv7s and arm64 this will save 5.8 MB. To initialize PDFNet, you must now call [PDFNetInitialize@""]; [PDFNet SetResourcePath:resourcePath];. Plase see the readme for details.
  • Tools source code is now included as part of the standard distribution. The PDFViewCtrlDemo sample project should now be run from the workspace “PDFViewCtrlDemo with Tools” which combines the PDFViewCtrlDemo and Tools projects into a single workspace for development convenience.
  • Tools source code has been converted to Automatic Reference Counting (ARC).
  • Two new built-in tools, one for applying a digital signature to a signature field, and the other to play rich media annotations (videos) in place. (Rich media annotations requires AVFoundation and MediaPlayer frameworks.
  • Freehand ink annotations are now automatically smoothed (rather than using straight line segments), and the FreehandCreate tools has built-in support for creating multistroke ink annotations.
  • The built-in tools now use a new easy-to-use color picker.
  • Includes a new sample project that will run the sample code included on our website at http://www.pdftron.com/pdfnet/samplecode.html
  • Ability to include custom headers when downloading a document using OpenUrlAsync:
  • Samples have been visually adjusted for iOS 7 and are all compatible with the iPhone.
  • New PDFViewCtrl APIs. Please see documentation for details:
    • OpenUrlAsync:WithPDFPassword:WithCacheFile:WithOptions:
    • SelectWithSelection:
    • Update:
    • zoomToRect:animated:
    • GetVisiblePages
    • CancelFindText
    • GetLinkAt:y:
    • SetViewerCache:max_cache_size:on_disk:
    • keyboardWillShow:rectToNotOverlapWith:
    • keyboardWillHide:
    • zoomScale
    • SetRightToLeftLanguage:
    • GetRightToLeftLanguage
    • onRendereFinished (delegate method)
  • Changed PDFViewCtrl APIs.
    • SetProgressiveRenderingInterval: replaced by SetProgressiveRendering:withInitialDelay:withInterval:
    • SetZoomMinimum:Maxiumum:Mode: replaced by SetZoomLimits:Minimum:Maxiumum:
    • SetContentBufferSize: replaced by SetRenderedContentBufferSize
    • PurgeCachedMemory replaced by PurgeMemory
    • OpenUrl:WithPDFPassword: replaced by OpenUrlAsync:WithPDFPassword:
    • OpenUrl:WithPDFPassword:WithCacheFile: replaced by OpenUrlAsync:WithPDFPassword:WithCacheFile:
    • SetThinLineAdjustmentPixelGrid:StrokeAdjust: replaced by SetThinLineAdjustment:StrokeAdjust:
    • SetContentBufferSize: replaced by SetRenderedContentBufferSize:
  • Removed PDFViewCtrl APIs.
    • SelectWithTextSelect:y1:x2:y2:;
    • SelectWithStructure:y1:page1:x2:y2:page2:
    • SetAnnotationEditingEnabled: (can control this by modifying the tools source code)
    • AnnotationEditingEnabled (can control this by modifying the tools source code)
    • LinkActivationEnabled (can control this by modifying the tools source code)
  • Numerous bug fixes and stability improvements.

Android Specific:

  • Tools source code is now included as part of the standard distribution. The PDFViewCtrlDemo sample references the PDFViewCtrlTools project as an Android library.
  • New “MiscellaneousSamples” project that runs common cross-platfrom samples (http://www.pdftron.com/pdfnet/samplecode.html).
  • New PDFViewCtrl APIs (please see documentation for more information):
    • Tool.onScrollChanged
    • Tool.onConfigurationChanged
    • getOCGContext
    • setOCGContext
    • setTextSearchListener
    • HTTPRequestOptions
    • getDeviceTransform
    • getPageCount
    • getVisiblePages
    • setPageTransparencyGrid
  • Changed PDFViewCtrl APIs:
    • PDFViewCtrl.openURL
    • convClientPtToCanvasPt replaced by convScreenPtToCanvasPt
    • convClientPtToPagePt replaced by convScreenPtToPagePt
    • convCanvasPtToClientPt replaced by convCanvasPtToScreenPt
    • convPagePtToClientPt replaced by convPagePtToScreenPt
    • getPageNumberFromClientPt replaced by getPageNumberFromScreenPt
    • selectByHighlights replaced by selectWithHighlights
    • selectBySelection replaced by selectWithSelection
    • LinkInfo.getX1 replaced by LinkInfo.getRect
    • findText
    • setViewerCache

New Types and Methods in PDFNet Core API:

  • Link.GetNormalizedUrl
  • PDFACompliance.e_PDFA0_1_0 enum
  • PDFACompliance.e_PDFA8_1 enum
  • PDFACompliance.e_PDFA_3E1 enum
  • PDFACompliance.e_PDFA_3E2 enum
  • PDFACompliance.e_PDFA_3E3 enum
  • Convert.FlattenThresholdFlag (enum)
  • Convert.FlattenFlag (enum)
  • Convert.HTMLOutputOptions.SetExternalLinks
  • Convert.HTMLOutputOptions.SetInternalLinks
  • Convert.HTMLOutputOptions.SetSimplifyText
  • Convert.SVGOutputOptions.SetSvgFonts
  • Convert.SVGOutputOptions.SetEmbedFonts
  • Convert.SVGOutputOptions.SetFlattenContent
  • Convert.SVGOutputOptions.SetFlattenThreshold
  • Convert.SVGOutputOptions.SetCompress
  • Convert.SVGOutputOptions.SetOutputThumbnails
  • Convert.SVGOutputOptions.SetThumbnailSize
  • Convert.SVGOutputOptions.SetCreateXmlWrapper
  • Convert.SVGOutputOptions.SetDtd
  • Convert.SVGOutputOptions.SetAnnots
  • PDFDoc.AddStdSignatureHandler(keyfile, keypass)
  • PDFDoc.AddStdSignatureHandler(keybuffer, keypass)
  • PDFViewCtrl.GetVisiblePages
  • Flattener.SetPathHinting
  • Flattener.Process(page, flatten_mode)