ADC Demo
Demonstrates applying DotImage Advanced Document Cleanup algorithms in a thin-client
using our WebImageViewer and WebThumbnailViewer. This is a live demo using
ADC and our AJAX enabled WebImageViewer.
This is the C# code-behind used for this demo:
using
System;
using
System.Data;
using
System.Configuration;
using
System.Collections;
using
System.Web;
using
System.Web.Security;
using
System.Web.UI;
using
System.Web.UI.WebControls;
using
System.Web.UI.WebControls.WebParts;
using
System.Web.UI.HtmlControls;
using
Atalasoft.Imaging.WebControls;
using
Atalasoft.Imaging.ImageProcessing;
using
Atalasoft.Imaging.ImageProcessing.Document;
public
partial class
Products_DotImage_adc_ADCDemo_Default : System.Web.UI.Page
{
protected
void Page_Load(object
sender, EventArgs e)
{
if (!Page.IsPostBack)
{
this.WebThumbnailViewer1.OpenUrl("Images/DocCleanMultipage.tif");
}
}
[RemoteInvokable]
public
void ApplyCommand(string
commandName)
{
ImageCommand cmd = null;
switch (commandName)
{
case "HolePunchRemovalCommand":
cmd = new HolePunchRemovalCommand();
break;
case "AdvancedBorderRemovalCommand":
cmd = new AdvancedBorderRemovalCommand();
break;
case "LineRemovalCommand":
cmd = new LineRemovalCommand();
break;
case "AutoInvertTextCommand":
cmd = new AutoInvertTextCommand();
break;
case "SpeckRemovalCommand":
cmd = new SpeckRemovalCommand();
break;
case "DocumentDespeckleCommand":
cmd = new DocumentDespeckleCommand();
break;
case "AutoDeskewCommand":
cmd = new AutoDeskewCommand();
break;
}
this.webViewBefore.ApplyCommand(cmd);
}
}
Here is the client-side javascript required to process images on button clicks without page postbacks:
<script language="javascript"
type="text/javascript">
atalaInitClientScript("OnPageLoad()");
var
webViewBefore;
function
OnPageLoad()
{
webViewBefore
= <%= webViewBefore.ClientID %>;
webViewBefore.RemoteInvoked
= Invalidate;
}
function
Invalidate()
{
webViewBefore.Update();
}
function
btnHolePunch_onclick() {
webViewBefore.RemoteInvoke("ApplyCommand", new
Array("HolePunchRemovalCommand"));
}
function
btnBorderRemoval_onclick() {
webViewBefore.RemoteInvoke("ApplyCommand", new
Array("AdvancedBorderRemovalCommand"));
}
function
btnLineRemoval_onclick() {
webViewBefore.RemoteInvoke("ApplyCommand", new
Array("LineRemovalCommand"));
}
function
btnInvertText_onclick() {
webViewBefore.RemoteInvoke("ApplyCommand", new
Array("AutoInvertTextCommand"));
}
function
btnSpeckRemoval_onclick() {
webViewBefore.RemoteInvoke("ApplyCommand", new
Array("SpeckRemovalCommand"));
}
function
btnDespeckle_onclick() {
webViewBefore.RemoteInvoke("ApplyCommand", new
Array("DocumentDespeckleCommand"));
}
function
btnDeskew_onclick() {
webViewBefore.RemoteInvoke("ApplyCommand", new
Array("AutoDeskewCommand"));
}
function
btn1To1_onclick() {
webViewBefore.setAutoZoom(0);
webViewBefore.setZoom(1);
}
function
btnFitToWidth_onclick() {
webViewBefore.setAutoZoom(3);
}
</script>