Releases: Dynamsoft/document-viewer-javascript
3.1.0
UX Changes
For Edit Viewer:
- Added support for panning images in textSelection mode.
- Text markup annotations can be modified after being cropped.
- Return to pan mode if textSelection mode is turned off on mobile by clicking the icon.
- Added support for returning to pan mode by pressing ESC.
For Edit Viewer and Browse Viewer:
When the cursor is around the viewer’s edges when selecting text or dragging the thumbnails, auto-scrolling will be triggered. It can be configured using the enableAutoScrollForTextSelection property for Edit Viewer and the enableAutoScrollForDragPages property for Browse Viewer.
API Changes
Added interfaces for better UI customizability.
- getAnnotationDrawingStyle() method for Edit Viewer
- undoRedoStateChanged event for Edit Viewer
- annotationDrawingStyleChanged event for Edit Viewer
- scroll event for Edit Viewer and Browse Viewer
- paginationChanged event for all the viewers
- cropMode property for Edit Viewer. The crop() method of Edit Viewer will choose which images to crop based on the cropMode if no image indices are passed.
Improvements
- Increased the FPS of rendering documents, especially documents with lots of pages.
- Optimized the performance of updateOptions().
- Moved the magnifier into a separate layer to improve the performance and avoid being blocked.
Bug Fixes
- Fixed a bug where changes of the layout will reset the position of the current document page to its top-left.
- Fixed a bug where the text is shifted if the PDF’s media box has shifts.
3.0.0
Features Highlights
- Added support for text selection. We can now copy and annotate selected text.
- Added three text markup annotations: highlight, strikeout and underline.
- Added support for text search.
API Changes
- Added classes for text markup annotations.
- Added interfaces to set up text markup annotations.
- Added new tool mode for EditViewer: textSelection.
- Added new annotation modes for EditViewer: highlight, strikeout and underline.
- Added new buttons in ToolbarConfig: copy, highlight, strikeout and underline.
- Added new elements for EditViewer:
- TextSelectionMode
- TextSearchPanelSwitch
- TextSearchPanel
- HighlightAnnotation
- UnderlineAnnotation
- StrikeoutAnnotation
- Added text selection and search methods and events for EditViewer.
- Added an IDocTextSearcher interface that can be created using createTextSearcher() of IDocument.
- Added isPageModified() method to detect whether a page has been modified.
- Added getVisiblePagesInfo() for viewers.
- Added new events for viewers.
- Updated IPageData to use Promise functions for computing-intensive operations.
- Updated updatePage() to allow updating a page with PDF page content that has annotations.
- Updated addFonts() to return an array of the names of added fonts.
- Updated DisplayTextConfig for new elements.
- Removed the options parameter of getDefaultUiConfig().
Improvements
- Fixed the ineffective quality parameter of saveToJpeg() if a page is unmodified.
- Improved cursor styles.
- Improved the performance of resaving a large PDF file.
2.1.0
Version 2.1 of Dynamsoft Document Viewer comes with a suite of both 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:
2.0.0
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 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 and cropBox to PageData 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 interfaces SavePngSettings, SaveJpegSettings, or SaveTiffSettings to determine whether annotations are saved as part of the image when calling document.saveToPng(), document.saveToJpeg(), or document.saveToTiff().
-
Added the property saveAnnotation to the interface SavePdfSettings to configure whether annotations should be saved when document.saveToPdf() is called.
-
Add the parameter defaultUiConfigOptions to getDefaultUiConfig() to retrieve configurations including annotations.
-
Add the parameter printSettings to the document.print() to specify whether printable annotations should be included in the print.
-
Added the type annotation to ToolMode to enable a mode that allows annotations to be manipulated via the UI.
-
Added the type annotationSelectionStyle to EditViewerStyleName 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 interface SavePdfSettings for configuring the password of the PDF file to save when document.saveToPdf() is called.
-
Added the property imageScaleFactor to the interface SavePdfSettings for configuring the image scale factor of the PDF file to be saved when document.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 the openDocument() method in the EditViewer, PerspectiveViewer, CaptureViewer, and BrowseViewer 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.0
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
1.0.0
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
Variours 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 boundary 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.