PDF.js Express Plusplay_arrow

Professional PDF.js Viewing & Annotations - Try for free

7.3.0 Changelog

7.3.0 (Feb 23, 2021) contains many UI improvements and fixes a few major regressions from the previous release.

PDF.js Express Core


  • Updated the default style of annotation selection box and control handles
  • Added a few static variables on the ControlHandle that give more control over the styling
  • Added a CanvasHelper class which provides some utility functions for drawing on HTML canvases
  • Added support for creating custom annotations that are viewable in other PDF viewers
  • Added a new useMouseLocation option for pasteCopiedAnnotations
  • Added a few new APIs for the TransformationBuilder
  • Added setEditableAnnotationStyles for setting the styles of editable annotations which appear in the widget editing mode
  • Added getExactViewportRegionRect which returns the exact viewport rendering region if viewport rendering is enabled
  • Added setMinimumAnnotationSizeWhenResizing that sets the minimum allowed size of an annotation when it's being resized
  • Added disableEnterKeypress and enableEnterKeypress that disables/enables usage of the enter key when editing the contents of a free text annotation
  • Added getIndex that returns the index of the bookmark among its siblings
  • Updated so that position and dimension attributes (X/Y/Width/Height) now will automatically sync up the underlying path locations for annotations defined by paths (e.g. line, polyline, polygon, free text)


  • Fixed issue where printQuality was not getting set properly in some cases
  • Fixed issue where pages with no selectable text would sometimes crash
  • Fixed issue where pasted free text annotation did not have rich text styles
  • Fixed issue where changing an annotation's page number could drop the annotation's appearance
  • Fixed issue where cursor might display incorrectly after a page is rotated
  • Fixed issue where cloudy rectangle annotations could be invisible after importing
  • Fixed issue where read-only date picker widgets were still visible in the document
  • Fixed issue where choice widgets were always on top of other widgets
  • Fixed issue where automatically added link annotations would be included in exported XFDF commands
  • Fixed issue where annotations with duplicate ids weren't handled correctly
  • Fixed issue where loadCanvasAsync might be called too early when a new document is loaded
  • Fixed issue where fitText resized free text annotations incorrectly on rotated pages
  • Fixed issue where window.opener could be used for a potential XSS attack in Firefox and IE11
  • Fixed issue where annotations could appear to shift positions briefly when panning in viewport mode
  • Fixed issue where text of a free text annotation might not be wrapped properly in the appearance
  • Fixed issue where vector appearances of free text annotations weren't used when free text annotations didn't have rich text styles
  • Fixed issue where "undo" didn't work properly for free text annotations in all cases
  • Fixed issue where positions of internal annotations weren't kept after page rotated
  • Fixed issue where getParent did not return an instance of CoreControls.Bookmark as it is documented
  • Fixed issue where invalid points were not handled gracefully and caused errors
  • Fixed issue where automatically added links had a trailing dot
  • Fixed issue where saved signatures could not be imported properly back into the signature tool
  • Fixed issue where text selection could be flickering in some documents
  • Fixed issue where arrow line annotations did not have an intent (the IT property)
  • Fixed issue where "undo" didn't work for pending freehand annotations
  • Fixed issue where copying and pasting text didn't work the second time in Chrome
  • Fixed issue where the textSelected event was triggered more times than expected
  • Fixed issue where null opacity and stroke thickness on default tool styles would cause issues
  • Fixed issue where lines that begin with hyphens couldn't be searched

PDF.js Express UI


  • Updated the rich text popup component to be disabled by default because rich text styles are currently not supported by all other PDFTron SDK platforms. They can still be used and enabled in WebViewer by calling instance.enableElements('richTextPopup') and there are no issues if you're only using WebViewer.
  • Updated the thumbnails in the thumbnail panel to rotate with viewer page rotation
  • Added a new setAnnotationReadState API that sets the read/unread state of annotations in the notes panel
  • Added a settingsMenuOverlay object on the instance, which can be used to add or update buttons in the menu overlay component
  • Added a new custom color picker component that can be used to create custom colors that are used for styling annotations or tools
  • Added a new print current view option in the print modal component
  • Added an indicator for each note in that notes panel that will show up when a note has a typed reply or comment that hasn't been submitted yet
  • Added a slider in the thumbnails panel that can be used to resize the thumbnails
  • Added an annotationFilterChanged event on the instance that will be triggered when users change the filter options in the filter modal component
  • Added disableClearSearchOnPanelClose and [enableClearSearchOnPanelClose][/api/7.0/WebViewerInstance.html#enableClearSearchOnPanelClose__anchor]
  • Updated the link modal component to be able to accept page labels, not just page numbers
  • Updated the search panel to use a spinner to indicate that searching is in progress


  • Fixed issue where keyboard would pop up when selecting an annotation on mobile devices
  • Fixed issue where non-viewable annotations were still showing up in the filter modal component
  • Fixed issue where date in the notes panel component weren't updated when the language changed
  • Fixed issue where annotation notes were selected even when the notes panel was closed
  • Fixed issue where the search input was focused after UI initialize, which caused the virtual keyboard to pop up on mobile devices
  • Fixed issue where double tapping on a free text annotation did not start editing it on mobile devices
  • Fixed issue where the document horizontal scrollbar wasn't working
  • Fixed issue where page operations weren't enabled when WebViewer Server was used
  • Fixed issue where an extra margin was added in the printed document in Firefox
  • Fixed issue where grouped annotations weren't hidden properly when printing
  • Fixed issue where clicking on the selection tool would change the zoom level of the document in some cases
  • Fixed issue where the blinking cursor wasn't showing when the rich text editor did not have any contents
  • Fixed issue where mentioned name couldn't be deleted properly when the mention feature was enabled
  • Fixed issue where plurals weren't handled properly in some languages
  • Fixed issue where printInBackground did not print with default options correctly
  • Fixed issue where the resize bar in the panels could be unreachable
  • Fixed issue where notes in the notes panel were always in the edit mode
  • Fixed issue where calibration wasn't applied to all the measurement tools
  • Fixed issue where the annotation filter modal component wouldn't close when a new document was loaded
  • Fixed issue where individual states in the state popup component couldn't be disabled
  • Fixed issue where the date picker widget wasn't using the correct embedded JavaScript in some cases
  • Fixed issue where the last page couldn't be scrolled to in the cover facing display mode
  • Fixed issue where signature previews were in the wrong rotation
  • Fixed issue where the tooltip of the underline tool's shortcut wasn't correct
  • Fixed issue where the annotation note line connector wasn't showing properly in IE11
  • Fixed issue where buttons in the page navigation component were invisible in IE11
  • Fixed issue where the search input in the search panel wasn't cleared after a new document was loaded
  • Fixed issue where the page navigation component did not work in non-scrollable display modes
  • Fixed issue where setActiveHeaderGroup did not work with toolGroups
  • Fixed issue where the annotation popup component did not appear when either the left or the right panel was open
  • Fixed issue where locked layers could still be toggled in the layers panel
  • Fixed issue where layers with the same layer name could not be toggled properly
  • Fixed issue where annotations with LockedContents could still be edited
  • Fixed issue where the annotation line connector component opened on the wrong page
  • Fixed issue where the annotation line connector component showed in the printed document
  • Fixed issue where the note wasn't focused when its corresponding annotation was selected in the document