PDFTron logo

PDFNet SDK - What's New?

January 12, 2016 - Version 6.6.0

  • Java API brought inline with standard naming convention (lowercase). For example pdftron.PDF.PDFDoc is now com.pdftron.pdf.PDFDoc.
  • Improved password (encrypted PDF) handling, especially for C++ API, to better handle unicode and binary passwords.
  • Important bug fixes and incremental improvements.

New Types and Methods in PDFNet Common API:

  • pdftron.SDF.SecurityHandler.ChangeUserPassword(byte[])
  • pdftron.SDF.SecurityHandler.ChangeMasterPassword(byte[])
  • pdftron.SDF.SDFDoc.InitStdSecurityHandler(byte[])
  • pdftron.PDF.PDFDoc.InitStdSecurityHandler(byte[])
  • pdftron.PDF.Page.AddRotations
  • pdftron.PDF.Page.SubtractRotations
  • pdftron.PDF.Page.RotationToDegree
  • pdftron.PDF.Page.DegreeToRotation
  • pdftron.PDF.Annot.GetRotation
  • pdftron.PDF.Annot.SetRotation

Removed Types and Methods in PDFNet Common API:

  • pdftron.PDF.Annots.Screen.GetRotation
  • pdftron.PDF.Annots.Screen.SetRotation
  • pdftron.PDF.Annots.Widget.GetRotation
  • pdftron.PDF.Annots.Widget.SetRotation

Changed Types and Methods in PDFNet Java API:

  • Root package changed from pdftron to com.pdftron.
  • Rest of sub packages are now lower case.
  • For example pdftron.PDF.PDFDoc will now be com.pdftron.pdf.PDFDoc.

New Types and Methods in PDFNet C++ API:

  • pdftron.SDF.SecurityHandler.ChangeUserPassword(UString)
  • pdftron.SDF.SecurityHandler.ChangeMasterPassword(UString)
  • pdftron.SDF.SecurityHandler.InitPassword(UString)
  • pdftron.SDF.SDFDoc.InitStdSecurityHandler(UString)
  • pdftron.SDF.PDFDoc.InitStdSecurityHandler(UString)

Deprecated Types and Methods in PDFNet C++ API:

  • pdftron.SDF.SecurityHandler.InitPasswordASCII(const char*)
  • pdftron.SDF.SecurityHandler.InitPassword(const char*, size_t)
  • pdftron.SDF.SecurityHandler.ChangeUserPasswordASCII(const char*)
  • pdftron.SDF.SecurityHandler.ChangeUserPassword(const char*, size_t)
  • pdftron.SDF.SecurityHandler.ChangeMasterPasswordASCII(const char*)
  • pdftron.SDF.SecurityHandler.ChangeMasterPassword(const char*, size_t)
  • pdftron.SDF.SDFDoc.InitStdSecurityHandler(const char*, int)
  • pdftron.PDF.PDFDoc.InitStdSecurityHandler(const char*, int)

May 14, 2015 - Version 6.5.0

  • XOD conversion output is now the new XOD format, which features reduced sizes and improved blend modes.
    • WebViewer 2.0 or later is required for new XOD documents
    • Old XODs will continue to work in WebViewer 2.0
    • Flash and Silverlight are removed in WebViewer 2.0. The Flash and Silverlight versions are still available in WebViewer 1.8.2, but they are made available on an “as-is” basis.
    • To continue to generate XOD files for Silverlight and Flash, XODOutputOptions.UseSilverlightFlashCompatible must be set to True.
  • Improved Text2PDF conversion for UTF-encoded text files
  • Added optional, beta Word2PDF conversion through Convert.Printer.SetMode(e_printermode_prefer_builtin_converter)
  • Important bug fixes and incremental improvements.

WinRT (PDFNet for Windows Store apps) Specific:

  • Universal Samples are now using the MVVM pattern.
  • PDFDoc.SaveToNewLocationAsync, will save the document under the assumption that the destination passed in is different from the source of the document, as specified when creating the doc or the last save, if that has happened since opening. This function will speed up saving since certain safety precautions are not necessary.
  • Added a CompleteReader Sample, which implements a full featured PDF reader and annotator.
  • PDFViewCtrlTools contain a control for tabbed PDF viewing (i.e. open multiple documents in different tabs).
  • PDFViewCtrl.Deactivate - This will stop rendering and then remove any content that is not visible on the screen. This method is used by the tab control to reduce memory usage on hidden PDFViewCtrls.
  • PDFViewCtrl.Activate - Resumed rendering
  • PDFViewCtrl.SetScrollBarVisibility
  • PDFViewCtrl.PreviousAndNextButtonVisibility, Whether or not to show the prev/next buttons in single page mode for mouse navigation. Note that you have to call the static PDFViewCtrl.RegisterDependencyProperties() before you can use this.
  • Miscellaneous bug fixes and improvements.

