10

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

4 回答 4

4

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

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

于 2014-08-05T12:30:14.797 回答
2

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

$mpdf->useActiveForms = true;

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

于 2016-08-10T15:43:36.663 回答
2

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

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

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

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

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

  1. PHP:从 PDF 中提取 fdf 字段作为数组

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

  3. 用于提取 FDF 数据的 PHP 正则表达式代码

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

    下面的链接

于 2016-08-11T12:10:30.130 回答
1

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

于 2013-07-16T04:02:22.327 回答