如何在php中创建可编辑的Pdf表单

时间:2013-07-12 08:25:36

标签: php pdf mpdf

我有一个简单的表单,我想使用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

4 个答案:

答案 0 :(得分:3)

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

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

答案 1 :(得分:1)

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

答案 2 :(得分:1)

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

  

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

经过一些搜索后,我发现表单文本字段中缺少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 :(得分:0)

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

access_token

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