PDF.js Express Plusplay_arrow

Professional PDF.js Viewing & Annotations - Try for free

8.3.0

Mar 16, 2022: Version 8.3.0 adds many new features and fixes many bugs in all areas of the project.

Core

New

  • Added backup server functionality in case main server cannot be reached
  • Added ability to move annotations between pages
  • Improvements to how Webviewer handles "comb" text fields
  • Added getters and setters for both Freehand creation tools' createDelay and simplifyPen (getCreateDelay, setCreateDelay, getSimplifyPen, setSimplifyPen)
  • Added API to extract text given a Rect and a Page (getTextByPageAndRect)
  • Add fill color support for checkboxes
  • General improvements in the API documentation
  • Added the setCustomHandlers API to customize annotation selection model handlers
  • Added support for button widgets with the embedded JS Print action
  • Added support for embedded JS launchURL
  • Added function called setCustomControlHandleDrawHandler to customize appearance of annotation control handles
  • Added function called setCustomCreateSignHereElementHandler to customize the HTML element of Sign Here placeholders
  • Renamed method to export and import annotation commands from importAnnotCommand/exportAnnotCommand to importAnnotationCommand/exportAnnotationCommand
  • Added API to enable and disable annotations after instantiating WebViewer (enableAnnotations and disableAnnotations)
  • Renamed Document asynchronous methods from loadCanvasAsync, loadThumbnailAsync and documentCompletePromise to loadCanvas, loadThumbnail and getDocumentCompletePromise
  • Renamed DocumentViewer method to get the zoom level from getZoom to getZoomLevel
  • Renamed Annotation method that tells if the annotation is part of the original document from getInternal to isInternal
  • Renamed function to get the position of a bookmark from getVPos and getHPos to getVerticalPosition and getHorizontalPosition
  • Added function called setCustomCreateInnerElementHandler to change createInnerElement in order customize widget annotations' HTML element
  • Renamed the event that is triggered when a file is downloaded from FINISHED_SAVING_PDF to FILE_DOWNLOADED
  • Added support for checking and unchecking checkboxes with the spacebar key
  • Added API to set the maximum dimension size when creating signature annotations by dragging a signature from the tool bar setDefaultSignatureOptions
  • Added getters and setters for the properties BorderStyle (setBorderStyle and getBorderStyle) and CloudIntensity (setCloudIntensity and getCloudIntensity) of the Rectangle annotation. The same applies to the Polygon annotation.
  • Added API to set a function to be called before submitting forms (setBeforeSubmitFormActionCallback)
  • Added the ACCEPTED_FILE_SIZE property to limit file size when using the StampCreateTool or the SignatureCreateTool
  • Added support for password obfuscation in text widgets
  • Improved performance for rendering annotations with transparent fill color
  • Added new API called setCustomOnTriggeredHandler to set a custom onTrigger handler for Actions
  • Added support for embedded field formatters

Fixes

  • Fixed issue where downloading a document crashed in PDF.js Express Viewer
  • Fixed issue where signatures would not display properly in certain circumstances
  • Fixed issue with the undo action that would not undo Freehand and Freehand Highlight annotations if the undo button was clicked in a short period of time after the annotation is created
  • Fixed issue where altering the display property within embedded javascript would result in wrong behavior
  • Fixed issue where the annotation placeholder would get removed if the signature's associated annotation got removed
  • Fixed issue where the drawAnnotations would wait for the current drawAnnotation call to finish even if the overrideCanvas option was passed
  • Removed unnecessary warning about WebViewer being on a different domain when using a config file
  • Fixed issue where documentCompletePromise could be undefined when the document was first created
  • Fixed issue where the iframe DOM wasn't accessible immediately after the WebViewer promise resolved
  • Added offset to multiline text widget in order to match the annotation appearance in other PDF viewers
  • Fixed issue where serializing an annotation could mark the annotation as modified
  • Fixed issue where the freeform rotation control handle would not be displayed if the annotation has the NoResize flag set to true
  • Fixed issue where custom headers were not included in HEAD requests to get the content type
  • Fixed issues with annotations being duplicated after editing and text being selected in the wrong spot
  • Fixed race condition when deleting and re-adding annotation in a very short period of time
  • Fixed issue where child fields were not updating their visibility with respect to their parents
  • Fixed issue where line annotation prototype was closed for changing constants like FONT_SIZE
  • Fixed issue with the offset difference between the Freetext annotation and its edit box
  • Fixed issue with the watermark placement on rotated pages when downloading documents
  • Fixed issue where the annotationChanged event was being triggered more than once on some cases with grouped annotations
  • Fixed issue where explicitly passing undefined for width, height or zoom to loadCanvasAsync would return a canvas of the wrong size
  • Fixed issue where an infinite loop would occur sometimes while editing textarea widgets
  • Fixed issue where if no license key was passed and a custom UI was used inside a cross origin iframe then WebViewer would get stuck
  • Fixed issue where the WebViewer default options would sometimes overide changes set right in the beginning of the WebViewer instantiator callback
  • Fixed issue where reloading freeform rotated Freetext annotations would generate unexpected appearances
  • Fixed issue where WebViewer could throw an error when creating checkbox widgets programatically
  • Fixed typo on syncNamespaves API. It's now syncNamespaces.
  • Fixed issue where checkboxes would still be greyed out after setting its ReadOnly flag to false
  • Fixed issue where zoom level becomes NaN after calling jumpToAnnotation
  • Fixed issue where toRect was returning wrong values
  • Fixed issue where WebViewer would throw an error when hovering over Redaction annotations with overlay text
  • Fixed issue where, in some cases, the value changed events were not being triggered when text field values were changed
  • Fixed issue where the text highlighting after a search was off for some documents
  • Fixed issue where the downloaded document would not have the watermarks previously set
  • Fixed issue where the coordinates would be off when using a custom UI outside an iframe in some cases
  • Fixed issue with reloading a document right after saving it while in Form Builder mode
  • Fixed issue with date picker widgets not being re-rendered in all scenarios where they should have been
  • Fixed issue where the following line would not be highlighted when searching for text that contains a split word
  • Fixed issue where if you zoom into an input box so it extends past your viewport, then type in the box, if it overflows, it loses focus
  • Fixed issue with clouds closing all the time even during the creation phase
  • Fixed border shape of required radio buttons
  • Fixed issue where the Freetext annotation's draw function didn't restore the canvas context
  • Fixed issue where new rubber stamps would have empty author
  • Fixed issue where, in some cases, the Sign Here placeholder would still be visible even after signing it
  • Removed extra sticky create tool annotationCreated event
  • Fixed timing issue where if a request is made early and then cancelled it isn't actually cancelled properly
  • Fixed issue where calling exportAnnotations after a document was closed would throw an error
  • Fixed issue where downloading a document with a Freetext annotation in Internet Explorer wouldn't work
  • Fixed issue where freetext annotations weren't editable in Internet Explorer
  • Fixed issue with PWA application not caching properly
  • Fixed issue where in some cases a FreeText annotation with rich text could be serialized incorrectly
  • Fixed the alignment of values for comb fields when printing
  • Fixed issue where an error would be thrown if multiple files were loaded in a very short period of time
  • Fixed some minification issues
  • Removed all references to ResizeableWorker.js file, which was removed previously
  • Fixed issue where widgets would be placed in wrong spots in some scenarios
  • Fixed issue where an error would be thrown if a new document was loaded while the annotations from the previous document were not completely loaded
  • Fixed issue where diamond-styled checkboxes were not being printed
  • Fixed issue where the radio button widgets created in the forms mode would have no border by default

