问题
I have a simple form and I want to make it editable in pdf using php. But the pdf is creating the form but I can't edit and submit it, any reason or I can't edit pdf using php?
My code is
<?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;
?>
I'm using mPDF Example Url and Form Example
回答1:
You can also use TCPDF. TCPDF is a free and open source software PHP class for generating PDF documents. TCPDF is the only PHP-based library that includes complete support for UTF-8 Unicode and right-to-left languages, including the bidirectional algorithm.
visit that link for more information. http://www.tcpdf.org/
回答2:
What you are doing is just to print a form onto a PDF, but not to provide editable features. Your form is still non-editable. You have to use Acrobat SDK to make editable forms.
回答3:
Need to give my own answer, as @Christian gave almost correct and working URL of an example and I found this on Github for active forms but when I tried my html form with it, then it gives me error something like,
Fatal error: Call to undefined method mPDF::Error() .... mpdf\classes\mpdfform.php on line 839
After some searching I found that there is missing name
attribute in the form's text field and when I added the attribute it worked well.
<input type="text" id="name" value="name" name="field_name" />
The problem not ends with this, when I submit the form then there is nothing shown in browser's console. Then I used php://input at server side and it has shown me some response, which is in FDF(forms data format) and needs to be parse to get the actual data. I din't give a try to parse it but found some useful URLS which I am sharing here,
- PHP: Extract fdf fields as an array from a PDF
- https://answers.acrobatusers.com/Parse-FDF-response-q72665.aspx
- PHP regex code to extract FDF data
http://php.net/manual/en/ref.fdf.php
links below
回答4:
To make the fields editable, you need to add this line:
$mpdf->useActiveForms = true;
This should work for mPDF 5.3 and higher.
来源:https://stackoverflow.com/questions/17610629/how-to-create-editable-pdf-form-in-php