Click here to Skip to main content
15,886,873 members
Articles / Product Showcase

Develop a Cross-Platform Document Imaging Web App

23 May 2013CPOL3 min read 22.9K   191  
The article will show you how to develop a cross-platform document imaging solution that works with all mainstream browsers by using ImageCapture Suite.

This article is in the Product Showcase section for our sponsors at CodeProject. These articles are intended to provide you with information on products and services that we consider useful and of value to developers.

  • ICSSampleApp.zip
    • image_capture.html
    • Images
      • adtopbackground.gif
      • arrow.gif
      • arrow-down.gif
      • background.gif
      • bg_menubar_black.png
      • blank.gif
      • bottomleft.gif
      • bottommid.gif
      • bottomright.gif
      • btn-down-install-plugin.gif
      • ChangeSize.png
      • ckground.gif
      • Code-128.png
      • Code-128_hover.png
      • code-39.png
      • code-39_hover.png
      • Crop.png
      • Demo_OCR1.png
      • Demo_OCR2.png
      • Demo_OCR3.png
      • Demo_OCR4.png
      • document engine logo.png
      • DW_Logo.png
      • DWC icon logo.png
      • DWT icon logo.png
      • faq 16.png
      • Flip.png
      • icon_associate1.png
      • icon_associate2.png
      • icon_associate3.png
      • icon_livehelp_mail.png
      • ICS icon logo.png
      • loading.gif
      • logo.gif
      • Mirror.png
      • qrcode.png
      • qrcode_hover.png
      • RotateLeft.png
      • RotateRight.png
      • ShowEditor.png
      • topbackground.gif
      • twain_associate.pdf
      • twain_associate1.png
      • twain_associate2.png
      • twain_associate3.png
      • UPC-A.png
      • UPC-A_hover.png
      • wait.gif
    • Resources
      • ImageCaptureSuite.cab
      • ImageCaptureSuiteMacEditionTrial.pkg
      • ImageCaptureSuitePlugIn.msi
      • ImageCaptureSuitex64.cab
    • Scripts
    • Styles
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head  runat="server">
    <title>ImageCapture Suite Online Demo</title>
    <meta http-equiv="Content-type" content="text/html;charset=UTF-8" />
    <meta http-equiv="Content-Language" content="en-us"/>
    <meta name="description" content="ImageCapture Suite is an all-in-one image acquisition SDK for web applications; it captures images from scanners, digital cameras, and webcams in browsers." />
    <meta name="keyword" content="Image Capture SDK, image acquisition SDK" />
    <link href="styles/style.css" 
        type="text/css" rel="stylesheet" />
    <script type="text/javascript" language="javascript" 
        src="Scripts/kissy-min.js"></script>
</head>

<body>
<div class="D-dailog" id="J_waiting">
    <div id = "InstallBody">       
    </div>
</div>

<div id="message" style="display: none;">
   <div id = "MessageBody"></div>   
</div> 
    
<div id="container" class="body_Broad_width" style="margin:0 auto;">

<div id="headcontainer" class="body_Broad_width" style="background-color:#3a3a3a; border:0; padding:0;">
<br />

<div class="body_Broad_width" 
        style="background-image:url('Images/adtopbackground.gif'); height:88px; width:987px; ">
<div style="float:left; padding-top:15px; width:525px; margin-left:25px;">
    <span><a href="http://www.dynamsoft.com/">
    <img src="Images/logo.gif" 
        alt="Dynamsoft: provider of version control solution and TWAIN SDK" style='padding: 12px 0 0;' 
        id="logo" 
        title="Dynamsoft: provider of version control solution and TWAIN SDK" /></a></span> 
    <span style='border-left:1px solid #CCC;margin: 0 0 0 10px;padding: 50px 0 0 10px;'><a href="http://www.dynamsoft.com/Products/image-acquisition-library.aspx"> 
    <img alt = "ImageCaptureSuite logo" style="border:none; " 
        src="Images/ICS%20icon%20logo.png"/></a></span> 
    </div>
</div>

