Question

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

Was it helpful?

Solution 2

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,

  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

    links below

OTHER TIPS

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/

To make the fields editable, you need to add this line:

$mpdf->useActiveForms = true;

This should work for mPDF 5.3 and higher.

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.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top