【问题标题】:Missing Member Exception when Using Acrobat JSObject 3D calls使用 Acrobat JSObject 3D 调用时缺少成员异常
【发布时间】:2017-09-21 06:13:29
【问题描述】:

我正忙于尝试在 vb.net 中编写一个基本应用程序,以使用 acrobats 3D API 在 3D PDF 中选择特定节点。我正在使用以下代码以表格形式查看 3D PDF:

Dim avdoc As Acrobat.CAcroAVDoc 将 pddoc 调暗为 Acrobat.CAcroPDDoc 将 jso 调暗为对象 将 a3d 调暗为对象

    avdoc = CreateObject("AcroExch.AVDoc")

    avdoc.OpenInWindowEx("C:\Users\Marcel\Documents\TFC Test\3C555-01-01.pdf", Me.Handle.ToInt32, 1, True, 0, 1, 1, 0, 0, 0)

    pddoc = avdoc.GetPDDoc()

    jso = pddoc.GetJSObject

    a3d = jso.getAnnot3D(0, "3D Annot 0")

    a3d.activated = True

    MsgBox(a3d.context3D.scene.meshes.count)

    a3d.context3D.scene.selectednode = a3d.context3D.scene.meshes.getByIndex(0)

执行此代码时,网格数 (24) 显示正确,但选择节点的行给出以下错误:

'未找到成员。 (来自 HRESULT 的异常:0x80020003 (DISP_E_MEMBERNOTFOUND))'

通过进一步检查,我似乎可以访问 3D 对象的任何属性,但无法访问它们的功能。

我环顾四周,但似乎找不到任何关于此的信息。有谁知道如何解决这个问题或我可能做错了什么?

【问题讨论】:

    标签: vb.net acrobat


    【解决方案1】:

    使用“selectedNode”...大写N。

    主文档 JavaScript 引擎和 3D 注解中的引擎不同。我怀疑 3D JavaScript API 是否像 Acrobat JavaScript 一样容忍通过 JSO 进行的大写。

    【讨论】:

    • 谢谢。这有帮助,但不幸的是我仍然遇到同样的错误。即使我只使用代码,我也会收到该错误:a3d.context3D.scene.meshes.getByIndex(0)
    • 在您的问题中,您说计数显示正确。是这样吗?
    • 是的。计数工作正常。任何 3D 属性似乎都可以正常工作,只是函数给出了该错误。
    猜你喜欢
    • 2015-08-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-09-22
    相关资源
    最近更新 更多