<div id="menu">
<ul>
    <li style="float:left; width:30px; height:40px; line-height:40px; color:#FFF;"></li>
    <li class="D_menu_item_select" style="width:180px">
        <div class="menubar_split" >
        </div>
        <a class="nohref" href="image_capture.html">ImageCapture Suite Demo</a>
    </li>
     
    <li style="float:left; width:220px;color:#FFF;"></li>

    <li class="D_menu_item" style="width:180px;" title="Includes Source Code of Current Page">
        <div class="menubar_split" >
        </div>
         <div class="menubar_split_last">
        </div>
        <a class="nohref" target='blank' href="http://www.dynamsoft.com/Downloads/ImageCaptureSuite_Download.aspx"> Download Free Trial</a>
        
    </li>
</ul>
</div>
</div>

<div id="DWTcontainer" class="body_Broad_width" style="background-color:#ffffff; height:800px; border:0;">

<div id="dwtcontrolContainer">

<div id="blankObj" style="background:white;display:none; position:relative; border:1px solid gray"></div>
<div id="DWTContainerID"  style="position:relative;" class='divcontrol'>
</div>
<div id="DWTNonInstallContainerID" style="width:580px">
</div>
</div>

<div id="ScanWrapper">
<div id="divScanner" class="divinput">
    <ul class="PCollapse">
        <li>
        <div class="divType"><div class="mark_arrow expanded"></div>Custom Scan</div>
            <div id="div_ScanImage" class="divTableStyle">
                <ul id="ulScaneImageHIDE" >
                    <li style="padding-left: 15px;">
                        <label for="source">Select Source:</label>
                        <select size="1" id="source" style="position:relative;width: 220px;" onchange="source_onchange()">
                            <option value = ""></option>    
                        </select>&nbsp;<a href="http://kb.dynamsoft.com/questions/541/Why+is+my+scanner+not+shown+or+not+responding+in+the+browser%3F" target="_blank"><img title = "Why is my scanner not shown or not responding in the browser?" alt = "Why is my scanner not shown or not responding in the browser?" style="border:none;" src="Images/faq 16.png"/></a></li>
                         <li style="display:none;" id="pNoScanner">
                            <a href="javascript: void(0)" class="ShowtblLoadImage" style="font-size: 11px; background-color:#f0f0f0; position:relative" id="aNoScanner"><b>What if I don't have a scanner/webcam connected?</b>
                        </a></li>
                        <li id="divProductDetail"></li>
                    <li style="text-align:center;">
                        <input id="btnScan" class="bigbutton" style="color:#C0C0C0;" disabled="disabled" type="button" value="Scan" onclick ="DW_AcquireImage();"/>&nbsp;&nbsp;<a id="showDetail"  style="display:none;" href="javascript: void(0)" class="ShowtblCanNotScan">Can't Scan</a></li>
                </ul>
            </div>
        </li>  
        <li>
        <div class="divType"><div class="mark_arrow collapsed"></div>Load the Sample Images</div>
        <div id="div_SampleImage" style="display: none" class="divTableStyle">
            <ul>
                <li><b>Samples:</b></li>
                <li style="text-align: center;">
                    <table style="border-spacing: 2px; width: 100%;">
                        <tr>
                            <td style="width: 33%">
                                <input name="SampleImage3" type="image" src="Images/icon_associate3.png" style="width: 50px;
                                    height: 50px" onclick="LoadSampleImage(3);" onmouseover="Over_Out_DemoImage(this,'Images/icon_associate3.png');"
                                    onmouseout="Over_Out_DemoImage(this,'Images/icon_associate3.png');" />
                            </td>
                            <td style="width: 33%">
                                <input name="SampleImage2" type="image" src="Images/icon_associate2.png" style="width: 50px;
                                    height: 50px" onclick="LoadSampleImage(2);" onmouseover="Over_Out_DemoImage(this,'Images/icon_associate2.png');"
                                    onmouseout="Over_Out_DemoImage(this,'Images/icon_associate2.png');" />
                            </td>
                            <td style="width: 33%">
                                <input name="SampleImage1" type="image" src="Images/icon_associate1.png" style="width: 50px;
                                    height: 50px" onclick="LoadSampleImage(1);" onmouseover="Over_Out_DemoImage(this,'Images/icon_associate1.png');"
                                    onmouseout="Over_Out_DemoImage(this,'Images/icon_associate1.png');" />
                            </td>
                        </tr>
                        <tr>
                            <td>
                                B&W Image
                            </td>
                            <td>
                                Grey Image
                            </td>
                            <td>
                                Color Image
                            </td>
                        </tr>
                    </table>                 
                </li>
            </ul>
        </div>
    </li>
    <li>
        <div class="divType"><div class="mark_arrow collapsed"></div>Load a Local Image</div>
        <div id="div_LoadLocalImage" style="display: none" class="divTableStyle">
            <ul>
                <li style="text-align: center; height:35px; padding-top:8px;">
                    <input type="button" value="Load Image" style="width: 130px; height:30px; font-size:medium;" onclick="return btnLoad_onclick()" />
                </li>
            </ul>
        </div>
    </li>
   
    </ul>

