JavaScript: How to search text on image in web image viewer programmatically.
Posted: Fri Oct 18, 2024 3:50 pm
Here is JavaScript code snippet that shows how to programmatically search text "SDK" on the first image in web image viewer and scroll to the searched text in web image viewer:
Code: Select all
function __searchText() {
var imageIndex = 0;
// get image viewer that is associated with web document viewer
var imageViewer = _docViewer.get_ImageViewer();
// get image collection that is associated with image viewer
var images = imageViewer.get_Images();
// get image
var image = images.getImage(imageIndex);
// get image metadata
var imageMetadata = image.get_Metadata();
// request text region of image
imageMetadata.requestTextRegion(
function (data) {
// get text region of image
var imageTextRegion = data.textRegion;
// create regular expresion for text search
var regExp = new RegExp("SDK", "gi");
// search text "SDK" on image
var searchedTextRegions = imageTextRegion.searchText(regExp, "CurrentPage");
// for each search result
for (var i = 0; i < searchedTextRegions.length; i++) {
// scroll to the text region in image viewer
__scrollToTextRegion(imageViewer, image, searchedTextRegions[i].region);
}
},
function (data) {
alert("Error requesting text region.");
});
}
function __scrollToTextRegion(imageViewer, image, region) {
var selectedRegions = region.get_SelectionRegions();
var leftTopPoint = selectedRegions[0][0];
var rightBottomPoint = selectedRegions[0][2];
// get the center point, in text region space, of text region
var centerPoint = { x: (leftTopPoint.x + rightBottomPoint.x) / 2, y: (leftTopPoint.y + rightBottomPoint.y) / 2 };
// get transform from text space to the image space
var transform = region.getTransformFromTextToImageSpace(image.get_Resolution());
// transform point from the text space to the image space
var pointInImageSpace = transform.transformPoint(centerPoint);
// scroll to the text region on image in image viewer
imageViewer.scrollToImagePoint(pointInImageSpace.x, pointInImageSpace.y);
// get TextSelectionTool used in web document viewer
var textSelectionTool = _docViewer.getVisualToolById("TextSelectionTool");
// select text on image using the TextSelectionTool
textSelectionTool.set_SelectedRegion(region);
}