C# 32位计算机中的Adobe PDF IFilter
我正在使用PDF IFilter 6.0为应用程序中的C# 32位计算机中的Adobe PDF IFilter,c#,ifilter,C#,Ifilter,我正在使用PDF IFilter 6.0为应用程序中的PDF文件编制索引,我得到以下异常: System.AccessViolationException: Attempted to read or write protected memory. This is often an indication that other memory is corrupt. at EPocalipse.IFilter.IFilter.Init(IFILTER_INIT grfFlags, Int
PDF
文件编制索引,我得到以下异常:
System.AccessViolationException:
Attempted to read or write protected memory.
This is often an indication that other memory is corrupt.
at EPocalipse.IFilter.IFilter.Init(IFILTER_INIT grfFlags, Int32 cAttributes, IntPtr aAttributes, IFILTER_FLAGS& pdwFlags)
at EPocalipse.IFilter.FilterLoader.LoadAndInitIFilter(String fileName, String extension)
at EPocalipse.IFilter.FilterLoader.LoadAndInitIFilter(String fileName)
at EPocalipse.IFilter.FilterReader..ctor(String fileName)
我使用的是WIN7 32位机器。PDF IFilter对Win7有效吗
我的应用程序是多线程的,Ifilter是否使用多线程?我还尝试使用
STAThread
,但得到了相同的异常。还尝试在实例化读卡器时锁定,但没有锁定。您无法对Adobe IFilter进行多线程处理,它是为单线程应用而设计的
使用IFilter Explorer了解哪个IFilter是STA:
如果你想让你的应用程序在其他过滤器中保持多线程,你可以使用的解决方案是旋转一个线程,专门用于STA IFilters,并在应用程序的生命周期中保持它。然后总是在同一线程中处理需要STA的文档