Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/go/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用特定的PDF IFilter_Pdf_Full Text Search_Ifilter - Fatal编程技术网

如何使用特定的PDF IFilter

如何使用特定的PDF IFilter,pdf,full-text-search,ifilter,Pdf,Full Text Search,Ifilter,我正在尝试使用iFilter从PDF文件中提取文本 与Adobe Reader一起分发的Adobe PDF iFilter非常糟糕,对于许多PDF文档返回HRESULT E_FAIL消息 在我用于测试的几乎所有PDF上都能很好地工作 问题是每次Adobe Updater运行时,它都会用蹩脚的Adobe IFilter替换令人敬畏的FoxIt IFilter 我一直在使用该方法获取PDF文件的注册IFilter。有没有办法强制Win32 API加载FoxIt IFilter而不是Adobe IFi

我正在尝试使用iFilter从PDF文件中提取文本

与Adobe Reader一起分发的Adobe PDF iFilter非常糟糕,对于许多PDF文档返回
HRESULT E_FAIL
消息

在我用于测试的几乎所有PDF上都能很好地工作

问题是每次Adobe Updater运行时,它都会用蹩脚的Adobe IFilter替换令人敬畏的FoxIt IFilter

我一直在使用该方法获取PDF文件的注册IFilter。有没有办法强制Win32 API加载FoxIt IFilter而不是Adobe IFilter


注意:这个关于的问题询问了一个相关但不完全相同的问题。

IFilter似乎在windows中注册为COM对象,因此您应该能够使用COM创建它的实例

From:DLL的结构是它有一个IFilter和一个IClassFactory

您应该能够实例化IClassFactory(给定CLSID)

退房

除了上面的方法之外,您只需检查系统范围内使用的IFilter DLL中您感兴趣的文件类型

如果找到的是Adobe DLL而不是Foxit DLL,请更改文件类型的PersistentHandler所引用的键的InprocServer32条目。这可能需要特殊权限,具体取决于您使用的系统。 然后开始使用IFilter

查看有关如何选择IFIlter DLL的简单说明:


谢谢奈杰尔,我试试看。