Acrobat Javascript:将URL中的UTM参数传递给PDF按钮

时间:2016-05-23 12:01:21

标签: javascript pdf acrobat

我的PDF有一个字段名为ctaButton的按钮。

ctaButton目前有一个指向https://mywebsite.com的网址。

我想在我https://mywebsite.com/hosted.pdf的服务器上托管PDF。

当我向某人发送指向PDF的链接时,我想附加UTM_term参数?utm_term=customer1,然后让PDF读取此参数并将ctaButton网址更新为{{ 1}}。

我一直在乱搞Acrobat中的Javascript操作几个小时试图实现这一点。非常感谢任何帮助。

2 个答案:

答案 0 :(得分:0)

您可以使用...

获取文档的完整网址
var myURL = this.url;

"这"在Acrobat JavaScript中是文档上下文。

答案 1 :(得分:0)

我做了几个小时的研究并得出了这个结论 - Acrobat中的Javascript就像在1985年尝试编码一样,浏览器不会执行你提出的任何代码。

所以我使用了这个解决方法:

  • 当我将PDF发送给某人时,我会将其作为base64的链接发送给我 编码的字符串化JSON包,其中包含一堆跟踪 数据,但重要的是,要访问的文件的名称以及utm 特定于收件人的参数
  • 链接命中提取编码的服务器处理程序(NodeJS) JSON包,并使用包中的数据来提供HTML 重定向页面指向正确的PDF文件
  • 重要的是,HTML页面还将JSON包保存到 浏览器的localStorage。 。 。这在后来派上用场了 步骤
  • PDF文件在浏览器中打开(无需打开,可以打开 桌面)和号召性用语链接有一个指向获取请求的链接 处理
  • 获取请求处理程序提供了另一个重定向页面
  • 第二个重定向页面访问浏览器的本地存储,看起来 为我为该用户设置的utm参数,然后重定向到 销售页面,附有精美的utm参数

总而言之,你不要将utm参数添加到PDF中的号召性用语链接中(因为这会使世界变得太容易生活)而是你做了所有这些杂技(没有双关语)在过程中(即当用户打开电子邮件通过链接提取文件,然后当用户点击PDF中的号召性用语)时,在链接点击中添加utm参数(通过localStorage中保存的JSON字符串)。

如有任何问题或澄清,请在评论中告诉我,我会尽力解决。

<强>注意事项

  • 仅当用户在所有步骤中使用相同的浏览器时才有效(例如,如果Susan在Safari中打开电子邮件,保存PDF,然后单击PDF中的号召性用语,并且链接在Chrome中打开,则不会传递utm参数)。
  • 假设浏览器是现代的并具有localStorage

更新:我遇到了另一种解决方案。这有点复杂。下图。

enter image description here

Porky.io是Adobe Indesign的Javascript扩展。所以流程是:

  1. 向Porky.io发送您需要的客户数据(例如,链接的utm)
  2. Porky.io根据您提供的模板和您提供的客户数据生成PDF
  3. 收听Porky保存的新文件
  4. 对文件执行某些操作(例如,通过电子邮件发送给客户)
  5. 我相信您需要在云中的某个位置运行Windows实例(例如在Azure上)以使用Porky.io运行Indesign。除非你想依赖你的笔记本电脑。

    我的项目还不够大,无法保证这一点。 。 。但如果我需要使我当前的解决方案更加健壮,那么这是一个很好的选择。