是否有任何用.NET(没有COM互操作)编写的免费或商业组件可以与大多数twain扫描仪一起使用?
我想通过Java扫描一些论文.我找到了mm的计算twain库.
当我在站点上运行示例TwainExample.java时,我收到此错误.
uk.co.mmscomputing.device.twain.TwainIOException:无法加载Twain Source Manager.
另一方面,几乎相同的代码与ImageJ一起作为插件使用.然而,当我单独使用这个代码时,我仍然会收到相同的异常.
我想知道为什么这不起作用.
在处理webapp的典型文档中考虑以下扫描过程:
这个过程非常复杂,我想减少步骤数,以使过程更加用户友好/万无一失.在理想情况下,上述步骤将仅被替换为一个步骤,其中该过程启动文档扫描,完成文档扫描并且在点击说"扫描并上载"时从webapp自动触发上载结果图像.不幸的是,"网络/扫描仪集成"的状态似乎很差,所以这可能是乌托邦.
你会如何解决这个问题?更具体地说,您将如何减少所描述的用例中涉及的数量步骤?
我们公司正在使用一些仅接受来自"成像设备"输入的软件,即TWAIN设备(例如扫描仪).
问题是我们以数字方式接收文件,因此使用实际的扫描仪需要我们打印,扫描和粉碎我们已经在计算机上已有的文档,而不是软件中的文档.
如果有人知道在此期间我们如何能够解决这个问题,我很好奇.我的第一个想法是找到一些方法来欺骗程序认为我们正在使用扫描仪,通过一些刚刚读入文件的新"成像设备",并将其吐出到软件中,但我甚至都没有知道从哪里开始.
我们提出了一个功能请求,看看这个问题应该如何在软件本身中得到解决,但该公司因更新而非常苛刻.
我正在构建一个.Net 4.0应用程序来远程控制扫描仪设备.我已经尝试了TWAIN和WIA库,但我遇到了同样的问题.扫描图像时无需 扫描仪选择和扫描设置对话框.
我在.Net中找到了一篇关于WIA脚本的有用文章,并将其修改为:
private Image Scan(string deviceName)
{
WiaClass wiaManager = null; // WIA manager COM object
CollectionClass wiaDevs = null; // WIA devices collection COM object
ItemClass wiaRoot = null; // WIA root device COM object
CollectionClass wiaPics = null; // WIA collection COM object
ItemClass wiaItem = null; // WIA image COM object
try
{
// create COM instance of WIA manager
wiaManager = new WiaClass();
// call Wia.Devices …Run Code Online (Sandbox Code Playgroud) 我需要将TWAIN扫描添加到Delphi应用程序中,并且无法找到现成的组件来执行此操作.
我下载了TDelphiTwain,但是当在Windows Vista上的D2010中使用时,它似乎无法识别我系统上的任何Twain源.我还尝试了MCM的Twain Toolkit for Delphi的试用版,它具有当前更新的优势(DelphiTwain的最后一次更新是2004),但Twain Toolkit甚至不能在我的系统上编译(我认为一些DCU不在日期).
任何人都可以建议一种简单的方法将TWAIN扫描到我的Delphi应用程序中吗?
更新:使用vcldeveloper对DelphiTwain的更新(见下文)我能够实现这一点.此外,我还发现Envision Image Library支持Twain扫描以及协助处理多页TIFF,并且已经更新以与D2010兼容.
最新的更新 VCLDeveloper的代码,下面,工作正常.但是,我选择了Envision库,它包括轻松创建多页TIFF文件的功能.我在几个小时内完成了Envision扫描,包括多页文件处理.
我正在使用http://www.codeproject.com/KB/dotnet/twaindotnet.aspx中的代码
我遇到了问题,因为只有在扫描进纸器中的所有文档后,twain才会返回控制权.如果我扫描20个或更多文档,这会导致高内存使用量.
我想过从进纸器一次只扫描一个文件并保存图像并再次循环调用api.
我将cap_xfercount设置为1,但这似乎没有帮助:
TwCapability cap = new TwCapability(TwCap.XferCount, 1);
rc = DScap(appid, srcds, TwDG.Control, TwDAT.Capability, TwMSG.Set, cap);
Run Code Online (Sandbox Code Playgroud)
从进纸器扫描一个文件我需要做什么?任何建议赞赏.
我在我的应用程序中使用http://www.codeproject.com/KB/dotnet/twaindotnet.aspx?msg=1007385#xx1007385xx中的.NET TWAIN代码.当我没有插入扫描仪时尝试扫描图像时,应用程序会冻结.
如何使用TWAIN驱动程序检查设备是否已插入?
我正在尝试使用NTwain库与C#的兼容TWAIN的多功能打印机和扫描仪,Canon Pixma MG5750进行交互.我正在编写一个程序来将图像扫描到一个Image对象中.
在扫描图像之前扫描仪必须预热; 这样做时会显示以下弹出窗口:
完成此过程后,它将开始扫描文档.
虽然该程序确实有效,但问题在于,这种预热过程有时需要很长时间,没有明显的原因,最多几分钟.使用佳能自己的应用程序IJ扫描实用程序时,这个问题永远不会发生,它使用TWAIN并显示相同的对话框,但仅持续几秒钟.
我可以使用TWAIN功能来提高预热过程的速度吗?我试着改变ICapXResolution和ICapYResolution,但这些只会增加实际扫描的速度暖起来后,只要不影响热身本身.
我的程序如下所示.请注意,它是一个控制台应用程序,因此使用ThreadPool.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Reflection;
using System.Text;
using System.Threading.Tasks;
using NTwain;
using NTwain.Data;
using System.Drawing;
using System.Threading;
namespace TwainExample
{
class Program
{
[STAThread]
static void Main(string[] args)
{
ThreadPool.QueueUserWorkItem(o => TwainWork());
Console.ReadLine();
}
static void TwainWork()
{
var identity = TWIdentity.CreateFromAssembly(DataGroups.Image, Assembly.GetEntryAssembly());
var twain = new TwainSession(identity);
twain.Open();
twain.DataTransferred += (s, e) => …Run Code Online (Sandbox Code Playgroud)