Search code examples
phphtml-listshtml2pdf

How to fix error in html2pdf when we have ul tags inside another ul tags?


I'm generating a pdf using the library HTML2PDF, and I'm facing an issue when I have a 'ul' tag inside another 'ul' tag. Did anyone have a solution for this bug?

The error is Warning: count(): Parameter must be an array or an object that implements Countable. After debugging I found that it's related to having a ul tag inside another ul.

 <ul style="margin-top: 0in;" type="disc">
     <li class="MsoNormal" style="mso-list: l0 level1 lfo1;">text</li> 
     <li class="MsoNormal" style="mso-list: l0 level1 lfo1;">text3 </li> 
     <li class="MsoNormal" style="mso-list: l0 level1 lfo1;">text2 bis</li>
     <li class="MsoNormal" style="mso-list: l0 level1 lfo1;"> text1 bis</li>
     <ul style="margin-top: 0in;" type="circle">
         <li class="MsoNormal" style="mso-list: l0 level2 lfo1;">text2</li>
         <li class="MsoNormal" style="mso-list: l0 level2 lfo1;">text1</li>
     </ul>
 </ul>

Solution

  • I found the solution for this bug! Actually, it's not a bug depending on HTML2PDF but it's related to TinyMCE (HTML Editor). and when creating a list inside another list it will generate an HTML code with ul tag inside another ul tag. The solution is to add lists to the plugins when init tinyMCE.

    tinyMCE.init({
    ...
    plugins : "lists",
    ...
    });