iOS Specific:

  • Note: PDFNet 6.5 is compiled using Xcode 6.3. Please ensure your project is compiled with the version of LLVM/Clang that shipped with Xcode 6.3 or greater.
  • Note: Only iOS version 7 or greater is supported.
  • CompleteReader now includes user bookmarks stored outside the PDF.
  • Adds new annotation added/modified/removed methods to the ToolManager.
  • Miscellaneous bug fixes and improvements.

Android Specific:

  • New 64-bit native architectures, arm64-v8a and x86_64.
  • Adds a new tabbed viewer control that allows viewing multiple PDFs in the same viewer (API 11+). See CompleteReader sample for usage.
  • Adds new annotation added/modified/removed methods to the ToolManager's AnnotationModificationListener.
  • Adds smart zoom animation and improvements to the page sliding animation.
  • Miscellaneous bug fixes and improvements.

Deprecated Methods in PDFNet Windows C++ API:

  • Setting the last parameter to true is the following method PDFViewCtrl(void*, void*, bool) is now deprecated. Setting to true put the viewer into pre 5.7 Compatibility mode. All users should remove this boolean parameter, and begin using the modern PDFViewCtrl that started shipping in 5.8. The new one provides superior performance.

Deprecated Methods in PDFNet Windows .NET API:

  • PDFViewCtrl(bool) see above for more info.

New Types and Methods in PDFNet Core API:

  • pdftron.PDF.Convert.FromText
  • pdftron.PDF.Convert.XODOutputOptions.SetThumbnailSize
  • pdftron.PDF.Convert.XODOutputOptions.UseSilverlightFlashCompatible
  • pdftron.PDF.Optimizer.MonoImageSettings.SetJBIG2Threshold
  • pdftron.PDF.PDFView.UpdateOCGContext
  • pdftron.PDF.PDFViewWPF.Activate
  • pdftron.PDF.PDFViewWPF.Deactivate
  • pdftron.PDF.PDFViewWPF.SetRenderedContentCacheSize
  • pdftron.PDF.PDFViewWPF.OnRenderFinished
  • pdftron.PDF.TextExtractor.SetRightToLeftLanguage
  • pdftron.PDF.TextExtractor.GetRightToLeftLanguage

Chaged Types and Methods in PDFNet Core API:

  • pdftron.PDF.Convert.Printer.Mode

January 20, 2015 - Version 6.4.0

New Features and Improvements to Server/Desktop SDKs
(NOTE: Mobile SDKs are not included in this release):

  • Added pdfron.PDF.Convert.Printer.GetMode to control whether Office Interop or the printer subsystem is used for Office conversion.
  • Added support for AnyCPU in .NET builds (link).
  • Published PDFNet on NuGet (link).
  • Open-sourced PDFNetLoader library (link).
  • Exported XFDF now includes appearance streams as images.
  • Added support for old-style JPEG compression for TIFF images.
  • Important bug fixes and incremental improvements.

New Types and Methods in PDFNet Core API:

  • pdftron.PDF.Image.Create
  • pdftron.PDF.Convert.SVGOutputOptions.SetFlattenMaximumImagePixels
  • pdftron.PDF.Convert.SVGOutputOptions.SetFlattenDPI
  • pdftron.PDF.Convert.Printer.SetMode
  • pdftron.PDF.Convert.Printer.GetMode
  • pdftron.PDF.Annot.GetVisibleContentBox
  • pdftron.FDF.FDFDoc.CreateFromXFDFBytes

Chaged Types and Methods in PDFNet Core API:

  • pdftron.PDF.PDFView.GetAnnotationAt
  • pdftron.PDF.PDFDCEX.Begin
  • pdftron.PDF.Font.CreateCIDTrueTypeFont
  • pdftron.FDF.FDFDoc.SaveAsXFDF

