64 位 Office 会为其文档类型安装 64 位 IFilter,但不会安装 32 位 IFilter。因此,依赖 IFilter 的 32 位程序无法与 64 位 Office 配合使用。尽管可以选择从 Microsoft 下载 32 位 IFilter,但安装程序无法在 64 位计算机上运行,并会抱怨架构不匹配。
当安装 64 位 Office 时,是否有任何方法可以让 32 位程序使用 IFilter 从 Office 文档中提取文本?
谢谢。
答案1
我遇到了同样的问题 - 我有一个 32 位应用程序,在 Win 7 64 位机器上运行。
我的应用程序使用 iFilters 从文件(.doc 和 .docx)中提取文本
我不确定这是否适合您,但我的解决方法是:
Regedit
- 导航到Computer\HKEY_CLASSES_ROOT\.doc\PersistentHandler
注册表项并复制该项。(请确保保存该项,以便在必要时进行回滚)
Regedit
- 导航到Computer\HKEY_CLASSES_ROOT\.docx\PersistentHandler
.doc PersistentHandler 键并将其粘贴到 .docx PersistentHandler 上。
这实际上告诉它将 .docx 文件指向 offfilt.dll
( C:\Windows\SysWOW64\offfilt.dll
(x86))
我确信从技术上来说有人会告诉我我所做的是完全错误的,但它对我来说是有效的!
我运行一个批处理文件,它可以根据需要将注册表从原始设置切换到 .doc 设置,然后再切换回。
我假设如果您尝试采用另一种方式 - 从 32 位到 64 位,您可以逆转该过程。
答案2
不。据微软称:
默认情况下,即使您的计算机运行的是 64 位版本的 Windows,Microsoft Office 2010 也会安装 32 位版本的 Office 2010。
对于大多数人来说,推荐使用 32 位版本的 Office 2010,因为它可以避免与其他 32 位应用程序(特别是仅适用于 32 位操作系统的第三方插件)的潜在兼容性问题。