在我们的一个应用程序中,我们有一个脚本将数据库中的数据转储到一个格式良好的XDP文件中,用户可以下载该文件。XDP通过<pdf>标签包含对同一台服务器上的PDF的引用。其思想是用户可以转储数据,获得XDP,XDP将下载PDF并自动填充数据,然后他们可以保存、打印或通过电子邮件发送数据。
问题是Adobe Reader (或Acrobat)会打开默认的web浏览器来尝试下载PDF,如果您从浏览器打开它,它不会自动填充从数据库转储的数据。如果我使用XDP并使用文本编辑器将<pdf>标记中的链接更改为本地下载的副本,则表单填充良好,因此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>发布于 2011-07-24 04:32:56
我今天也在处理完全相同的问题。您应该在xdp文件中包含使用Base64编码的PDF文件。
在您的XDP文件中,将:<pdf href="http://.../form.pdf">替换为:
<pdf xmlns="http://ns.adobe.com/xdp/pdf/"><document>
<chunk>**CONTENT OF YOUR PDF IN BASE64 GOES HERE**</chunk>
</document>
</pdf>这应该可以解决你的问题。
https://stackoverflow.com/questions/6697708
复制相似问题