</div>

<div id="tblLoadImage" style="visibility:hidden;height:80px">
<ul>
    <li><b>You can:</b><a href="javascript: void(0)" style="text-decoration:none; padding-left:200px" class="ClosetblLoadImage">X</a></li>
</ul>
<div id="notformac1" style="background-color:#f0f0f0; padding:5px;">
<ul>
    <li><img alt="arrow" src="Images/arrow.gif" width="9" height="12"/><b>Install a Virtual Scanner:</b></li>
    <li style="text-align:center;"><a id="samplesource32bit" href="http://www.dynamsoft.com/demo/DWT/Sources/twainds.win32.installer.2.1.3.msi">32-bit Sample Source</a>
        <a id="samplesource64bit" style="display:none;" href="http://www.dynamsoft.com/demo/DWT/Sources/twainds.win64.installer.2.1.3.msi">64-bit Sample Source</a>
        from <a href="http://www.twain.org">TWG</a></li>
</ul>
</div>
</div>

<div id ="divEdit" class="divinput" style="position:relative">
<ul>
    <li><img alt="arrow" src="Images/arrow.gif" width="9" height="12"/><b>Edit Image</b></li>
    <li style="padding-left:9px;"><img src="Images/ShowEditor.png" title= "Show Image Editor" alt="Show Image Editor" id="btnEditor" onclick="btnShowImageEditor_onclick()"/>
    <img src="Images/RotateLeft.png" title="Rotate Left" alt="Rotate Left" id="btnRotateL"  onclick="btnRotateLeft_onclick()"/>
    <img src="Images/RotateRight.png" title="Rotate Right" alt="Rotate Right" id="btnRotateR"  onclick="btnRotateRight_onclick()"/>
    <img src="Images/Mirror.png" title="Mirror" alt="Mirror" id="btnMirror"  onclick="btnMirror_onclick()"/>
    <img src="Images/Flip.png" title="Flip" alt="Flip" id="btnFlip" onclick="btnFlip_onclick()"/>
    <img src="Images/Crop.png" title="Crop" alt="Crop" id="btnCrop" onclick="btnCrop_onclick();"/>
    <img src="Images/ChangeSize.png" title="Change Image Size" alt="Change Image Size" id="btnChangeImageSize" onclick="btnChangeImageSize_onclick();"/></li>
</ul>

</div>

