2013-08-22 54 views
0

我正在写一个文件扫描工具,并在WinForms应用程序中使用IFilters。PDF IFilter V6 Backgroundworker线程问题 - 取出VSHost?

我将扫描文件的代码移动到Backgroundworker,并且因为我已经完成了PDF IFilter应用程序抛出错误。

这是我得到的事件日志中的错误:

Faulting application name: Scanner.vshost.exe, version: 11.0.50727.1, time stamp: 0x5011d445 
Faulting module name: PDFL60.dll, version: 6.1.0.0, time stamp: 0x40bcc106 
Exception code: 0xc0000005 
Fault offset: 0x0000a3c5 
Faulting process id: 0x1e8 
Faulting application start time: 0x01ce9f4fc83fac44 
Faulting application path: C:\Development\Scanner\Scanner\bin\Debug\Scanner.vshost.exe 
Faulting module path: C:\Program Files\Adobe\PDF IFilter 6.0\PDFL60.dll 
Report Id: 6a4c3638-0b44-11e3-bb16-082e5f03ae88 

令人担忧的是,它正在VSHost并在每一个PDF不会发生。其中一些很好。

有没有其他人有这个错误或任何人都可以阐明什么可能会导致它?

回答

0

似乎Adobe 8以后的最新IFilter仅支持Windows中Search索引器使用的流接口。这解释了为什么我使用最新版本获得“无界面支持”。当在单线程应用程序不作为可以看出here

我碰到是使用Foxit PDF IFilter这就像一个魅力的第一个解决方案

V6.0中的IFilter变成片状,如果我能挤$ 600我的客户肯定会购买。运行此IFilter时没有问题。

第二个免费解决方案是使用Adbobe IFilter 5.0。近10岁但实现文件界面稳定。

另一种解决方案可能是切换到64位。来自Adobe的64位过滤器的V9.0正在工作并且稳定。