gpt4 book ai didi

powershell - 无法从 PowerShell 使用 Acrobat XI JSObject

转载 作者:行者123 更新时间:2023-12-02 23:44:17 24 4
gpt4 key购买 nike

我的机器上安装了 Acrobat XI Pro。

我正在尝试编写 PowerShell 代码,使用诸如 https://groups.google.com/forum/#!topic/comp.text.pdf/DNtcbUgjas4 中的技术从 PDF 文档中提取页面。和 Convert pdf to Word document

当我调用 GetJSObject()GetPDDoc() 的输出上我得到一个 System._ComObject这不会公开我发现的各种示例代码中使用的任何方法:

PS> $JavaScriptObject
System.__ComObject

PS> $JavaScriptObject.GetType()
Value does not fall within the expected range.
At line:1 char:1
+ $JavaScriptObject.GetType()
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : OperationStopped: (:) [], ArgumentException
+ FullyQualifiedErrorId : System.ArgumentException


PS> $JavaScriptObject.numPages -eq $null
True

有什么线索吗?

注意:使用来自 https://groups.google.com/forum/#!topic/comp.text.pdf/DNtcbUgjas4 的代码在 VBS 中使用完全相同的逻辑。

最佳答案

所以,这是一个古老的问题,你可能早就离开了这个问题,或者想通了。我试图在 PowerShell 中执行一些涉及 Acrobat 自动化的任务,遇到了同样的问题,并认为可信赖的 Google 搜索可以为我解决我的问题。不幸的是,你的结果是我能找到的唯一相关结果,你似乎从未得到答案。

万一其他人来到这里,在这种情况下,这就是最终对我有用的东西。我在 Windows 10 机器上执行此操作,使用 PowerShell v5。我强烈怀疑这个问题是 com-object 与 PowerShell v5 交互的方式。如果我打开命令行提示符并启动“powershell -version 2”,则 $jsObject 很好,我可以从对象中调用 extractPages、numPages 等到我心中的内容,而不会出现“不在预期范围内” GetType() 返回的错误。我知道你不应该根据意见来回答,但这是我的怀疑,并且会解释(向我)为什么加载旧版本的 powershell 有效。耸耸肩。我可能是错的,问题出在其他地方,但希望这对某人有所帮助。

哦,顺便说一句,我相信您需要更改从 $jsObject 调用方法的方式,并使用反射。一个简短的片段示例:

    $jType = $jsObject.GetType()
$extractPagesBFs = [System.Reflection.BindingFlags]"InvokeMethod","Public","Instance"
$jType.InvokeMember("extractPages", $extractPagesBFs, $null, $jsObject, $extractPagesParam)

我永远无法获得 $jsObject。 <function > 去工作(也许我错过了一些东西......)。我不清楚为什么 vbs 可以直接访问这样的功能,例如在您链接的示例中。

关于powershell - 无法从 PowerShell 使用 Acrobat XI JSObject,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30400527/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com