<div id="divSave" class="divinput" style="position:relative">
<ul>
    <li><img alt="arrow" src="Images/arrow.gif" width="9" height="12"/><b>Save Image</b></li>
    <li style="padding-left:15px;">
        <label for="txt_fileNameforSave">File Name: <input type="text" size="20" id="txt_fileNameforSave"/></label></li>
    <li style="padding-left:12px;">
        <label for="imgTypebmp">
            <input type="radio" value="bmp" name="imgType_save" id="imgTypebmp" onclick ="rdsave_onclick();"/>BMP</label>
	    <label for="imgTypejpeg">
		    <input type="radio" value="jpg" name="imgType_save" id="imgTypejpeg" onclick ="rdsave_onclick();"/>JPEG</label>
	    <label for="imgTypetiff">
		    <input type="radio" value="tif" name="imgType_save" id="imgTypetiff" onclick ="rdTIFFsave_onclick();"/>TIFF</label>
	    <label for="imgTypepng">
		    <input type="radio" value="png" name="imgType_save" id="imgTypepng" onclick ="rdsave_onclick();"/>PNG</label>
	    <label for="imgTypepdf">
		    <input type="radio" value="pdf" name="imgType_save" id="imgTypepdf" onclick ="rdPDFsave_onclick();"/>PDF</label></li>
    <li style="padding-left:12px;">
        <label for="MultiPageTIFF_save"><input type="checkbox" id="MultiPageTIFF_save"/>Multi-Page TIFF</label>
        <label for="MultiPagePDF_save"><input type="checkbox" id="MultiPagePDF_save"/>Multi-Page PDF </label></li>
    <li style="text-align: center">
        <input id="btnSave" type="button" value="Save Image" onclick ="btnSave_onclick()"/></li>
</ul>
</div>

<div id="divUpload" class="divinput" style="position:relative">
<ul>
    <li><img alt="arrow" src="Images/arrow.gif" width="9" height="12"/><b>Upload Image</b></li>
     <li style="padding-left:9px;">To upload images, you  need to have the web server set up first.</li>
    <li style="padding-left:9px;">Please check out the Visual Studio sample in the 
        installer of ImageCapture Suite. Or you can play with the
        <a href="http://www.dynamsoft.com/Demo/ICS/online_demo_scan.aspx">online demo</a> 
        on Dynamsoft website.</li>
</ul>
<ul style="display:none;">
    <li><img alt="arrow" src="Images/arrow.gif" width="9" height="12"/><b>Upload Image</b></li>
    <li style="padding-left:9px;">
        <label for="txt_fileName">File Name: <input type="text" size="20" id="txt_fileName" /></label></li>
    <li style="padding-left:9px;">
	    <label for="imgTypejpeg2">
		    <input type="radio" value="jpg" name="ImageType" id="imgTypejpeg2" onclick ="rd_onclick();"/>JPEG</label>
	    <label for="imgTypetiff2">
		    <input type="radio" value="tif" name="ImageType" id="imgTypetiff2" onclick ="rdTIFF_onclick();"/>TIFF</label>
	    <label for="imgTypepng2">
		    <input type="radio" value="png" name="ImageType" id="imgTypepng2" onclick ="rd_onclick();"/>PNG</label>
	    <label for="imgTypepdf2">
		    <input type="radio" value="pdf" name="ImageType" id="imgTypepdf2" onclick ="rdPDF_onclick();"/>PDF</label></li>
    <li style="padding-left:9px;">
        <label for="MultiPageTIFF"><input type="checkbox" id="MultiPageTIFF"/>Multi-Page TIFF</label>
        <label for="MultiPagePDF"><input type="checkbox" id="MultiPagePDF"/>Multi-Page PDF </label></li>
    <li style="text-align: center">
        <input id="btnUpload" type="button" value="Upload Image" onclick ="btnUpload_onclick()"/></li>
</ul>
</div>

<div id="divUpgrade">
</div>

</div>

</div>

<div id="tailcontainer" class="body_Broad_width" style="background-color:#ffffff; border:0;">

<div class="body_Broad_width" style="height:4px; background-color:#303030"></div>
<div class="body_Broad_width" style="height:6px; background-color:#ff8e13"></div>
<br />
<div style="width:10px; height:85px;float:right; border:0px; padding:0px;">
<img alt = "&gt;" src="Images/bottomright.gif"/></div>
<div class="body_Narrow_width" style="font-size:larger; z-index:100; position:relative;height:85px; border:0px; padding:0px; float:right; text-align:center; background-image: url(Images/bottommid.gif); background-repeat:repeat;">
<br />
    <a class="fontcolor" href="http://www.dynamsoft.com/Products/image-acquisition-library.aspx" style="cursor:text">TWAIN SDK</a> Powered By Dynamsoft
    <br />Version control hosting powered by <a target="_blank" style=" color:#FE8E14" href="http://www.dynamsoft.com/Products/SAWHosted_Plan.aspx">SourceAnywhere Hosted</a>
