我遇到了嵌入在 Lotus Notes 文档中的 OLE 对象的特定问题。
用户已将 fe Word 或 Excel 文档附加为 OLE 对象(在 Lotus Notes 文档中),我需要从 OLE 获取这些原始文档作为可以在其主机应用程序中打开的文件附件。
使用 Lotus Notes C API,我设法将 OLE 对象分离到 HDD。问题是 Word 文档嵌套在 Word.Document.8 或 Word.Document.12 目录中的 OLE 二进制文件中。仅将 OLE 二进制文件重命名为 doc 或 docx 是行不通的。
这就是我编写读取二进制文件和提取文档的 Java OLE 包的原因。这行得通,但是……有一个缺点。
我必须解析 OLE 类名,如果它是 Word.Document.8,我需要编写代码手动从 word.document.8 目录中提取所有流并将它们保存为新的 .doc OLE 对象,以便 Word 正确打开它.
这对于 Office 文档来说并不难,但所有类型的东西都可以嵌入到 OLE 中,我无法涵盖所有可能性。
是否有可以从 OLE 二进制文件中提取嵌入对象的 C api 函数(原始文件名不重要,但扩展名很重要)?双击 OLE 对象时,Lotus 或 Word 是如何工作的?它必须以某种方式重建嵌入式文档?我想以同样的方式做:-)
谢谢你的帮助。