Scan from the Web

You can use the Black Ice BiTwain ActiveX control on HTML pages for scanning. You can select the TWAIN source, scan an image, display the scanned image and save it to file.

 

[JavaScript]

 

<%@LANGUAGE="JAVASCRIPT" CODEPAGE="1252"%>

<HTML>

<HEAD>

<TITLE> Using Black Ice BITWAIN ActiveX Control for Scanning </TITLE>

<SCRIPT language="JavaScript">

            var TWSCAN_TERMINATE = 3;

            var TWSCAN_SELECT = 1;

            var TW_OK = 0;

            var TW_NOTDLGDLL = 14;

            var TW_NOTTIFFDLL = 12;

            var TWSCAN_ACQUIRE = 2;

 

            function InitBIDISP()

            {

                        BIDISP.ScaleMode = 5;

                        BIDISP.ScrollBars = 3;

                        BIDISP.ZoomWithKeyboard=0;

                        BIDISP.Zoom = 0;

            }

 

            function InitScan()

            {

                        var ret = BITWAIN.ScanInit();

 

                        if (ret != TW_OK)

                        {

                                    switch (ret)

                                    {

                                    case TW_NOTTIFFDLL :

                                                window.alert("The BiTiff.dll is missing.");

                                                break;

                                    default:

                                                window.alert("Error inicializing BiTwain.dll.");

                                                break;

                                    }

                        }

            }

 

            function OnSelectSource()

            {

                        BITWAIN.Action = TWSCAN_TERMINATE;

                        BITWAIN.Action = TWSCAN_SELECT;

            }

 

            function OnAcquire()

            {

                        BITWAIN.FileAcquire = "";

                        BITWAIN.Action = TWSCAN_ACQUIRE;

            }

 

            function OnSaveImage()

            {

                        if (BIDISP.hDib > 0)

                        {

                                    var x = document.all[ "FileName" ];

                                    var ret = BIDIB.SaveDIB(x.value, BIDISP.hDib);

 

                                    if (!ret)

                                                window.alert("Error saving image.");

                                    else

                                                window.alert("Saving was successfull.");

                        }

            }

 

            function MM_reloadPage(init)

            {  //reloads the window if Nav4 resized

              if (init==true) with (navigator) {if ((appName=="Netscape")&&(parseInt(appVersion)==4)) {

                        document.MM_pgW=innerWidth; document.MM_pgH=innerHeight; onresize=MM_reloadPage; }}

              else if (innerWidth!=document.MM_pgW || innerHeight!=document.MM_pgH) location.reload();

            }

            MM_reloadPage(true);

 

</SCRIPT>

</HEAD>

 

<BODY>

 

<P align="center"><strong><font size="+3">Using Black Ice BITWAIN ActiveX Control for Scanning</font></strong>

</P>

 

<P>

            <TABLE width="645" height="372" border="1" align="center">

              <TR>

                        <TD width="100%" colspan="2" rowspan="3">

                       

                          <object id="BIDISP" width="100%" height="100%" classid="CLSID:19B50C95-6BB5-4DFD-B20C-5B9A61FA1C0D" CODEBASE="http://www.blackice.com/DOCIMG_HTML_SAMPLE/tiff.cab">

                          </object>      

                         

                          <object id="BIDIB" width=1 height=1 classid="CLSID:D2797899-BE27-4CDB-892F-4FDC26EA9BA9" CODEBASE="http://www.blackice.com/DOCIMG_HTML_SAMPLE/tiff.cab">

                          </object>

 

                           <object id="BITWAIN" width=1 height=1 classid="CLSID:03F24F12-2945-4F7D-B646-12B8EBED3A63" CODEBASE="http://www.blackice.com/DOCIMG_HTML_SAMPLE/tiff.cab">

                           </object>

                         

                          <SCRIPT>

                                    function BITWAIN::Done(hDibOut, FileName)

                                    {

                                                BIDISP.hDib = hDibOut;

                                               

                                                var x = document.all[ "BtnSave" ];

                                                if (x != null) x.disabled = false;

                                                var y = document.all[ "FileName" ];

                                                if (y != null) y.disabled = false;

                                    }

                                    function BITWAIN::TwError(ErrorCode, ErrorStr)

                                    {

                                                window.alert("Error during scanning!");

                                                var x = document.all[ "BtnSave" ];

                                                if (x != null) x.disabled = true;

                                    }

 

                                    InitBIDISP();

                                    InitScan();

                         </SCRIPT>

                        </TD>

                        </TR>

            </TABLE>

</P>

 

<P>

            <FORM>

                        <input type="button" value="Select Source" onClick="OnSelectSource()">&nbsp;&nbsp;

                        <input type="button" value="Acquire Image" onClick="OnAcquire()"><BR><BR>

                        <input type="button" value="Save Image" name="BtnSave" onClick="OnSaveImage()" disabled>&nbsp;&nbsp;into

                        <input name="FileName" size="40" value="c:\scantest.bmp" disabled>&nbsp;&nbsp;bitmap file.

            </FORM>

</P>

 

</BODY>

</HTML>