我正在将文档导出为 PDF。它保存在一个可公开访问的网站上,以便任何用户都可以下载和阅读它。现在我想跟踪这个。例如“PDF 被打开了多少次”。
请注意,我的问题不是在下载时进行跟踪,我们需要在打开 PDF 时进行跟踪。打开 PDF 时是否会调用任何类型的脚本,以便 Adobe Acrobat Reader 将详细信息发送到我的服务器?
这些是我想要的细节:
- 知识产权
- 约会时间
- 可能的 GEO 位置。
是的,你可能可以做到这一点。PDF 包含一个 Javascript API,一些(但不是全部)PDF 阅读器实现了该 API。我只确定 Acrobat 和 Foxit Reader 会这样做,出于安全和隐私原因,两者都可以关闭。也就是说,这可能是你最好的选择。
我浏览了Acrobat API Reference 的 Javascript,看起来您可以注册“页面/打开”事件(我的副本中的第 368 页),并在收到第一个事件时,进行 Net.HTTP 调用(页面548) 到您正在运行的 Web 服务器。这将为您提供日期/时间和读取文档的客户端的公共 IP,您可以使用 GeoIP 等服务从中获取地理位置。
我不确定这是可能的。尽管 PDF 可以执行 Javascript,但阅读器软件自然会担心恶意软件被嵌入“良性”文档中,因此执行上下文非常有限,并会显示有关可能的危险活动的警告。
请参阅上一个 SO 问题我的 PDF 在打开时可以 ping 我的服务器吗?