Version 3.0.0 Changelog (2017-06-09)

In this document
chevron_rightBreaking Changes
chevron_rightNew strings
chevron_rightPDFNetJS Updates

Breaking Changes

  • Now only a single AnnotationManager instance is created even when multiple documents are loaded. This means if you previously added AnnotationManager event handlers inside the documentLoaded event you should move them to the viewerLoaded event otherwise you'll receive an extra event for every new document you load.
  • All old annotation popup behavior (notes that appeared directly on the document, NOT in the notes panel) has been removed
  • The enableAnnotations option is now set to true by default. If you want annotations to be disabled you should explicitly set this to false.

New strings

  • contextMenu.edit, contextMenu.strikeout, contextMenu.squiggly
  • annotations.tooltips.stamp
  • error.OfficeLoadError
  • noMatchesFound
  • mobile.enterPageNumber

PDFNetJS Updates

  • Added support for viewing of Office documents
  • Improved worker loading to allow Emscripten fallback in case of a PNaCl worker error
  • Added new method setPagesUpdatedInternalAnnotationsTransform which will be triggered when individual page annotation data comes in for linearized documents loaded with downloader
  • Added PDFATest sample
  • Added Custom Download viewer sample
  • Added Document Preprocessing viewer sample
  • Fixed memory leaks when downloading PDFs containing a large number of stamps
  • Fixed issue with stamp quality loss when saving and reloading a file
  • Fixed issue where bookmarks without actions would not be exported
  • Fixed issue with using downloader inside a Chrome app
  • Fixed issue with moving pages in a document
  • Fixed issue saving files with cloudy annotations
  • Fixed issue that could occur sometimes when importing large amounts of XFDF data
  • Fixed issue with downloading documents in Safari
  • Fixed downloader timing issue with the updating of the page dimensions causing some pages to be stuck with the incorrect size

WebViewer HTML5 Updates

  • Added a realtime collaboration sample and tutorial
  • Added DocumentViewer.setWatermark to allow watermarks to be easily displayed over pages
  • Added a stamp annotation tool in the toolbar that allows a user to add an image file as a stamp to the document
  • Added support for setting custom styles on widget annotations as well as overriding createInnerElement. See the new sample for more details.
  • Updated the default tool mode so that it automatically allows selection of text when hovering over text and allows panning while holding the spacebar
  • Added DocumentViewer.getTool, DocumentViewer.getToolModeMap and moved the toolModeMap instances into DocumentViewer
  • Automatically update the notes panel when annotation permissions change e.g. switching to readonly mode
  • Improved the documentation styling
  • Updated jQuery to version 3.2.1
  • Added several optimizations to improve the performance of XOD rendering
  • Added several optimizations to improve the performance of XOD text search
  • Added DocumentViewer.setPageVisibilityCallback to set a callback that will be called whenever a new page becomes visible in the viewer
  • Added readerControl.setSearchInLeftPanel to automatically trigger a search when a document loads
  • Added warning if an unknown option is passed to the WebViewer constructor
  • Added readerControl.enableCopyAndTextSelection to allow text selection to be enabled or disabled from the UI
  • Added the CoreControls.disableEmbeddedJavaScript function to allow embedded JavaScript to be disabled.
  • When searching reaches the end of the document it now asks if you want to search again from the top
  • Added a FORCE_SELECT option for choice widgets causing all choice widgets to be select HTML elements
  • Improved auto font sizing for FreeText annotations
  • Added support for the InkHighlight intent for FreeHand annotations
  • Added support for cloudy border style for rectangle annotations
  • Exposed the getPageMatrix function on documents
  • Improved performance for loading combo boxes with many options
  • Annotations are now displayed on thumbnails in the thumbnail panel
  • Exposed NoteManager (for the NotesPanel) on window so that it can be accessed from a config file
  • Added several new events triggered from the notes panel
  • AnnotationManager.exportAnnotations now takes a "fields" option and removes fields, widgets and links if the annotList option is present
  • Mouse cursor is updated when hovering over annotations and text
  • The full text search in the left panel now highlights the word that was searched for
  • Updated the FreeText tool so that FreeText annotations can be created with a single click
  • Signatures now preserve their aspect ratio when resizing
  • The print dialog is now automatically closed when closing a document
  • Improved handling of date formats starting with a day
  • The document rotation is now taken into account when positioning the annotation edit dialog
  • Improved scoping of the $ variable in WebViewer.js so that it isn't a problem if it is overridden
  • When focusing text fields through embedded JavaScript now the scroll won't change if the field is already in view
  • Added better support for bold and italic fonts in text fields
  • Added support for the multiselect flag on list fields
  • Updated list, choice and pushbutton fields to respect the readonly flag
  • Added proper handling of the scroll long text flag for multiline text fields
  • Fixed issue where if a text field was removed from the DOM while it was still focused then the updated value wouldn't be saved
  • Fixed issue with event.value in embedded JavaScript being readonly for some events so it would throw an error if any code tried to set the value
  • Fixed issue with links not being able to be clicked
  • Fixed issue with invalid characters in text data producing invalid XML
  • Fixed issue with changing pages by scrolling on Mac trackpad in non-continuous view modes
  • Fixed issue where Cmd + click didn't work to select multiple annotations
  • Fixed issue where WebViewer was trying to adjust ms-app links because it thought they were a relative path
  • Fixed issue where pages wouldn't be printed when WebViewer was in a particular orientation

WebViewer Mobile Updates

  • Improved behavior when unfocusing an input field on Android devices so that the page isn't rerendered
  • Improved behavior of the arrow sizing on choice widgets
  • Added workaround for issue with orientation changes on iOS when the viewer is inside an iframe
  • Fixed issue where resizing a text annotation wouldn't update the note contents in the annotation list