# # Version 7.4.0 changelog

## # New Features

- Import and export ink signature list.

  Related APIs: `pdfViewer.getInkSignList(); pdfViewer.setInkSignList()`

- Set the default state tool to a particular stamp by using the new PDFUI constructor option or method.

  Related option: `PDFUI.constructor([options.customs.handlerParams])`

  Related API: `PDFViewCtrl.StateHandlerManager.switchTo(stamp,{category:"",name:""})`

- Check, Enable and disable hotkey by using the new constructor option or method.

  Related option: `pdfViewer.constructor([options.enableShortcutKey=true])`

  Related APIs: `pdfViewer.setEnableShortcutKey(), pdfViewer.isShortcutKeyEnabled()`

- Get a page's box information and check for cropped page.

  Related APIs: `pdfPage.isCropped(); pdfPage.getPageBox()`

- Configure default print options.

  Related API: `pdfviewer.setDefaultPrintSetting()`

- Unmount the iFrame DOM running PDF JavaScript by configuring the PDFViewer constructor option. Value is set to false by default. Use true value if you don’t want the JavaScript code to be called using iframe.

  Related option: `pdfViewer.constructor([options.noJSFrame=false])`

- Change the PDF text background and foreground display color.

  Related API: `pdfviewer.setDocReadColor()`

- Load image as document object.

  Related API: `pdfViewer.convertImageToPDFDoc()`

- Support view rotation and event handling.

  Related APIs `PDFViewer.rotateTo()`, `PDFViewer.getRotation()`, `ViewerEvents.afterDocumentRotation`;

- New methods to set form field highlight color and enable/disable form field highlight.

  Related APIs: `pdfviewer.setFormHighlightColor()`, `pdfviewer.highlightForm(boolean)`

- New method for pre-setting pencil drawing object time. Related API: `pdfviewer.setPencilDrawingTimeOut()`

- New classes and methods for working with and managing PDF objects programmatically.

  Related new Classes: `PDF.GraphicsObject`, `PDF.ImageObject`, `PDF.TextObject`, `PDF.PathObject`

  Related APIs:

      PDFPage.getGraphicsObjectsInRect();
      PDFPage.getGraphicsObjectAtPoint();
      PDFPage.getGraphicsObjectsCount();
      PDFPage.addGraphicsObject();
      PDFPage.removeGraphicsObject();

  Related Event: `DataEvents.graphicsUpdated()`

- New constructor option to display comment list or not when a markup annotation was created.

  Related option: `PDFViewer.constructor.showCommentList`

- New Features at UIExtension module:

  - New `<gtab>` component

  - New method to make create controller class easier.

    Related API:`UIXModule.prototype.controller(name, def)`

  - New method to create custom appearance Related API: `Appearance.extend(def, statics)`

- New Features were added to the web viewer’s UI:

  - New Signature field control.
  - New Form text field control.
  - New measurement tools `Perimeter, Polygon area and Circle area`.
  - New view Rotate options on right-click context menu.
  - New PDF text color view mode control.
  - Drag and drop annotation’s across pages feature.
  - Support displaying annotation contents on mouse hover action.
  - Support load image file directly.
  - Audio player now supports pause option.
  - New language localization support: Japanese and Korean.

## # Changes

- Change the name of parameter `annotJson` to `annotsJson` in `PDFViewer.openPDFByHttpRangeRequest` and `PDFViewer.reopenPDFDoc`.
- The advanced_webViewer was removed from the SDK package. It was replaced with complete_webViewer.
- The Form import&export tool were moved to Form tab from the Home tab.
- New `allInOne.mobile.js` file for mobile to load all addons using a single js file.
- The thumbnails `uix-addons` module has been made open source for specific customers, not released to general availability
- Deprecated: Deprecate PDFUI options `template and fragments`, replace them with Appearance.

## # Enhancements

- Optimized mobile pinch zoom touch screen performance.

- Enhanced PDF JavaScript support: document print action and OCG object.

- Enhanced `pdfField.setAction` to support AdditionalAction.

  Related APIs: `setAction(type,data){}` was updated to `setAction(trigger, action){}`

  Related constants: `PDF.constant.Action_Trigger`, `PDF.constant.Action.Box_Type`

- Enhanced document open workflow by separating document loading and rendering logic..

  Related APIs:

       pdfViewer.renderDoc;
       pdfViewer.openPDFByFile(file,{isRenderOnDocLoaded:false});
       pdfViewer.openPDFByHttpRangeRequest(request,{isRenderOnDocLoaded:false});
       pdfViewer.openPDFById(); pdfViewer.createNewDoc(,{isRenderOnDocLoaded:false})

- Enhanced stamp functionality to support blob url/base64 data source, and allow users to add/edit custom stamps and change time format of dynamic stamp.

  Related new APIs:

  `pdfViewer.initAnnotationIcons(icons)`: Sets the custom initial stamps list. The default stamp list will be replaced.

  `pdfViewer.addAnnotationIcon(icon)`: Adds a single custom stamp.

  `pdfViewer.removeAnnotationIcon(type,category,name)`:Removes a single custom stamp.

  `pdfui.getAnnotationIcons(annotType,onlyCustomized)`:Gets the custom stamps.

  `pdfui.getAnnotationIcons('stamp',true)`;

  `pdfViewer.setFormatOfDynamicStamp(seperator,timeFormat)`:Configures the time format for the dynamic stamp.

- Enhanced the Digital Signature solution. Related API:

      PDFUI.registerSignHandler(signerInfo);
      PDFUI.setVerifyHandler(verifyFunction);
      PDFDoc.sign(signInfo,digestSignHandler);
      PDFDoc.verifySignature(signatureField, verifyHandler)

  New class: `PDFSignature`

## # Fixes

- Barcode was not updated when document print action was triggered
- `openPDFByHttpRangeRequest()` did’t trigger error on incorrect URLs.
- Pencil drawing data loss after import/export to FDF format on pages containing stamp annotations.
- Text displayed incorrectly on rotated pages.
- `getCurrentPageIndex()` didn’tget correct page number in a visible area.
- Thumbnail and page index did not update after importing documents with API `PDFDoc.insertPage()`.
- Bookmark could not be deleted after being inserted by PDFBookmark.insertbookmark.
- Comments were disabled in a signed document with comments permission.
- Tab key always jump back to the first page when using Tab key to view a form file.
- Font not rendered correctly in a combo box form field.
- `MarkupAnnot.getReviewStateCount` and `MarkupAnnot.GetReviewStates` always return 1 regardless of having more than 1 review states.
- `STATE_HANDLER_CREATE_FREETEXT_CALLOUT` could not be created when using template
- Callout annotation displayed incorrectly after being moved in a particular file.
- SubmitForm action generated incorrect execution..
- Parts of images were inaccessible or hidden when rotated.
- Form field inaccessible in specific form files when document is loaded
- `PDFViewCtrl.ViewerEvents.rightClickAnnotation` fails to trigger in specific scenarios.
- Form controls get lost when new form pages were inserted in document.
- Combo box printed in the output file issue.