AcrobatJavaScript:将UTM参数从URL传递到PDF按钮
我有一个PDF,它有一个带有字段名的按钮AcrobatJavaScript:将UTM参数从URL传递到PDF按钮,javascript,pdf,acrobat,Javascript,Pdf,Acrobat,我有一个PDF,它有一个带有字段名的按钮ctaButton CTA按钮当前有一个指向https://mywebsite.com 我想在https://mywebsite.com/hosted.pdf 当我向某人发送PDF的链接时,我想附加一个UTM\u term参数?UTM\u term=customer1,然后让PDF读取此参数并将按钮更新为https://mywebsite.com/?utm_term=customer1 为了实现这一点,我花了几个小时在Acrobat中处理Javascrip
ctaButton
CTA按钮当前有一个指向https://mywebsite.com
我想在https://mywebsite.com/hosted.pdf
当我向某人发送PDF的链接时,我想附加一个UTM\u term
参数?UTM\u term=customer1
,然后让PDF读取此参数并将按钮更新为https://mywebsite.com/?utm_term=customer1
为了实现这一点,我花了几个小时在Acrobat中处理Javascript操作。非常感谢您的帮助。您可以使用
var myURL = this.url;
Acrobat JavaScript中的“this”是文档上下文。您可以使用
var myURL = this.url;
Acrobat JavaScript中的“this”就是文档上下文。我做了几个小时的研究,得出了这个结论——Acrobat中的JavaScript就像是在1985年尝试编写代码,浏览器不会执行您所编写的任何代码
所以我使用了这个变通方法:
- 当我将PDF发送给某人时,我会将其作为带有
base64
编码的字符串化JSON包,包含一组跟踪
数据,但重要的是,要访问的文件名以及utm
特定于收件人的参数
- 该链接会命中提取编码的数据的服务器处理程序(NodeJS)
JSON包,并使用包中的数据提供HTML
重定向指向右侧PDF文件的页面
- 重要的是,HTML页面还将JSON包保存到
浏览器的
localStorage
。这在以后的工作中很方便
台阶
- PDF文件在浏览器中打开(不必,可以在
桌面)和调用操作链接有一个指向get请求的链接
处理者
- get请求处理程序提供另一个重定向页面
- 第二个重定向页面访问浏览器的本地存储,如下所示
对于我为该用户设置的utm参数,然后重定向到
销售页面,附有漂亮的utm参数
总而言之,您不需要将utm参数添加到PDF中的call to action链接中(因为这会让这个世界变得太容易生活),而是在过程中通过链接点击中附加utm参数(通过保存在localStorage
中的JSON字符串)(即,当用户通过链接打开电子邮件提取文件时,以及当用户单击PDF中的“行动呼吁”时)
如有任何问题或澄清,请在评论中告知我,我将尽力解决
注意事项
- 仅当用户在所有步骤中使用相同的浏览器时才有效(即,如果Susan在Safari中打开电子邮件,保存PDF,然后在PDF中单击操作调用,并且链接在Chrome中打开,则不会传递utm参数)
- 假设浏览器是现代化的,并且具有
localStorage
更新:我遇到了另一个解决方案。它有点复杂。下图
Porky.io是Adobe Indesign的Javascript扩展。因此流是:
向Porky.io发送所需的客户数据(例如链接的utm)
Porky.io根据您提供的模板和您提供的客户数据生成PDF
侦听从Porky保存的新文件
对文件进行处理(例如,通过电子邮件发送给客户)
我相信您需要在云中的某个位置(例如Azure上)运行Windows实例,才能使用Porky.io运行Indesign。除非您想依赖笔记本电脑
我的项目还不够大,还不足以保证设置它……但如果我需要使当前的解决方案更加健壮,这是一个很好的选择。我做了几个小时的研究,得出了这个结论——Acrobat中的Javascript就像是在1985年尝试编写代码,浏览器不会执行您所编写的任何代码
所以我使用了这个变通方法:
- 当我将PDF发送给某人时,我会将其作为带有
base64
编码的字符串化JSON包,包含一组跟踪
数据,但重要的是,要访问的文件名以及utm
特定于收件人的参数
- 该链接会命中提取编码的数据的服务器处理程序(NodeJS)
JSON包,并使用包中的数据提供HTML
重定向指向右侧PDF文件的页面
- 重要的是,HTML页面还将JSON包保存到
浏览器的
localStorage
…这在以后的应用中非常方便
台阶
- PDF文件在浏览器中打开(不必,可以在
桌面)和调用操作链接有一个指向get请求的链接
处理者
- get请求处理程序提供另一个重定向页面
- 第二个重定向页面访问浏览器的本地存储,如下所示
对于我为该用户设置的utm参数,然后重定向到
销售页面,附有漂亮的utm参数
总而言之,您不需要将utm参数添加到PDF中的call to action链接中(因为这会让这个世界变得太容易生活),而是在过程中通过链接点击中附加utm参数(通过保存在localStorage
中的JSON字符串)(即,当用户通过链接打开电子邮件提取文件时,以及当用户单击PDF中的“行动呼吁”时)
如有任何问题或澄清,请在评论中告知我,我将尽力解决
注意事项
- 仅当用户在所有步骤中使用相同的浏览器时才有效(即,如果Susan在Safari中打开电子邮件,保存PDF,然后在PDF中单击操作调用,并且链接在Chrome中打开,则不会传递utm参数)
- 假设浏览器是现代化的,并且具有
localStorage
<