0

我目前正在编写一个文件扫描实用程序,并在 WinForms 应用程序中使用 IFilters。

我将扫描文件的代码移到了 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 上发生。其中一些很好。

有没有其他人有这个错误,或者任何人都可以解释可能导致它的原因吗?

4

1 回答 1

0

似乎 Adob​​e 8 及以后的最新 IFilter 仅支持 Windows 中搜索索引器使用的流接口。这解释了为什么我使用最新版本得到“不支持接口”。

IFilter 的 V6.0 在未在单线程应用程序中使用时会变得不稳定,如下所示

我遇到的第一个解决方案是使用Foxit PDF IFilter,它就像一个魅力,如果我能从我的客户那里挤出 600 美元肯定会购买。使用此 IFilter 运行时我没有遇到任何问题。

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

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

于 2013-08-23T09:36:00.213 回答