October 3, 2014 - Version 6.3.0

  • Added "Erase" method for Ink annotations, to erase a rectangular area.
  • Added "night mode" to reverse the colors of PDFs during rendering.
  • Added method to create images from filters.
  • Added ability to pass in a memory buffer of an image, without specifying dimensions, BPC, et cetera.
  • Added Font.createCIDTrueTypeFont that accepts index into a True Type Collection.
  • PDFNet now available through NuGet.
  • Simplified the packaging of .NET SDKs by having PDFNet detect architecture at runtime. Samples are now AnyCPU.
  • Added SetDefaultFlateCompressionLevel method.
  • Improved error reporting during Office interop conversion.
  • PDF2SVG can now use font substitutions specified in config.xml (as in PDF2Image).
  • Can now specify DPI and maximum resolution for SVG conversions.
  • SetJPGQuality will now work with ToHTML and ToEPUB options.
  • Redaction now preserves CMYK images instead of converting to RGB.
  • Reduced symbols exported by Linux builds.
  • Added support for creating invisible text in place of text inside transparency groups when flattening.
  • Improved external XFDF generation during XOD conversion.
  • Added option to SetImageSmoothing API for higher-quality resampling at the expense of rendering performance.
  • Improved path hinting and thin line adjustment.
  • Added Convert.ToTiff method to for easy conversion of PDF documents to mutli-page TIFF documents.
  • Added Office interop conversion support for CSV, XLAM, XLTM, and XLSB files.
  • Improved appearance of text fields, radio buttons, PolyLine and Polygon annotations.
  • Windows Print API takes an optional OCG context, to control which layers are printed.
  • Important bug fixes and incremental improvements.
  • WinRT (PDFNet for Windows Store apps) Specific:

    • Added Thumbnail Viewer, including source code for easy editing.
    • Better stylus support: Ink annotations are now allowed at any time and anywhere on the document when you start writing with a stylus.
    • The CompleteReader sample now comes with more view modes, including facing, cover facing, night mode, rotation mode and thumbnail mode. It is also integrated with the new tool and controls, such as the eraser tool and the Thumbnail Viewer.
    • Improved usability for Tools, such as two finger scroll in annotation creation mode and a control handle for text markups.
    • An Eraser tool, that can erase freehand annotation, is now included.
    • Added workaround to Windows bug where ScrollViewer would cut off content at offsets that were too large.
    • Miscellaneous bug fixes and improvements.
    • New APIs:
      • pdftron.PDF.PDFViewCtrl.SetColorPostProcessMode(PDFRasterizerColorPostProcessMode mode)
      • pdftron.PDF.PDFViewCtrl.GetColorPostProcessMode()
      • pdftron.PDF.PDFViewCtrl.GetAnnotAt(int x, int y, double distanceThreshold, double minimumLineWeight)
      • pdftron.PDF.PDFViewCtrl.Update(Field field)
    • Miscellaneous bug fixes and improvements.

    iOS Specific:

    • Note: PDFNet 6.3.2 is compiled using Xcode 6.0.1. Please ensure your project is compiled with the version of LLVM/Clang that shipped with Xcode 6.0.1 or greater.
    • All PDFNet classes are now prefixed with PT to avoid naming conflicts with other libraries. All future releases will include this change.
    • Tools improvements
      • New Bookmarks control that allows user create bookmarks.
      • Scrolling with two fingers is now possible when annotating.
      • An eraser tool that can be used to erase freehand annotations.
      • Text annotations (highlights, strikethroughs, underlines, squiggly underlines) can now be resized after they are created.
      • Text annotations type can now be changed, i.e. a highlight can be changed to an underline, a strikeout to a highlight, etc.
      • Annotations can now be edited while in an annotation creation mode. For example if you are in text highlight mode, tapping on another highlight will allow you to edit it, and then dragging across new text will highlight it, reducing the need to go back to the toolbar to change modes.
      • New @3x image assets.
    • Updated and enhanced the Complete Reader sample for iOS 8 and the iPhone 6 (Plus), and the.new tools.
    • Support for converting Office documents to PDF with new PTConvert method convertOfficeToPDF:completion:. Note that this method uses a UIWebView under the hood, so purchase of the Convert Add-on is not required, but we are not able to control conversion quality (which will be the same as other apps that use a UIWebView for this purpose).
    • New Swift sample project that shows how to use PDFNet from a Swift project using a bridging header.
    • New C++ sample project showing how to use PDFNet's C++ interface (useful for writing cross-platform PDF manipulation code).
    • Framework available split into two (one for device (armv7, armv7s, arm64) and another for simulator (i386 and x86_64) that are less than 100 MB and hence can be committed to GitHub.
    • New APIs:
      • PDFViewCtrl -(void)SetColorPostProcessMode:(PTColorPostProcessMode)mode;
      • PDFViewCtrl -(PTColorPostProcessMode)GetColorPostProcessMode;
      • PDFViewCtrl -(void)setMinimumTwoFingersToScrollEnabled:(bool)enabled;
      • PDFViewCtrl -(void)UpdateWithField:(PTField*)field;
      • PTConvert +(void)convertOfficeToPDF:(NSString*)filePath completion:(void(^)(NSString* pathToPDF))completion
    • Changed APIs:
      • - (PTAnnot*)GetAnnotationAt: (int)x y: (int)y distanceThreshold: (double)distanceThreshold minimumLineWeight: (double)minimumLineWeight;
    • Bug fixes.

    Android Specific:

    • A set of new controls has been added to the tools library (in the pdftron.PDF.Controls package). The source code for these controls are public and can be customized as required. The controls include:
      • An UserBookmarkDialogFragment allowing user to add/edit custom bookmarks.
      • An AnnotationPropertyPopupWindow for styling annotations.
      • An ThumbnailsViewFragment showing the thumbnails of a document and it also supports page rearrangement as well as page deletion.
    • "PDFVewCtrlTools" library project has been updated to Android 5.0.
    • "Complete Reader" sample app has been updated to Android 5.0 with the new Material Design. It also incorporates all of the controls above.
    • All sample projects have been updated to use Android 5.0 with compileSdkVersion 21, buildToolsVersion 21.0.2, gradle 2.1 with version 0.13.3.
    • An Eraser tool is now included that can erase freehand annotation.
    • Improved usability for Tools: i.e. two finger scroll in annotation creation mode, control handle for text markups.
    • Tools source code is no longer in the PDFViewCtrlProjects folder. It is now moved to the lib/src folder.
    • New APIs:
      • PDFViewCtrl.update(Field field)
      • PDFViewCtrl.setColorPostProcessMode(int mode)
      • PDFViewCtrl.getColorPostProcessMode()
      • PDFViewCtrl.getAnnotationAt(int x, int y, double distanceThreshold, double minimumLineWeight)
    • Bug fixes.

    New Types and Methods in PDFNet Core API:

    • pdftron.SDF.SecurityHander.IsValid
    • pdftron.PDF.PDFViewCtrl.SetColorPostProcessMode
    • pdftron.PDF.PDFViewCtrl.GetColorPostProcessMode
    • pdftron.PDF.PDFViewCtrl.Update
    • pdftron.PDF.PDFView.SetColorPostProcessMode
    • pdftron.PDF.PDFView.GetColorPostProcessMode
    • pdftron.PDF.PDFView.Update
    • pdftron.PDF.Annots.Ink.Erase
    • pdftron.PDF.PDFRasterizer.ColorPostProcessMode
    • pdftron.PDF.PDFRasterizer.SetColorPostProcessMode
    • pdftron.PDF.PDFRasterizer.GetColorPostProcessMode
    • pdftron.PDFNet.FlateCompressionLevel
    • pdftron.PDFNet.SetDefaultFlateCompressionLevel
    • pdftron.PDF.PDFDraw.SetColorPostProcessMode
    • pdftron.PDF.Convert.TiffOutputOptions
    • pdftron.PDF.Convert.ToTiff
    • pdftron.PDF.Convert.SVGOutputOptions.SetFlattenDPI
    • pdftron.PDF.Convert.SVGOutputOptions.SetFlattenMaximumImagePixels

    Chaged Types and Methods in PDFNet Core API:

    • pdftron.PDF.Print.StartPrintJob
    • pdftron.PDF.PDFRasterizer.SetImageSmoothing
    • pdftron.PDF.PDFDoc.ExtractFlag
    • pdftron.PDF.PDFDraw.SetImageSmoothing
    • pdftron.PDF.Font.CreateCIDTrueTypeFont
    • pdftron.PDF.PDFA.PDFACompliance.ErrorCode

    March 12, 2014 - Version 6.2.0

    • PDFDoc and SDFDoc can now incrementally save to Filter and memory outputs.
    • Improved PDF/A validation and conversion.
    • Persistent thumbnail disk caching and embedded thumbnail support in viewers (via SetupThumbnails() ).
    • New SetJPGQuality setting for PDF2XOD, PDF2HTML, PDF2EPUB and PDF Flattener. This allows for finer grained control over compression quality of JPG images.
    • Important bug fixes and incremental improvements.

    WinRT (PDFNet for Windows Store apps) Specific:

    • Improved rendering quality on high resolution devices.
    • A new sample app called CompleReader which showcases a full featured PDF viewer.
    • A set of new controls are now part of the Tools, in the pdftron.PDF.Tools.Controls namespace. These can be all be viewed from the Controls button on the left side of the top AppBar in the PDFViewCtrlDemo app. The source code for these controls are public and can be customized as required. The controls include:
      • An AnnotationList showing all annotations in a click-able list.
      • An AnnotationToolbar for working with the various annotation creation tools.
      • An outline (bookmarks view) of the document with click-able links.
      • A ThumbnailSlider which lets you quickly find the page your are looking for.
      • A TextHighlighter control that highlight every occurrence of a text string in the PDFViewCtrl.
    • A signature tool is now included that can add a signature anywhere to a page. Signatures can also be saved for future use.
    • New Filter classes which simplifies I/O operations with PDFNet. These new Filter classes wrap commonly used WinRT streams like InputStream and IRandomAccessStream so it is now possible to work with all of PDFNet I/O operations in WinRT.
    • A new RecentlyUsedCache is added. It works with the PDFViewCtrl to keep a thumbnail of page 1 of any opened document up to date.
    • New PDFNetException class which allows more descriptive error messages(see Getting Started).
    • Fix for printing documents with highlight annotations.
    • Fix for the ScrollBar offset inside the PDFViewCtrl.
    • Saving a document has changed so that a read lock is acquired by the save function. You should no longer lock around any call to SaveAsync.
    • New APIs. Please see documentation for details:
      • pdftron.PDFNet.SetPersistentCachePath
      • pdftron.Common.PDFNetException
      • pdftron.Common.RecentlyUsedCache
      • pdftron.FDF.FDFDoc.CreateFromXFDFAsync
      • pdftron.FDF.FDFDoc.SaveAsync
      • pdftron.FDF.FDFDoc.SaveAsXFDFAsync
      • pdftron.Filters.InputStreamFilter
      • pdftron.Filters.OutputStreamFilter
      • pdftron.Filters.ProgressFilter
      • pdftron.Filters.RandomAccessStreamFilter
      • pdftron.PDF.Convert.ToXodAsync
      • pdftron.PDF.Convert.ToXpsAsync
      • pdftron.PDF.PDFDraw.ExportAsync
    • Changed APIs:
      • pdftron.FDF.FDFDoc.FDFDoc
      • pdftron.PDF.PDFDoc.PDFDoc
      • pdftron.SDF.SDFDoc.SDFDoc
      • pdftron.PDF.PDFViewCtrl.SetupThumbnails

    iOS Specific:

    • PDFNet is compiled with XCode 5.1, and XCode 5.1 must be used to compile a project that uses PDFNet. The use of the new compiler resolves a problem that would cause a crash when using the simulator or decoding certain corrupt JPEG2000 images.
    • PDFNet now ships as a Framework, which is a bundle that contains the static library and its header files. Existing projects will need to be update their import directives from for example #import "PDFViewCtrl.h" to #import
    • PDFNet now links against libc++ (the LLVM version of the C++ standard library). In your project's target settings please change C++ Standard Library setting to libc++.
    • Support for arm64 and x86_64.
    • A set of new controls has been added to the tools library. The source code for these controls are public and can be customized as required. The controls include:
      • AnnotationViewController showing all annotations in a click-able list.
      • AnnotationToolbar for working with the various annotation creation tools.
      • OutlineViewController that displays a document's outline (bookmarks) for document navigation.
      • ThumbnailSliderViewController that displays a page's thumbnail above the slider.
    • A new sample app "Complete Reader" that showcases a full featured PDF reader, incorporating all of the controls above.
    • A new DigitalSignatureTool mode that can add a signature anywhere to a page. Signatures can be saved for future use.
    • A new RecentlyUsedCache is added. It works with the PDFViewCtrl to keep a thumbnail of page 1 of any opened document up to date.
    • The way a tool from the tools library is connected to a PDFViewCtrl has been changed. Instead of the PDFViewCtrl switching tools, a new tools library ToolManager class is responsible. More details can be found here: http://blog.pdftron.com/2014/03/12/ios-tools-v-6-2/
    • Reorganized the packages to exclude the use of workspaces (these were causing confusion). The Tools library once again comes pre-compiled in the /Lib folder, and its source code is in /Lib/src/PDFViewCtrlTools
    • New APIs:
      • PathData -(int)GetGlyphIndex
      • PDFNet +(void)SetTempPath:(NSString*)temp_path;
      • PDFNet +(void)SetPersistentCachePath:(NSString*)persistent_path;
      • PDFViewCtrl - (void)SetupThumbnails: (BOOL)use_embedded generate_at_runtime: (BOOL)generate_at_runtime use_disk_cache: (BOOL)use_disk_cache thumb_max_side_length: (int)thumb_max_side_length max_abs_cache_size: (unsigned long)max_abs_cache_size max_perc_cache_size: (double)max_perc_cache_size;
    • Bug fixes.

    Android Specific:

    • A new sample app called CompleReader which showcases a full featured PDF viewer.
    • A set of new controls are now part of the Tools, in the pdftron.PDF.Controls package. The source code for these controls are public and can be customized as required. The controls include:
      • An AnnotationDialogFragment showing all annotations in a click-able list.
      • An AnnotationToolbar for working with the various annotation creation tools.
      • An OutlineDialogFragment showing the outlines (bookmarks view) of the document with click-able links.
      • A ThumbnailSlider which lets you quickly find the page your are looking for.
    • A signature tool is now included that can add a signature anywhere to a page. Signatures can also be saved for future use.
    • A new RecentlyUsedCache class is added. It works with the PDFViewCtrl to keep a thumbnail of page 1 of any opened document up to date.
    • A new Print utility class that can be used to start print jobs (only available for Android 4.4 or higher)
    • The samples also now include gradle build scripts so it is easy to open and run the projects in Android Studio. The Tools library is kept in the samples folder to make it easier to run the samples and do quick experiments.
    • The PDFViewCtrl.Tool interface was removed and its events were added to the PDFViewCtrl.ToolManager interface. This change gives users more control over the events triggered by PDFViewCtrl. Check the ToolManager implementation for more details.
    • New APIs. Please see documentation for details:
      • pdftron.Common.RecentlyUsedCache
      • PDFViewCtrl.openURL() now supports HTTPS
      • PDFViewCtrl.getThumbAsync()
      • PDFViewCtrl.cancelAllThumbRequests()
      • PDFViewCtrl.ThumbAsyncListener
      • pdftron.PDF.Print
    • Changed APIs:
      • PDFNet.setPersistentTempPath() replaced by PDFNet.setPersistentCachePath()
      • PDFNet.setTempPath()
      • PDFViewCtrl.setupThumbnails()
      • PDFViewCtrl.setDoc() now throws PDFNetException
      • PDFViewCtrl.Tool interface was removed
      • PDFViewCtrl.ToolManager

    New Types and Methods in PDFNet Core API:

    • pdftron.Common.RecentlyUsedCache
    • pdftron.PDFNet.SetPersistentCachePath
    • pdftron.PDF.Convert.XODOutputOptions.SetJPGQuality
    • pdftron.PDF.Convert.SVGOutputOptions.SetJPGQuality
    • pdftron.PDF.Flattener.SetJPGQuality
    • pdftron.PDF.PDFView.ClearThumbCache
    • pdftron.PDF.PDFView.GetThumbInCacheSize
    • pdftron.PDF.PDFView.GetThumbInCache
    • pdftron.PDF.PDFView.CancelAllThumbRequests
    • pdftron.PDF.PDFViewCtrl.ClearThumbCache
    • pdftron.PDF.PDFViewCtrl.CancelAllThumbRequests

    Chaged Types and Methods in PDFNet Core API:

    • pdftron.PDFNet.SetTempPath
    • pdftron.PDF.PDFView.SetupThumbnails
    • pdftron.PDF.PDFViewCtrl.SetupThumbnails

    Other Changes:

    • Documents converted to XOD will have improved support for form actions when viewed in WebViewer 1.7 and above. Note that text selection and links in newly converted XOD documents will not work with WebViewer versions below 1.7.
    • Importing links from XFDF is currently not supported.

    November 1, 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.
    • mproved 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).
    • Now uses an external resource file which reduces the final app size by 2.9 MB for each additional architecture. 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];. 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.
    • The built-in tools now use a new easy-to-use color picker.
    • New "MiscellaneousSamples" project that runs common cross-platfrom samples (http://www.pdftron.com/pdfnet/samplecode.html).
    • 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
    • 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)
    • The library must be used with the version of LLVM that ships with XCode 5. Minimum deployment target is iOS 5 for 32-bit architectures (armv7, armv7s, i386) and iOS 7 for 64-bit architectures (arm64, x86_64).

    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)

    Other Changes:

    • ----

    June 25, 2013 - Version 6.0.0

    • Faster interactive PDF rendering. Performance improvements are especially noticeable when zooming and panning complex documents: blue-prints, CAD drawings, and large pre-press files.
    • Support for per document multithreading. Previously PDFNet supported concurrent access to multiple documents; however as of V6 multiple threads can access the same document. For example, one could use PDFDraw to distribute rendering of PDF pages from a single document across many cores rather than processing them in a serial fashion.
    • High-quality PDF to HTML and PDF to EPUB conversion (pdftron.PDF.Convert.ToHtml() and pdftron.PDF.Convert.ToEpub()). The new conversion options are available on a pay-as-you-go model as part of PDFTron Web Services or based on an OEM license. If you are looking for a command-line utility, the same functionality is available as part of DocPub CLI.

      PDFTron PDF to HTML Converter
      Fig: PDF to HTML Conversion Samples

    • PDF Flattener ('pdftron.PDF.Flattener') is a new optional add-on that can be used to optimize PDF for fast viewing on mobile devices. Flattener can simplify page content (e.g. flattening complex graphics into images) while maintaining vector text whenever possible. For an example of how to use Flattener, please take a look at the second code example in the updated Optimizer sample project. Flattener is licensable on an OEM basis or on a pay-as-you-go model as part of PDFTron Web Services. If you are looking for a command-line utility, the same functionality is available as part of DocPub CLI.
    • Improved export & import of annotations and forms via XFDF/FDF. Besides support for new annotation types and properties, users can now load and save XFDF from a string. For an example, please see the updated FDF sample project.
    • PDFViewCtrl can now download remote PDF documents asynchronously using OpenURLAsync(). If PDF documents are linearized, pages can be downloaded and viewed in random access order - without the need to download the entire document. For an example of how to use OpenURLAsync(), please see updated PDFViewWPF/PDFView sample in .NET and PDFViewSimple in C++ SDK.
    • PDFViewCtrl and PDFView can now search for text asynchronously using FindTextAsync () without blocking the UI.
    • PDFViewCtrl can now automatically recognize URL links and email addresses without presence of explicit link annotations. For more info, please see PDFViewCtrl.SetUrlExtraction() and GetLinkAt().
    • Smart Zoom. The new option in PDFViewCtrl allows user to automatically zoom on a selected piece of content. The feature is especially useful in apps targeting hand-held devices (e.g. Double-tap on a column of text, and PDFViewCtrl will zoom and fit the column making maximum use of your screen and avoiding unnecessary zooming via pinching).
    • ElementEdit sample was rewritten to show how to edit arbitrary PDF files.
    • 'GettingStarted.html' was added to help developers get started with the library and to answer frequently asked questions related to PDFNet integration and deployment.
    • Support for Visual Studio 2012. PDFNet SDK now offers samples which can be opened and compiled using Visual Studio 2012.
    • Numerous bug fixes and incremental improvements.

    .NET Specific:

    • Support for .NET Framework 4.5 (as part of PDFNetDotNet4.zip and PDFNet64DotNet4.zip).
    • Support for .NET Framework 1.x is deprecated. Assembly in the official 'PDFNet.zip' will target .NET Framework 2.0 - 3.5.
    • New annotation and forms tools for WPF control. Following the same pattern used in PDFNet mobile SDKs, annotation functionality was split into a separate assembly (Tools.dll). All licensed PDFNet users who are using WPF control will receive source code for the new assembly. With source code access, PDFNet developers have unprecedented flexibility to customize every aspect of the user experience and to support behaviors/functionality that otherwise wouldn't be feasible. As an example of 'WPF tools in action', please take a look at the updated PDFViewWPF sample project.

    WinRT (PDFNet for Windows Store apps) Specific:

    • Printing support. It is now possible to use a simple API to print any PDF Document on WinRT via an efficient vector print path. Besides standard Windows print options, the API supports many pre-defined and custom print options. See documentation for PDFPrintManager for details.
    • VSIX Installer. PDFNet for Windows Store Apps is now distributed with a VSIX package. This makes it easier to include to projects because you can now include it only once and use it for every platform. Once installed, it can be found in the Reference manager as "PDFNet for Windows Store apps" under 'Windows > Extensions'.
    • Better hit testing for annotations.
    • Improved line editing tool. When editing line annotations, you now get two end points that you can drag anywhere on the page, allowing free rotation and sizing of the line.

    iOS Specific:

    • PDFNet for iOS now includes Objective-C documentation in both HTML format (available as part of the download and on our website) and as a .docset which can be used to provide QuickHelp documentation in XCode.
    • Improved scrolling smoothness.
    • Included sample project includes new bookmark navigation control, a page slider for fast navigation between pages in large documents, a goto page popup and improved aesthetics.
    • Better hit testing for annotations.
    • Improved line editing tool. When editing line annotations, you now get two end points that you can drag anywhere on the page, allowing free rotation and sizing of the line.

    Android Specific:

    • PDFNet is now available in a new standard feature reduced variant (a.k.a. 'lean'). The lean library offers the same viewing, annotation, and editing capabilities of the fully featured library however it is half the size (6MB!). The parts that are missing are relatively rarely used components (such as Redaction, ContentReplacer, Optimizer, Flattener, and Converters).
    • Better hit testing for annotations.
    • Improved line editing tool. When editing line annotations, you now get two end points that you can drag anywhere on the page, allowing free rotation and sizing of the line.

    PDFNet WebViewer Publisher (ToXod()) Add-On:

    • Annotations are now embedded as standard XFDF during PDF to XOD conversion.
    • XFDF annotations can be dynamically parsed and serialized in both HTML5 and Silverlight clients.
    • WebViewer was updated to v1.5, in-sync with PDFNet V6. The version includes many new features and improvements.
    • ToXod() conversion includes a number of extra options that can be used to fine tune conversion. For details please see, 'Convert.XODOutputOptions.FlattenFlag'.
    • Many conversion defaults were changed (e.g. thumbnail size was increased to 400 pixels; all images are capped at 2 mega pixels, default dpi was increased to 150, complex vector art will be flattened, thin lines are now thickened). If your app is using WebViewer, please make sure to review all conversion options before upgrading to V6.
    • As of V6, ToXod() can be used based on 'pay-as-you-go' model as part of PDFTron Web Services. Instead of having to obtain an OEM license you can pay per-conversion even if you host PDFNet on your own servers. For details, please see Getting Started with PDFTron Web Services.

    PDFNet 'pay-as-you-go' licensing with PDFTron Web Services:

    • Starting with version 6, many conversion options in PDFNet can be used based on pay-as-you-go model. Instead of having to obtain an OEM license, you can simply pay for conversions you actually make. Conversions that are currently available under pay-as-you-go are:
      • pdftron.PDF.Convert.ToXod()
      • pdftron.PDF.Convert.ToXps()
      • pdftron.PDF.Convert.ToHtml()
      • pdftron.PDF.Convert.ToEpub()
      • pdftron.PDF.Convert.ToPdf()
      • pdftron.PDF.Convert.ToSvg()
      • pdftron.PDF.Convert.FromXps()
      • pdftron.PDF.Convert.FromEmf()
      • pdftron.PDF.Flattener
      • pdftron.PDF.PDFA.PDFACompliance
    • For more information about using PDFNet SDK based on 'pay-as-you-go' model, please see PWS as well as documentation for 'pdftron.PDFNet.ConnectToCloud()'.

    New Types and Methods in PDFNet Core API:

    • UString FDFDoc.SaveAsXFDF
    • ElementReader.AppendResource
    • Field.GetOptCount
    • Field.GetOpt
    • PDF.Flattener class
    • PDF.LinkInfo class
    • PDFDoc.LockRead
    • PDFDoc.UnlockRead
    • PDFDoc.TryLockRead
    • PDFDoc.TimedLockRead
    • PDFNet.CloudErrorCode enum
    • PDFNet.ConnectToCloud
    • PDFNet.SetViewerCache
    • PDFRasterizer.DownloadedType enum
    • PDFRasterizer.DownloadReportHandler
    • PDFView.SetUrlExtraction
    • PDFView.GetLinkAt
    • PDFView.SetViewerCache
    • PDFView.SetPageRefViewMode
    • PDFView.GetPageRefViewMode
    • PDFView.SetupThumbnails
    • PDFView.ThumbAsyncHandler
    • PDFView.GetThumbAsync
    • PDFView.FindTextAsyncHandler
    • PDFView.SetFindTextHandler
    • PDFView.FindTextAsync
    • PDFView.SmartZoom
    • PDFViewCtrl.SmartZoom
    • PDFViewCtrl.SetUrlExtraction
    • PDFViewCtrl.GetLinkAt
    • PDFViewCtrl.Select
    • PDFViewCtrl.SetDownloadReportHandler
    • PDFViewCtrl.OpenURLAsync
    • PDFViewCtrl.SetupThumbnails
    • PDFViewCtrl.ThumbAsyncHandler
    • PDFViewCtrl.GetThumbAsync
    • PDFViewCtrl.FindTextAsyncHandler
    • PDFViewCtrl.SetFindTextHandler
    • PDFViewCtrl.FindTextAsync
    • Obj.IsValid
    • SDFDoc.LockRead
    • SDFDoc.UnlockRead
    • SDFDoc.TryLockRead
    • SDFDoc.TimedLockRead

    New Types and Methods in WebPublisher Add-On:

    • Convert.XPSOutputCommonOptions.GenerateURLLinks
    • Convert.XPSOutputCommonOptions.OverprintPreviewMode enum
    • Convert.XPSOutputCommonOptions.SetOverprint
    • Convert.XODOutputOptions.FlattenThresholdFlag enum
    • Convert.XODOutputOptions.FlattenFlag enum
    • Convert.XODOutputOptions.AnnotationOutputFlag enum
    • Convert.XODOutputOptions.SetFlattenThreshold
    • Convert.XODOutputOptions.SetAnnotationOutput
    • Convert.XODOutputOptions.SetExternalParts
    • Convert.XODOutputOptions.SetEncryptPassword
    • Convert.XODOutputOptions.HTMLOutputOptions class
    • Convert.XODOutputOptions.EPUBOutputOptions class
    • Convert.ToHtml
    • Convert.ToEpub

    November 8, 2012 - Version 5.9.0
    February 7, 2012 - Version 5.8.0
    May 31, 2011 - Version 5.7.0
    April 14, 2011 - Version 5.6.0
    January 26, 2011 - Version 5.5.0
    November 17, 2010 - Version 5.2.0
    September 16, 2010 - Version 5.1.0
    April 12, 2010 - Version 5.0.1
    March 27, 2009 - Version 4.5.0
    April 11, 2008 – Version 4.0.3
    February 7, 2008 – Version 4.0
    February 20, 2007 – Version 3.6
    August 11, 2006 - Version 3.5
    June 1, 2006 - Version 3.2
    February 1, 2006 - Version 3.1
    November 22, 2005 - Version 3.0
    July 21, 2005
    May 20, 2005
    April 8, 2005
    December 22, 2004
    September 24, 2004
    September 13, 2004
    September 7, 2004
    August 24, 2004