【问题标题】:How to create editable Pdf form in php如何在 php 中创建可编辑的 Pdf 表单
【发布时间】:2013-07-10 17:50:16
【问题描述】:

我有一个简单的表单,我想使用 php 使其在 pdf 中可编辑。但是 pdf 正在创建表单但我无法编辑和提交它,任何原因或者我无法使用 php 编辑 pdf?

我的代码是

<?php
    define('_MPDF_PATH','/');
    include("mpdf.php");

    $html = '
        <form action="test.php">
          <input type="text" id="name" value="name" />
          <input type="reset" name="reset" value="Reset" />
          <input type="submit" name="submit" value="Submit" /> 
        </form>';

    $mpdf=new mPDF('c'); 

    $mpdf->default_lineheight_correction = 1.2;

    // LOAD a stylesheet
    $stylesheet = file_get_contents('mpdfstyletables.css');
    $mpdf->WriteHTML($stylesheet,1);    // The parameter 1 tells that this is css/style only and no body/html/text
    $mpdf->SetColumns(2,'J');
    $mpdf->WriteHTML($html);
    $mpdf->Output('test.pdf','D');//
    exit;
?>

我正在使用 mPDF Example UrlForm Example

【问题讨论】:

  • 您能提供更多信息吗?该 PDF 是否提交任何内容?按下该提交按钮时是否会发生任何事情?你的 test.php 被调用了吗? (我不确定 PDF 是否可以做到这一点,但总有第一个......)
  • 不,点击submit button时没有change,甚至没有input box or drop down changesElements 的行为不像 html elements
  • 那么,为什么您认为 PDF 可以将数据提交到 Web 服务呢?有参考吗?
  • @RohanKumar 您问题底部的 2 个链接已损坏。
  • @reformed 我已经更新了损坏的链接。

标签: php pdf mpdf


【解决方案1】:

要使字段可编辑,您需要添加以下行:

$mpdf->useActiveForms = true;

这应该适用于 mPDF 5.3 及更高版本。

【讨论】:

    【解决方案2】:

    需要给出我自己的答案,因为@Christian 给出了一个几乎正确且有效的示例 URL,我在 Github for active forms 上找到了这个,但是当我尝试使用它的 html 表单时,它给了我类似的错误,

    致命错误:调用未定义的方法 mPDF::Error() .... mpdf\classes\mpdfform.php 在第 839 行

    经过一番搜索,我发现表单的文本字段中缺少name 属性,当我添加该属性时效果很好。

    <input type="text" id="name" value="name" name="field_name" />
    

    问题并没有就此结束,当我提交表单时,浏览器的控制台中没有显示任何内容。然后我在服务器端使用了 php://input ,它向我显示了一些响应,它位于FDF(forms data format) 中,需要解析才能获取实际数据。我没有尝试解析它,但发现了一些有用的 URL,我在这里分享,

    1. PHP: Extract fdf fields as an array from a PDF

    2. https://answers.acrobatusers.com/Parse-FDF-response-q72665.aspx

    3. PHP regex code to extract FDF data

    4. http://php.net/manual/en/ref.fdf.php

      以下链接

    【讨论】:

      【解决方案3】:

      您也可以使用 TCPD。 TCPDF 是一个免费的开源软件 PHP 类,用于生成 PDF 文档。 TCPDF 是唯一一个基于 PHP 的库,完全支持 UTF-8 Unicode 和从右到左的语言,包括双向算法。

      访问该链接以获取更多信息。 http://www.tcpdf.org/

      【讨论】:

        【解决方案4】:

        您所做的只是将表单打印到 PDF 上,而不是提供可编辑功能。您的表单仍然不可编辑。您必须使用Acrobat SDK 来制作可编辑的表单。

        【讨论】:

        • 你知道使用Acrobat API吗?在php怎么用?
        • 您可以使用 Acrobat JavaScript SDK .adobe.com/devnet/acrobat/overview.html ,尤其是阅读部分:选择正确的 Acrobat SDK 技术
        猜你喜欢
        • 1970-01-01
        • 2018-12-28
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多