我有一个问题,即 Adob​​e PDF iFilter 对我们来说无法始终如一地工作。因此,我们喜欢使用 Foxit 中的那个。问题是,如果我们安装 Foxit iFilter,然后客户端决定重新安装 Adob​​e Reader,它可能会覆盖 Foxit iFilter。

我们可以使用 IFilter Explorer 之类的工具来查看它,但我想要一种在应用程序中执行此操作的方法,并警告用户/客户端 iFilter 已更改。

有没有办法从代码(C#)中检查 iFilters?或者这个问题的其他潜在解决方案?

最佳答案

由于foxit IFilter 实现了IPersistStream 接口(interface),我想您可以尝试从IFilter 中获取此接口(interface),并查询其CLSID 以查看它是否是foxit 提供的。 Foxit IFilter 的 CLSID 为 {987f8d1a-26e6-4554-b007-6b20e2680632} ,它是 IFilter Explorer 中的“Persistent Handlers Addins Registered”列。

Adobe 的 IFilter 似乎没有实现这个接口(interface)。

10-06 06:44