UI

New

  • Added the download button into the PDF.js Express Viewer
  • Added better placement for the ribbons by centering them with there is enough space
  • Added constants to be used as the argument of setTheme
  • Added onError callback as an option to loadDocument
  • Added API to reload the outlines called reloadOutline
  • Added a sourcemap file by default for easier debugging of UI code
  • Added the pre-selection of a default rubber stamp for the rubber stamp tool
  • Renamed function to set the notes panel sorting strategy from setSortStrategy to setNotesPanelSortStrategy.
  • Added constants to be used as arguments for setNotesPanelSortStrategy and setToolbarGroup.
  • Added a new WebViewer option called autoFocusNoteOnAnnotationSelection to turn on and off auto selection of reply/comments on annotation selection
  • Added WebViewer option called additionalTranslations and API called setTranslations to add and update translation entries
  • Added API to control if notes can be added by clicking only Enter instead of CTRL/CMD+Enter (enableNoteSubmissionWithEnter and disableNoteSubmissionWithEnter)
  • General improvements to Signature and Custom Stamp modals
  • Similar colors are now grouped in the notes filter
  • Added property to enable tools without presets when registering a new tool (registerTool)

Fixes

  • Fixed issue where the tool group and the ribbon would be out of sync in some cases
  • Fixed issue where the page navigation does not change if thumbnails panel is extended
  • Fixed issue where the signature list was not scrollable
  • Fixed issue with the tooltips of page navigation controls where they would be still visible even though the controls would fade out
  • Fixed issue where image signatures would be clipped on the edges in some cases
  • Fixed issue with using the rich text styling menu on Freetext annotations
  • Fixed some Dutch, French, Japanese and Korean translations
  • Fixed issue where the delete buttons for default signatures were displayed even after being disabled
  • Fixed issue where UI toolbar state would show two selected tools when the core API for changing the tools was invoked
  • Fixed issue where the notes would break if a URL with character encoding was inserted in its content
  • Fixed issue related to outlines not getting updated when pages are moved
  • Fixed issue where calling searchText was not jumping to the next results
  • Fixed issue with the comment button action for a FreeText annotation where it would not open the notes panel
  • Fixed issue where the rich text controls were not working for Freetext annotations
  • Fixed issue where the name of the signer was retrieved from the wrong certificate field
  • Fixed issue where the bookmarks panel would not be refreshed if a new document was loaded
  • Fixed issue where the style popup was not collapsing correctly on iPads
  • Fixed issue where the Freetext annotation style popup slider was off screen on mobile devices
  • Fixed issue where the dropdown menu icon in the toolbar becomes unclickable when the frame height is small
  • Fixed issue with the style popup sliders not being displayed in some cases
  • Fixed issue where the notes filtering modal was not scrollable on certain zoom levels
  • Removed opacity slider for widgets as it's not supported at this point
  • Fixed styling for form field pop up "Add Option" button on mobile devices
  • General style fixes for Internet Explorer
  • Fixed issue where some tooltips would be displayed even after its base element was not hovered anymore
  • Fixed issue where the annotation color filter in the notes panel would be applied to color fields inconsistently. Now it is applied to the annotation icon's color.
  • Fixed issue where the search panel would not close in some scenarios when using mobile devices
  • Fixed some French translations
  • Fixed issue where WebViewer would not go into ReadOnly mode when using isReadOnly: true option
  • Fixed issue where the saved signatures dropdown would collapse if the mouse hovered a text after clicking the SIGN HERE placeholder
  • Fixed some Vietnamese translations