使用远程PDF的XDP文件

使用远程PDF的XDP文件,pdf,acrobat,livecycle,adobe-reader,Pdf,Acrobat,Livecycle,Adobe Reader,在我们的一个应用程序中,我们有一个脚本将数据库中的数据转储到格式良好的XDP文件中,用户可以下载该文件。XDP通过标记包含对同一服务器上PDF的引用。用户可以转储数据,获取XDP,XDP将下载PDF并自动填充数据,然后保存、打印或发送电子邮件 问题是Adobe Reader(或Acrobat)会打开默认的web浏览器来尝试下载PDF,如果从浏览器打开PDF,则不会自动填充从数据库转储的数据。如果我使用XDP并使用文本编辑器将标记中的链接更改为本地下载的副本,则表单填充良好,因此XDP编写正确,但

在我们的一个应用程序中,我们有一个脚本将数据库中的数据转储到格式良好的XDP文件中,用户可以下载该文件。XDP通过
标记包含对同一服务器上PDF的引用。用户可以转储数据,获取XDP,XDP将下载PDF并自动填充数据,然后保存、打印或发送电子邮件

问题是Adobe Reader(或Acrobat)会打开默认的web浏览器来尝试下载PDF,如果从浏览器打开PDF,则不会自动填充从数据库转储的数据。如果我使用XDP并使用文本编辑器将
标记中的链接更改为本地下载的副本,则表单填充良好,因此XDP编写正确,但是这不是一个实用的解决方案,因为大多数用户不知道如何做

我的问题是,是否有一种方法可以自动执行此过程,以便Adobe Reader或Acrobat自动下载PDF文件并填充数据,而不尝试通过web浏览器来路由此过程

编辑 根据Seeker的回答,我们用PHP编写了以下简短的代码片段:

$filename = ""; // Your file here
$contents = base64_encode(file_get_contents($filename));
然后在处理XML的PHP文件中:

<pdf xmlns="http://ns.adobe.com/xdp/pdf/">
    <document>
        <chunk><?php echo $contents ?></chunk>
    </document>
</pdf>

我今天也在处理同样的问题。您应该在xdp文件中包含使用Base64编码的PDF文件

在XDP文件中,将此:
替换为:

 <pdf xmlns="http://ns.adobe.com/xdp/pdf/"><document>
     <chunk>**CONTENT OF YOUR PDF IN BASE64 GOES HERE**</chunk>
    </document>
 </pdf>

**BASE64中的PDF内容位于此处**

那应该能解决你的问题

以防ColdFusion我从磁盘读取PDF文件,然后使用toBase64(binaryMyPDF)将内容从二进制转换为base64,并将其插入XDP文件的正确位置。有趣的是,我将在星期一尝试。先生,您是一位绅士和学者。在原始帖子中发布了PHP实现。我很高兴它对您有所帮助。我不确定您打算如何处理生成的XDP文件,但如果您需要在浏览器中显示它,您可能会遇到与我相同的问题: