0

我可以手动和通过 DXL 将 MS Word 文件作为 OLE 插入到 DOORS 对象中,但是 PDF(以及 EPS)的行为不同:很难使那些不显示为图标。

我只能通过使用对话框的创建新单选按钮手动将 PDF 文件(显示一些图形)插入为 OLE ,并将类型明确指定为Adob​​e 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"

给我:

DOORS 的屏幕截图显示了嵌入的 PDF

双击该图标会打开相关的应用程序 (Acrobat Reader) 并正确显示嵌入的 PDF。但是,OLE 属性对话框显示类型Package。如上所述的手动插入会创建一个具有Adob​​e Acrobat 文档类型的 OLE 对象(在创建时指定)。

通过 DXL 而不是 PDF 插入 Word 文档会使嵌入的文档正确呈现——显然类型是自动且正确地确定的:

DOORS 的屏幕截图显示了嵌入式 DOC

显然,我无法(但必须)在插入 PDF 时指定 OLE 类型。

我在IBM 论坛上发现了类似的问题,但是那里的代码甚至没有更新现有的 OLE 对象,而是让我的对象没有任何 OLE 内容!另一个线程也解决了这个问题,但没有提供详细的解决方案。

4

2 回答 2

1

我会检查两件事会导致您和您的同事产生不同的结果:

  1. 检查他们是否安装了完整的“编辑”版本的 Adob​​e Acrobat。由于 OLE 是 Microsoft 标准,安装 Full Acrobat 而不是仅安装 Viewer 可能会向 Windows 注册组件,从而允许 OLE 为它们正确显示。

  2. 如果他们没有安装 Full Acrobat,那么他们可能有不同版本的查看器或您的计算机上没有的第 3 方 PDF 查看器。

DXL 参考手册明确指出,An OLE package is created if a file has no associated applications that support OLE.因此您的系统无法识别关联,但您的同事却可以。

于 2015-07-09T15:42:20.907 回答
0

根本原因仍然未知,但问题最终得到了解决。我的 Windows 用户帐户被删除并从头开始创建。现在它起作用了。

另一位同事也有同样的问题——也许我们会花时间尝试隔离包含原因的文件/设置。

于 2015-07-10T14:21:38.293 回答