MPDF undefined index error-Collection of common programming errors

I am using MPDF library to convert HTML to PDF.

Here is my code.

$HTML = '{HTML CONTENT GOES HERE}'; //HTML STRING

$MPDF->WriteHTML($html); // Converting

$MPDF->Output('preview.pdf','F'); //Saving to a File

It works , but generating too much errors in error log ,

ERROR - 2012-11-10 04:45:50 --> Severity: Notice  --> Undefined index: BODY C:\wamp\www\crm\application\libraries\mpdf.php 14242
ERROR - 2012-11-10 04:45:50 --> Severity: Notice  --> Undefined index: BODY>>ID>> C:\wamp\www\crm\application\libraries\mpdf.php 14288
ERROR - 2012-11-10 04:45:50 --> Severity: Notice  --> Undefined offset: -1 C:\wamp\www\crm\application\libraries\mpdf.php 14421
ERROR - 2012-11-10 04:45:50 --> Severity: Notice  --> Undefined variable: cstr C:\wamp\www\crm\application\libraries\mpdf.php 31951
ERROR - 2012-11-10 04:45:50 --> Severity: Notice  --> Undefined index: DIV C:\wamp\www\crm\application\libraries\mpdf.php 14242
ERROR - 2012-11-10 04:45:50 --> Severity: Notice  --> Undefined index: ID>>PRINT_WRAPPER C:\wamp\www\crm\application\libraries\mpdf.php 14280
ERROR - 2012-11-10 04:45:50 --> Severity: Notice  --> Undefined index: DIV>>CLASS>>PRINTWRAPPER C:\wamp\www\crm\application\libraries\mpdf.php 14284
ERROR - 2012-11-10 04:45:50 --> Severity: Notice  --> Undefined index: DIV>>ID>>PRINT_WRAPPER C:\wamp\www\crm\application\libraries\mpdf.php 14288
ERROR - 2012-11-10 04:45:50 --> Severity: Notice  --> Undefined index: DIV C:\wamp\www\crm\application\libraries\mpdf.php 14242

anybody have some working experience with this library ? (If it only outputs some errors then we can fix it by changing on the library , but here it gives too much error) , i think that i am missing something.

Please help me.

Thanks.

  1. Is the HTML well formed, and also are all the tags and attributes either all lowercase or all uppercase? Here are the requirements for the HTML as per MPDF documentation:

    Example of an HTML attribute:

    mPDF supports attribute values in single or double quotes e.g. or

    Minimised attributes are not supported e.g.

    XHTML specification is recommended for best compliance with mPDF.

    Also per http://mpdf1.com/manual/index.php?tid=256

    you seem to be using tags that are not supported. BODY for instance is not.

    I would try to limit my HTML to the ones on the documented list and and follow their well formed guidelines and see if the errors get fixed that way. They are only ‘notices’ so nothing severe, but it would be best to fix them just in case future versions are not as forgiving.

  2. Still found no real solution (has anyone?). As a workaround, I patched mpdf.php directly in nearly 20 places.

    Before:

    $variable[possible_wrong_index];
    

    After:

    (isset($variable[possible_wrong_index]))?$variable[possible_wrong_index]:false;
    

    There are some if-statements, which were trickier. But now I have no errors in the log and the generated pdf seems to be no affected by this.

    (I’m aware that this is a hacky workaround, but it works for the moment – the real fun starts with updates of mpdf 🙂

  3. Add following at top of mpdf.php

    error_reporting(0); 
    

    This will resolved the issue.