【问题标题】:Save a random number in a PDF file using JavaScript in Adobe Acrobat在 Adob​​e Acrobat 中使用 JavaScript 将随机数保存在 PDF 文件中
【发布时间】:2016-12-02 03:16:49
【问题描述】:

我正在使用下面的脚本通过一个按钮生成一个随机数。我需要帮助编码生成的数字以保存并且一旦保存就不会更改,因此任何用户都可以随时打开保存的文档,并且数字始终保持不变。

this.getField("Violation Number").value = util.printf("%06d", Math.floor((Math.random() * 100000000) + 1));

【问题讨论】:

  • 您是否尝试过使用本地存储或应用缓存?
  • @AbrarShariarGalib - 此 JavaScript 代码位于在 Acrobat 中运行的 PDF 文件中,而不是在 Web 浏览器中。
  • 你能更详细地描述你想要发生的事情吗?一步一步,谁来做什么,接下来会发生什么?
  • 您可能会觉得这很有帮助link
  • 此 js 以 pdf 格式运行。理想情况下,我希望在打开文档时运行 js,生成随机数,然后在生成随机数后保存或变为不可更改。其他用户将打开和关闭保存的 pdf,因此一旦生成,数字必须保持不变。谢谢你们所有的cmets。我是一个非常新手,所以请原谅我缺乏知识。

标签: javascript acrobat-sdk


【解决方案1】:

也许您可以使用 Global js 变量并将随机数设置为持久,如下所示:

global.x = 1
global.setPersistent("x", true);

具体使用请查看 js 帮助文件:http://help.adobe.com/en_US/acrobat/acrobat_dc_sdk/2015/HTMLHelp/#t=Acro12_MasterBook%2FJS_API_AcroJS%2Fglobal_methods.htm&rhsearch=global%20persistent&rhhlterm=global%20persistent&rhsyns=%20

你可以在这里找到一个教程:https://acrobatusers.com/tutorials/global-object-acrobat-javascript

【讨论】:

    【解决方案2】:

    我知道这是一个老问题,但没有看到有人将其标记为已回答。
    我的建议是运行这样的 if 语句:

    if (this.getField("Violation Number").value.length == 0) {
       this.getField("Violation Number").value = util.printf("%06d", Math.floor((Math.random() * 100000000) + 1));
    }
    

    分解它,你告诉 javascript 检查字段值的长度。如果该字段中有 0 个字符,请运行您的脚本。如果字段中的字符超过 0 个,则什么也不做。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-10-29
      • 1970-01-01
      • 2019-02-16
      • 1970-01-01
      • 2011-03-18
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多