VirtualViewer v5.4.0 Release Notes
Below, please find the release notes for VirtualViewer® v5.4.0 and associated minor releases. For questions, please contact us at info@accusoft.com or by phone at (617) 607-2010.
v5.4.0 - August 27, 2020
General availability release.
New features
- Upgraded iText from 7.0.5 to 7.1.9 for PDF/XFA, HTML file format support
- Added Tesseract 4.1 OCR support for Linux Operating Systems
Packaging changes
-
Provided POM with dependencies only
-
Added Javadoc JAR packaging
Known Issues
- The default software repository used by Debian 10 “buster”, and possibly other Linux distros, will install tesseract 4.0 which is incompatible with tess4j 4.5.2. Downgrading tess4j is not feasible. You must compile and install tesseract 4.1.x from source or use a 3’rd party repository. A quick guide (provided with no guarantees) is located in our VirtualViewer® 5.4.0 Docker release GitHub repository. Windows is unaffected as these DLLs are provided.
- If you are using Docker, our image already has this fix applied. If you would like to build your own image, see our reference design provided in the
custom
directory.
- If you are using Docker, our image already has this fix applied. If you would like to build your own image, see our reference design provided in the
Hiding the Toolbars and Document Tabs
VirtualViewer®’s top toolbar, annotation toolbar and document tabs can all be hidden from the viewer. To hide the top toolbar, the parameter disableToolbar
must be set to true
in the config.js file. To hide the annotation toolbar, the parameter disableAnnToolbar
must be set to true
in the config.js file. Finally, to hide the document tabs and remove the tab bar above the document, the parameter disableImageTabs
must be set to true
in the config.js file. If all, a combination of the three, or any of these parameters are set to true
the space is filled by the document.
Configurable Canvas Size
VirtualViewer®’s canvas height and width calculations are now more accurate. In addition to the more accurate canvas size calculations, the canvas size is now configurable by setting the parameter canvasBufferSpace
in the config.js file. Therefore, the canvas size cannot become too big and overlap the horizontal scrollbar, leaving the scrollbar unusable. A suggested value for the canvasBufferSize
is a value less than 20.
Drawing Annotations with a Locked Aspect Ratio
Users can now draw and resize most annotations while locking their aspect ratio. Several new behaviors allow this enhancement.
A new configuration item has been introduced to ensure that image rubber stamp annotations will never deform as a user resizes them. Set vvConfig.enableStampAspectRatioLock
to true
in order to force image rubber stamps to retain their aspect ratio as the user draws and resizes. This configuration item is off by default.
When the user draws a new ellipse or rectangle annotation, holding shift will force the annotation to a circle or a square, respectively. Holding shift while resizing a drawn annotation will preserve that annotation’s aspect ratio as it shrinks or expands.
Holding shift while drawing a line or arrow will make it snap to horizontal or vertical lines. Holding shift while resizing lines doesn’t lock it’s aspect ratio or orientation.
New Alpha of a RESTful Content Handler
VirtualViewer® 5.4 includes an alpha version of a RESTful content handler. Normally, VirtualViewer® calls content handler code through Java interfaces, requiring Java development. The alpha RESTful content handler translates those requests to an HTTP API. This allows the custom content handler to be completely written in any programming language and to be independent of VirtualViewer® code.
New Callbacks
annotationDeletion
will be called when the user deletes an annotation. The following parameters will be provided to the callback in the argument object:type
{String} The type of annotation that was deleted. For instance, “Line” or “Arrow”.
onWindowResize
will be called when the browser window resizes. The following parameters will be provided to the callback in the argument object:defaultZoomMode
{Number} The default zoom mode set inconfig.js
. This number correspond to a value in thevvDefines.zoomModes
enum.currentZoomMode
{Number} The current zoom mode used by the browser; after load, this value is usually set to the custom zoom mode. This number correspond to a value in thevvDefines.zoomModes
enum.
onPageLoadAndRendered
will be called when a page has been successfully rendered on the canvas. There may still be cases where the page unexpectedly fails to render without an error that the viewer can catch. The following parameters will be provided to the callback in the argument object:documentId
{String} The ID of the currently open document.pageNumber
{Number} The index of the page that has just been loaded.
onThumbLoadAndRendered
will be called when a thumbnail image is loaded and rendered. The following parameters will be provided to the callback in the argument object:documentId
{String} The ID of the currently open document.pageNumber
{Number} The index of the page thumbnail that has just been loaded.
onSplitScreenComplete
will be called when the viewer has successfully entered into split screen mode. The following parameters will be provided to the callback in the argument object:documentId
{String} The document id of the document we are opening in the split pane.paneIndex
{Number} The current pane index for the document.
Miscellaneous
- Copying and pasting between sessions of VirtualViewer® in different tabs or windows can now be disabled by setting
enableCopyPasteBetweenSessions
in config.js to false. - A document is no longer marked as modified when an annotation button is selected, but an annotation is not drawn.
- Closing the right pane document when in document compare mode can now be disabled by calling the function
virtualViewer.removeUndoSplit()
. Thex
button on the top left corner of the right pane is removed. In addition, the option to close the document from the right-click context menu has also been removed. - The thumbnail image in the pages tab align with the current page when selecting a bookmark link.
- Documents may now Save As their original format, rather than converting to TIF or PDF, when no image manipulations or modifications have been performed.
- Client-side calculation of image brightness has been tweaked to better match the server’s calculations.
Have questions, corrections, or concerns about this topic? Please let us know!