TWAIN批量打印能否详细说明一下

TWAIN批量打印能否详细说明一下,第1张

你可以用Dynamic NET TWAIN SDK来开发,很方便的,安装包里有不少sample。你也可以直接下载一些demo:>

这里是简单的代码示例:

初始化:

 dynamicDotNetTwain = new DynamsoftDotNetTWAINDynamicDotNetTwain();

            dynamicDotNetTwainIfShowUI = false;

            dynamicDotNetTwainIfThrowException = true;

            dynamicDotNetTwainMaxImagesInBuffer = 1;

            dynamicDotNetTwainIfAppendImage = false;

            dynamicDotNetTwainIfDisableSourceAfterAcquire = true;

            dynamicDotNetTwainIfAutoFeed = true;

触发扫描:

dynamicDotNetTwainSelectSourceByIndex(ConvertToInt16(comboBox1SelectedIndex));

                dynamicDotNetTwainOpenSource();

                dynamicDotNetTwainAcquireImage();

回调返回:

private void dynamicDotNetTwain_OnPostAllTransfers()

        {

            Image image = dynamicDotNetTwainGetImage(dynamicDotNetTwainCurrentImageIndexInBuffer);

            if (thispictureBox1Image != null)

                thispictureBox1ImageDispose();

            thispictureBox1Image = image;

            sendImage(image);

            dynamicDotNetTwainCloseSource();

        }

非常简单

在利用Delphi开发信息管理系统时,常常要处理图象,这也是信息管理系统发展的必然趋势。怎样在Delphi中通过扫描仪获得所需的图象信息呢?不外乎有三种基本的方法:

通过图象处理软件,比如说Photoshop等,通过它们的扫描图象的功能,加工成一定格式的图象后再在自己的系统中利用; 通过扫描仪接口TwainDLL 。该接口是在安装扫描仪时提供的,它实际上是一个Plugin插件,它通过一系列函数来控制扫描仪; 通过构件技术来控制扫描仪。

利用第一种方法能减少编程的复杂度,但是系统的集成度不高,用户使用上也不方便;第二种方法能在驱动程序级直接控制扫描仪,能在编程上提供最大的灵活性和可控性;第三种方法能充分利用Delphi的可视化构件技术,安全、灵活、自由地利用扫描仪。其实第三种方法也是建立在扫描仪接口TwainDLL之上的。本文论述的方法就采用第三种。

Windows9X在其附件中提供了“映象”可选件,该附件是采用OCX构件来控制扫描仪的,共有imgEdit、imgAnntool、imgScan、imgAdmin 四个,有这四个构件基本上就能完全控制扫描仪。在Delphi中的用法如下: 在Windows9x中选择安装“映象”。(在控制面板中选择“添加/删除程序”,再选择“安装Windows”,点击“附件”复选框,然后从“详细资料”按钮中可以找到“映象”) 启动Delphi,选择“Component”菜单项下的“Import ActiveX Control”,这时可以看到列表中有“Wang 图象编辑控制、Wang 图象扫描控制、Wang 图象管理控制、Wang 图象缩略图控制”,选中这四项,然后点击“Install”按钮,这时在构件面板上的ActiveX舌标下就可以看到这四个构件的图标。

ImgScan 的主要属性:FileType:图象的文件类型(该构件支持三种:TIFF,BMP,AWD);

ScanTo:返回或设置被扫描图象的目的;可取值 含义

0 (缺省) 显示被扫描的图象

1 显示被扫描的图象并写入一个文件

2 把图 入一个文件

3 以模板方式把图象写入文件并显示

4 以模板方式把图象写入文件

5 传真被扫描的图象 注意:如果取缺省值0,

必须和 Wang ImgEdit 构件配合使用。

DestImageControl:Wang ImgEdit构件名;

Zoom:图象的放缩比例ImgScan 的主要方法:OpenScanner :打开扫描仪;

CloseScanner :关闭扫描仪;

StartScan : 开始扫描;

StopScan : 停止扫描

ImgEdit 的属性主要是控制扫描图象的分辨率、图象的宽高、是否允许对图象进行局部选 择等;其方法主要有拷贝、剪切图象到粘贴板,从粘贴板复制图象,旋转、放缩、 镜象图象;打印、保存、刷新图象等。

关于上述四个OCX构件的详细使用说明可在Delphi中查看其自带的帮助系统。 下面是使用这两个构件的一些例子: procedure TscanfN1Click(Sender: TObject);

begin

ImgScan1ShowSelectScanner;

//选择系统中已安装的扫描仪

end;procedure TscanfN2Click(Sender: TObject);

begin

imgedit1zoom:=100; //设置图象的放缩因子

if not imgscan1ScannerAvailable then

//如果选择的扫描仪不可用

imgscan1OpenScanner;//打开扫描仪

imgscan1StartScan; //开始扫描图象

imgscan1CloseScanner; //关闭扫描仪

end;

procedure TscanfN8Click(Sender: TObject);

begin

if (imgedit1IsClipboardDataAvailable

and imgedit1ImageDisplayed ) then

imgedit1ClipboardPaste(selleft,seltop);

//从剪贴板粘贴图象,其参数为Imgedit的显示区域的起始坐标

end;procedure TscanfN1801Click(Sender: TObject);

begin

if imgedit1ImageDisplayed then

imgedit1Flip; //镜象图象

end;procedure TscanfN901Click(Sender: TObject);

begin

if imgedit1ImageDisplayed then

imgedit1RotateRight //向右旋转图象

end;

procedure TscanfN6Click(Sender: TObject);

begin

imgedit1DrawSelectionRect(selleft,

seltop,selwidth,selheight);//进行图象局部选择

imgedit1ClipboardCut(selleft,seltop,

selwidth,selheight);//剪切所选区域

end;

注意:在DELPHI中使用Imgedit构件的拷贝和剪切功能时,会出现以下问题:

1、 如果把整幅图象都选中,没有任何问题; 2、 如果选择了局部区域,则拷贝和剪切的区域会发生漂移; 3、 如果DELPHI做的是MS SQL后端数据库的客户端界面,那么在把图象内容写入数据库的图象字段中时,BDE(数据库引擎)会报错。这是DELPHI3。0和4。0的BUG,4。0的升级包可以解决这个问题。 至于第二个问题,可这样解决:在Imgedit的onSelectionRectDrawn事件中写一段代码,把选择区域的边界值保存到四个全局变量中,在拷贝和剪切之前用先前保存的变量再进行一次选择即可(当然,这一切都在后台进行的,见前面的例子)。 开发环境:DELPHI4。0,HP ScanJet 4P扫描仪;

扫描仪不能用,扫描时电脑提示:“无法打开TWAIN源是设置错误造成的,解决方法为:

1、双击安装应用程序Uniora Web TWAIN 421exe,开始进入安装向导。

2、下图为安装向导的欢迎界面,点击next进入下一步。

3、点击I accept,同意用户协议,然后再点击next进入下一步。

4、在该页面你可以自己命名,也可以默认直接点击next。

5、单击change按钮,可以更改默认安装位置,然后再进入下一步next。

6、程序正在安装中,默默等待片刻。

7、安装完毕,点击finish关闭安装向导。

以上就是关于TWAIN批量打印能否详细说明一下全部的内容,包括:TWAIN批量打印能否详细说明一下、如何通过支持TWAIN的应用程序来启动动扫描仪的驱动程序、扫描仪不能用,扫描时电脑提示:“无法打开TWAIN源等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/10642084.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-10
下一篇 2023-05-10

发表评论

登录后才能评论

评论列表(0条)

保存