Release Notes
2.1 (12/03/2024)
Version 2.1 of Dynamsoft Document Viewer comes with a suite of exciting new features, improvements to existing features, and performance optimizations.
Dynamsoft Document Viewer now comes with massively improved performance for working with huge documents with a large number of high resolution images. Users can expect to load, edit, annotate, and export massive documents with ease.
New Features
-
Added
enableMagnifier
, which provides a corner magnifier in the Edit Viewer and Perspective Viewer. This magnifier creates a zoomed-in view of the selected area to allow for more precise adjustments on touchscreen devices. - Added keyboard shortcuts for document management. These shortcuts are controlled by
KeyboardInteractionConfig
. All shortcuts are available for the Edit Viewer, and only the navigation and page selection shortcuts are available for the Browse Viewer:- Undo/redo
- Copy/cut/paste
- Annotation/page selection
- Scrolling/navigation
- Cancel/delete
-
Added drag-and-drop image loading with the new
enableLoadSourceByDrag
configuration property for the Edit, Browse, and Perspective Viewers (enabled by default). -
The new
setAnnotationDrawingStyle
method can now be used when creating annotations to set its default drawing style, for example, to set a custom image to use as the default stamp annotation. -
Added the following flags to restrict annotation editing actions:
noResize
,noRotate
,noMove
. These flags are preserved when saving to PDF, and respected when importing into DDV from PDF. -
Added a
flattened
property getter/setter to annotation objects, which flattens the individual annotation onto the base image layer. This behavior is also preserved upon saving to PDF. For example, a rectangle annotation may be flattened withRectangle.flattened = true
. - Added informative task progression messaging using
InfoObject
for event listening.InfoObject
provides different details for different types.
Improvements
-
Improved general performance.
-
Added support for processing much larger documents (over 1000 pages). See performance improvements compared to version 2.0:
Win10 i5-7400 CPU @ 3.00GHz
Document Type Number of Pages File Size Load Time Peak Memory Use for Loading Save Time Peak Memory Use for Saving Image PDF[96DPI 2160x3840 convertMode ImageOnly] 100 92.1MB 1.3s 650MB 1.33s 780MB 500 460MB 4.5s 890MB 12.2s 1934MB 1000 921MB 9.7s 960MB 24.07s 4GB Text PDF[A4 convertMode render] 100 2.61MB 0.411s 330MB 0.290s 340MB 500 13.0MB 1.185s 446MB 2.427s 556MB 1000 26.1MB 2.777s 540MB 4.861s 590MB -
The annotation toolbar and annotation palette in the Edit Viewer are now optional and can be toggled with
toolbarConfig
andpaletteConfig
fromannotationConfig
. -
Removed page scrolling with mouse scroll wheel and touchscreen swiping in single page mode.
-
Improved page selection performance in the thumbnail gallery.
2.0 (08/20/2024)
We are excited to introduce version 2.0, which focuses on adding a powerful new annotation feature. This release includes comprehensive support for various types of annotations, new APIs for managing annotations, and advanced UI capabilities for seamless interaction.
Supported Annotation Types:
Built-in UI for Annotation
Direct Annotation Operations in the UI
- Add, select, and delete annotations
- Drag, resize, and rotate selected annotations
- Real-time editing of annotation styles using the palette
New Built-in Elements
- Added built-in elements to enhance UI configuration flexibility.
New APIs for Annotation
-
Added the namespace Dynamsoft.DDV.annotationManager and APIs for annotation management:
- Create, delete, and retrieve annotations based on various conditions
- Adjust annotation hierarchy
- Handle events triggered by annotation operations
-
Added the property annotationConfig to EditViewerConstructorOptions for configuring the annotations in the viewer, including the toolbar, palette, and default annotation style:
- annotationSelectionStyle: Defines the style of annotation selection.
- inkCreateDelay: Specifies the delay for ink creation to support annotations created in multiple strokes.
- showOnTopWhenSelected: Determines whether the selected annotation should be displayed on the top layer.
-
Added the method
<static> addFonts()
to add fonts to the library. -
Added the method
selectAnnotations()
to select the specified annotation(s) on the current page. -
Added the method
getSelectedAnnotations()
to retrieve selected annotation(s). -
Add properties
mediaBox
andcropBox
toPageData
for accurate annotation position calculation. -
Added the property
annotationMode
to specify or return the annotation mode of the viewer. -
Add the property
saveAnnotation
to the interfacesSavePngSettings
,SaveJpegSettings
, orSaveTiffSettings
to determine whether annotations are saved as part of the image when callingdocument.saveToPng()
,document.saveToJpeg()
, ordocument.saveToTiff()
. -
Added the property
saveAnnotation
to the interfaceSavePdfSettings
to configure whether annotations should be saved whendocument.saveToPdf()
is called. -
Add the parameter
defaultUiConfigOptions
to<static> getDefaultUiConfig()
to retrieve configurations including annotations. -
Add the parameter
printSettings
to thedocument.print()
to specify whether printable annotations should be included in the print. -
Added the type
annotation
toToolMode
to enable a mode that allows annotations to be manipulated via the UI. -
Added the type
annotationSelectionStyle
toEditViewerStyleName
for retrieving or updating the annotation selection style.
Other New APIs
Additionally, we’ve optimized performance and added several new features to enhance the overall user experience.
-
Added the property
password
to the interfaceSavePdfSettings
for configuring the password of the PDF file to save whendocument.saveToPdf()
is called. -
Added the property
imageScaleFactor
to the interfaceSavePdfSettings
for configuring the image scale factor of the PDF file to be saved whendocument.saveToPdf()
is called.
Improved
- Optimize the display effect of images in thumbnails.
- Optimize the interactive experience of scaling.
- Modified the type of
PdfSource.renderOptions.renderAnnotations
to support reading annotations. - The method
openDocument()
supports the UID or the document object. This affects theopenDocument()
method in theEditViewer
,PerspectiveViewer
,CaptureViewer
, andBrowseViewer
classes.
Changed
- Change the length unit from pixel to point for functions and events related to cropping, for example,
crop()
,getCropRect()
,setCropRect()
,cropRectDrawn
,cropRectDeleted
,cropRectModified
. - Change the units of the parameters pageWidth and pageHeight in the method
insertBlankPage
from inches to points. - The related date string format change shifts from format D:YYYYMMDDHHmmSS to D:YYYYMMDDHHmmSSOHH’mm’.
1.1 (01/12/2024)
Improved
- Optimized compatibility with browsers. » Detail
Added
-
Added the namespace
Dynamsoft.DDV.Core
. -
Added the property
license
to specify the license string. -
Added the property
engineResourcePath
to specify the path leading to a folder containing the distributed WASM files. -
Added the property
deviceFriendlyName
to specify a human-readable name for the device which corresponds to its UUID. -
Added the method
loadWasm()
to load WASM modules before initializing. -
Added the method
init()
to initialize DDV. -
Added the method
insertBlankPage()
to insert a blank page to the document.
Removed
The following API is removed.
API Name | Notes |
---|---|
Dynamsoft.DDV.setConfig() |
Use Dynamsoft.DDV.Core.license , Dynamsoft.DDV.Core.engineResource , Dynamsoft.DDV.Core.deviceFriendlyName , Dynamsoft.DDV.Core.init() instead. |
1.0.0 (12/26/2023)
Dynamsoft Document Viewer (DDV) is a versatile SDK designed to offer a range of viewers for configuring and executing various document processing workflows.
Highlights
Efficient Data Management
Organize, retrieve, and manage documents and pages efficiently:
- Document Management: Document creation/deletion/merging, etc.
- Page management: Pages in documents loading/saving/deleting/moving, etc.
Various Viewers
Various kinds of viewers implement different document processing flows:
- Edit Viewer: Edit the pages in document, such as, rotating, cropping, filtering, etc. and adjust the layout of the display.
- Capture Viewer: Control camera, play video stream, and capture the images from camera.
- Perspective Viewer: Do page boundaries manual adjustment & perspective transformation.
- Browse Viewer: Display pages in multiple-mode, pages can be multiple selected.
- Custom Viewer: No built-in UI or functionality, which is used for creating your own viewer.
Flexible Customization
Besides using the default user interface and viewer directly, developers can easily and flexibly customize them:
- User Interface: Layout, elements
- Viewer: Styles, viewer properties
Advanced Features
DDV provides methods to access document boundaries detection and image filter algorithms.
- Image filter: Image filter algorithm which is used by Filter element in Edit Viewer.
- Document detection: Document boundaries detection algorithm which is used during capturing images. Recommend using Dynamsoft Document Normalizer.