Version 6.0 Changelog (2019-12-19)

Breaking changes

See v6 migration guide for information on the main breaking changes.

  • The importAnnotationsAsync function has been removed and the importAnnotations function is now always asynchronous and returns a promise.
  • The exportAnnotations function is now asynchronous and returns a promise.
  • The importAnnotCommand function is now asynchronous and returns a promise.
  • The getAnnotCommand function is now asynchronous and returns a promise. This API is deprecated in favor of exportAnnotCommand.
  • The extra jQuery event object is no longer a parameter when handling events triggered by WebViewer. The imported property for annotationChanged is now accessible on the third parameter.
  • widgetAnnot.innerElement is now a normal DOM element instead of a jQuery wrapped element. When defining createInnerElement it should now also return a normal DOM element.
  • viewerLoaded, and documentLoaded events are triggered on the window instead of the document object inside a config file.
  • jQuery is no longer accessible inside a config file.
  • Tools.SignatureCreateTool.setSignatureCanvas now takes a canvas instead of a jQuery wrapped canvas.
  • The getCustomData function is on the window.readerControl object instead of window.ControlUtils inside a config file.
  • The folder structure of WebViewer/lib/ui is changed and it now contains only the files that were in the WebViewer/lib/ui/build folder. This is a breaking change if you forked the UI repo in this folder. Check out the updated UI customization guide for more details.
  • The Custom property of Annotations.Annotation is replaced by the CustomData property. The value of CustomData must be an object, and it will be preserved in the downloading process.
  • setCustom and getCustom of Annotations.Annotation are replaced by setCustomData, getCustomData and deleteCustomData.
  • docViewer.getCompleteRotation now requires a page number as the first parameter.
  • The legacy UI is no longer available in the download package.

New

Updates

  • Support for near instantaneous loading and viewing of remotely stored PDFs by displaying a document preview before all client-side components are downloaded and compiled. To optimize your document simply call PDFDoc.saveViewerOptimized() using your favorite version of Apryse SDK or DocPub utility.
  • CoreControls.js is no longer dependent on jQuery. If you are loading it as a script tag directly you no longer need to load jQuery as well.
  • Undo and redo are now supported by default in the UI through keyboard shortcuts. APIs are also provided through the AnnotationHistoryManager object.
  • Annotation states are now supported and can be changed in the UI notes panel. APIs are also provided through the subclasses of the Annotation class.
  • A crop tool is now provided by default in the UI for PDF documents. You can click and drag to select the crop area and press the checkmark to apply the crop.
  • A Video class is available through a separate download. This class enables you to load a video in WebViewer and annotate on each frame.
  • All the sticky(comment) annotation appearances are now supported.
  • Updated the notes panel to virtualize notes when there are more than 300 of them.
  • Updated the diff sample to show different colors based on pixel difference. If the pixel difference is smaller the color will be closer to gray. Larger will be closer to magenta.
  • Updated the diff sample to support diffing Office documents.
  • Updated read-only signature widgets to show different css styles.
  • Updated the signature tool to be able to programmatically add a stamp annotation. In the older version it can only add a freehand annotation.
  • Added support for proper multiply blending of highlight annotations.
  • Added the functionality to manipulate pages through thumbnail panel. Operations include rotating pages, deleting pages, merging document and reordering pages through drag and drop. These operations can be enabled by instance.enableFeatures([instance.Feature.ThumbnailMerging, instance.Feature.ThumbnailReordering]) and instance.enableElements(['thumbnailControl']).
  • Added a layers panel to the UI. The layers panel can be used to toggle different layers that are present in a PDF document.
  • Added a bookmarks panel to the UI. More details can be found in this guide.
  • Added a nudge tool to the diff sample. The nudge tool can be used to adjust the diff in a more accurate manner.
  • Added a new Accessibility sample project that reads out the document text.
  • Added OverlayText and TextAlign options to Annotations.RedactionAnnotation
  • Added more snap modes to DocumentViewer.snapToNearest.
  • getAnnotCommand is deprecated in favor of exportAnnotCommand.

Fixes

  • Fixed issue with redaction on rotated pages.
  • Fixed issue where changing documents while drawing watermark caused an error.
  • Fixed issue where clicking outside of the document while using the eraser tool caused an error.
  • Fixed issue where the filename option isn't passed to instantiate WebViewer properly.
  • Fixed issue where swapping to client side with a document that has a slightly different height resulted in unnecessary canvas actions.
  • Fixed issue where signature annotations added to signature widgets output wrong XFDF in terms of width and height in the annotationChanged event.
  • Fixed issue where clicking page manipulation buttons when no document is loaded caused an error.
  • Fixed issue where the parent property wasn't set for PDF bookmarks
  • Fixed issue where documentLoadingProgress event was triggered with 100% progress even when the linearization data is invalid.
  • Fixed issue where text in notes weren't sanitized properly to prevent XSS.
  • Fixed issue where in dark theme, highlighted text in the notes/search panel were hard to see.
  • Fixed issue where disableTools didn't disable the eraser tool.
  • Fixed issue where setReadOnly didn't remove tool group buttons.
  • Fixed issue where sliders in the UI didn't resize properly when the browser resizes.
  • Fixed issue where the cursor didn't focused at the last character in the textarea in the notes panel.
  • Fixed issue where drawing or moving annotations in tablets/mobiles didn't close the style picker.
  • Fixed issue where the LockContents property wasn't respected properly in the notes panel.

Did you find this helpful?

Trial setup questions?

Ask experts on Discord

Need other help?

Contact Support

Pricing or product questions?

Contact Sales