</div>

<div style="width:10px; height:85px;float:right; border:0px; padding:0px;">
    <img alt = "&gt;" src="Images/bottomleft.gif"/></div>


</div>


</div>

<div id="ImgSizeEditor" style="visibility:hidden; text-align:left;">	
<ul>
    <li><label for="img_height"><b>New Height :</b>
        <input type="text" id="img_height" style="width:50%;" size="10"/>pixel</label></li>
    <li><label for="img_width"><b>New Width :</b>&nbsp;
        <input type="text" id="img_width" style="width:50%;" size="10"/>pixel</label></li>
    <li>Interpolation method:
        <select size="1" id="InterpolationMethod"><option value = ""></option></select></li>
    <li style="text-align:center;">
        <input type="button" value="   OK   " id="btnChangeImageSizeOK" onclick ="btnChangeImageSizeOK_onclick();"/>
        <input type="button" value=" Cancel " id="btnCancelChange" onclick ="btnCancelChange_onclick();"/></li>
</ul>
</div>
<div id="Crop" style="visibility:hidden ;">	
<div style="width:50%; height:100%; float:left; text-align:left;">
<ul>
    <li><label for="img_left"><b>left: </b>
        <input type="text" id="img_left" style="width:50%;" size="4"/></label></li>
    <li><label for="img_top"><b>top: </b>
        <input type="text" id="img_top" style="width:50%;" size="4"/></label></li>
    <li style="text-align:center;">
        <input type="button" value="  OK  " id="btnCropOK" onclick ="btnCropOK_onclick()"/></li>
</ul>
</div>
<div style="width:50%; height:100%; float:left; text-align:right;">
<ul>
    <li><label for="img_right"><b>right : </b>
        <input type="text" id="img_right" style="width:50%;" size="4"/></label></li>
    <li><label for="img_bottom"><b>bottom:</b>
        <input type="text" id="img_bottom" style="width:50%;" size="4"/></label></li>
    <li style=" text-align:center;">
        <input type="button" value="Cancel" id="cancelcrop" onclick ="btnCropCancel_onclick()"/></li>
</ul>
</div>
</div>
<script type="text/javascript" language="javascript" src="Scripts/ProductKey.js"></script>
<script type="text/javascript" language="javascript" src="Scripts/online_demo_productInfo.js"></script>
<script type="text/javascript" language="javascript" src="Scripts/online_demo_scan.js"></script>
<script type="text/javascript" language="javascript" src="Scripts/online_demo_common.js"></script>
<script type="text/javascript" language="javascript" src="Scripts/jquery.js"></script>

<script type="text/javascript">
    $("ul.PCollapse li>div").click(function() {
        if ($(this).next().css("display") == "none") {
            $(".divType").next().hide("normal");
            $(".divType").children(".mark_arrow").removeClass("expanded");
            $(".divType").children(".mark_arrow").addClass("collapsed");
            $(this).next().show("normal");
            $(this).children(".mark_arrow").removeClass("collapsed");
            $(this).children(".mark_arrow").addClass("expanded");
        }
    });
</script>
</body>
</html>

By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.

If a file you wish to view isn't highlighted, and is a text file (not binary), please let us know and we'll add colourisation support for it.

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)


Written By
Canada Canada
Dynamsoft has more than 15 years of experience in TWAIN SDKs, imaging SDKs and version control solutions.

Our products include:

TWAIN SDK
- Dynamic Web TWAIN: a TWAIN scanning SDK optimized for web document management applications.
- Dynamic .NET TWAIN: a .NET TWAIN and Directshow Image Capture SDK for WinForms/WPF applications.

Imaging SDKs
- Barcode Reader for Windows, Linux, macOS, iOS, Android and Raspberry Pi.
- OCR addon for both web and .NET TWAIN SDKs

Version Control
- SourceAnywhere: a SQL server-based source control solution. Both on-premise and hosting options are provided.

http://www.dynamsoft.com/
This is a Organisation

21 members

Comments and Discussions