我可以手动和通过 DXL 将 MS Word 文件作为 OLE 插入到 DOORS 对象中,但是 PDF(以及 EPS)的行为不同:很难使那些不显示为图标。
我只能通过使用对话框的创建新单选按钮手动将 PDF 文件(显示一些图形)插入为 OLE ,并将类型明确指定为Adobe Acrobat 文档(没有显示为图标选项)。在这种情况下一切都很好。
使用单选按钮Create from FileinsertOle()
按钮会导致与使用 DXL 函数插入对象相同的不良行为:结果仅显示为图标。
if (oleInsert(current, "c:\\temp\\27.pdf", false))
print "Successfully embedded document\n"
else
print "Problem trying to embed document\n"
给我:
双击该图标会打开相关的应用程序 (Acrobat Reader) 并正确显示嵌入的 PDF。但是,OLE 属性对话框显示类型Package。如上所述的手动插入会创建一个具有Adobe Acrobat 文档类型的 OLE 对象(在创建时指定)。
通过 DXL 而不是 PDF 插入 Word 文档会使嵌入的文档正确呈现——显然类型是自动且正确地确定的:
显然,我无法(但必须)在插入 PDF 时指定 OLE 类型。
我在IBM 论坛上发现了类似的问题,但是那里的代码甚至没有更新现有的 OLE 对象,而是让我的对象没有任何 OLE 内容!另一个线程也解决了这个问题,但没有提供详细的解决方案。