JavaScript: How to search text on image in web image viewer programmatically.

Code samples for VintaSoft Imaging .NET SDK. Here you can request a code sample.

Moderator: Alex

Post Reply
Alex
Site Admin
Posts: 2393
Joined: Thu Jul 10, 2008 2:21 pm

JavaScript: How to search text on image in web image viewer programmatically.

Post by Alex »

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);
}
Post Reply