【问题标题】:XDP File using remote PDF使用远程 PDF 的 XDP 文件
【发布时间】:2011-10-05 13:51:59
【问题描述】:

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

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

我的问题是,是否有办法自动执行此过程,以便 Adob​​e Reader 或 Acrobat 下载 PDF 文件并自动填充数据,而不尝试通过网络浏览器路由该过程。

编辑

使用 Seeker 的答案,我们在 PHP 中提出了以下简短的 sn-p:

$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>

【问题讨论】:

    标签: pdf acrobat livecycle adobe-reader


    【解决方案1】:

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

    在您的 XDP 文件中,将 &lt;pdf href="http://.../form.pdf"&gt; 替换为:

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

    这应该可以解决您的问题。

    【讨论】:

    • 如果 ColdFusion 我从磁盘读取 PDF 文件,然后使用 toBase64(binaryMyPDF) 将内容从二进制转换为 base64 并将其插入 XDP 文件中的正确位置。
    • 有趣,我会在星期一试试这个。
    • 您先生,是一位绅士和一位学者。在原帖中发布了 PHP 实现。
    • 很高兴它对您有所帮助。我不确定您打算如何处理生成的 XDP 文件,但如果您需要在浏览器中显示它,您可能会遇到与我相同的问题:stackoverflow.com/questions/6809648/…
    猜你喜欢
    • 1970-01-01
    • 2012-07-19
    • 1970-01-01
    • 1970-01-01
    • 2019-02-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多