【问题标题】:How to Save a .pdf document using Javascript如何使用 Javascript 保存 .pdf 文档
【发布时间】:2017-03-08 22:53:01
【问题描述】:

我正在尝试使用以下脚本将我的 pdf 文档保存到特定位置:

this.saveAs("C:/Users/logan/Desktop/test.pdf");

此脚本保存在文件夹级别的 .js 文件中,位于 app.beginPriv/app.endPriv 块内。

每次我尝试运行脚本时都会收到以下错误:

TypeError: this.saveAs 不是函数

我知道脚本正在被访问,因为如果我将脚本更改为显示一个简单的弹出窗口,该脚本将运行良好。我相信这可能是由于正在处理我的脚本的引擎(我从 Bluebeam 访问代码,而不是 Acrobat)。

如果这是问题所在,我需要知道 Bluebeam 引擎中的等效运算符是什么来执行另存为过程,但遗憾的是在线没有这样的参考,并且不允许该软件的技术支持提供编码建议。

所以我的问题是:除了引擎无法识别脚本之外,还有其他可能的原因导致我的脚本无法正常工作吗?如果是引擎的问题,是否有人对如何查找我需要的脚本行有任何建议?

提前感谢您的帮助!

【问题讨论】:

  • 出于安全原因,Javascript 无法直接保存到服务器。您必须调用服务器端语言。 Stackoverflow 中有几篇文章处理这个问题。这是一个。 stackoverflow.com/questions/7165395/… 只需 google javascript 将 pdf 保存到服务器,您会发现很多信息。
  • OP中描述的情况与服务器/客户端环境无关;因此,该建议具有误导性。

标签: javascript pdf adobe


【解决方案1】:

您应该将该行代码放入一个函数中,然后将其设为特权。然后调用该函数而不是普通的 saveAs()。

这适用于 Acrobat;我对 Bluebeam 的了解还不够,无法确定它是否也有;您可以联系 Bluebeam 支持以获得权威答案。

【讨论】:

  • 感谢您的快速回复。我实际上是在控制台中调用脚本,它运行脚本直到它到达 saveAs() 函数,然后给我错误。以下是我的文件夹中的内容: mySaveAs = app.trustPropagatorFunction(function(doc,path) { app.beginPriv(); doc.saveAs(path); app.endPriv(); }) myTrustedSpecialTask​​Func = app.trustedFunction(函数(文档,路径){ app.beginPriv();mySaveAs(文档,路径);app.endPriv();});然后在控制台中我调用函数:: myTrustedSpecialTask​​Func(this, "C:/Temp");任何进一步的见解?谢谢
  • 我对此一无所知。据我了解,我正在从受信任的函数内部调用脚本,因此它应该可以工作。有没有人看到上面评论中显示的脚本不起作用的原因?
猜你喜欢
  • 2014-05-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-05-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-03-25
相关资源
最近更新 更多