我正在使用MPDF库将HTML转换为PDF。
这是我的代码。
$HTML = '{HTML CONTENT GOES HERE}'; //HTML STRING
$MPDF->WriteHTML($html); // Converting
$MPDF->Output('preview.pdf','F'); //Saving to a File
它可以工作,但在错误日志中生成了太多错误,
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
任何人都有这个图书馆的工作经验吗? (如果它只输出一些错误,那么我们可以通过更改库来修复它,但这里它给出了太多错误),我认为我错过了一些东西。
请帮帮我。
感谢。
答案 0 :(得分:8)
在mpdf.php
的顶部添加以下内容error_reporting(0);
这将解决问题。
答案 1 :(得分:6)
HTML是否格式正确,并且所有标记和属性都是全部小写还是全部大写?以下是根据MPDF文档对HTML的要求:
HTML属性示例:< div align =“center”>
mPDF支持单引号或双引号中的属性值,例如< div align =“center”>或< div align ='center'>
不支持最小化属性,例如< input type =“checkbox”disabled />
建议使用XHTML规范以最好地符合mPDF。
同样符合https://mpdf.github.io/html-support/html-tags.html
您好像正在使用不受支持的标签。例如BODY不是。
我会尝试将HTML限制在文档列表中的HTML上,并遵循其格式良好的指南,并查看错误是否以这种方式修复。它们只是“通知”,所以没有什么严重的,但最好修复它们以防万一未来的版本不那么宽容。
答案 2 :(得分:1)
仍然没有找到真正的解决方案(有谁?)。作为一种解决方法,我在近20个地方直接修补了mpdf.php。
在:
$variable[possible_wrong_index];
后:
(isset($variable[possible_wrong_index]))?$variable[possible_wrong_index]:false;
有一些if语句,比较棘手。但是现在我在日志中没有错误,生成的pdf似乎不受此影响。
(我知道这是一个hacky解决方法,但它现在有效 - 真正的乐趣从更新mpdf开始:)
答案 3 :(得分:1)
我遇到了同样的问题。 HTML代码格式正确,但没有帮助 我修改了类mpdf.php。我添加了检查,是否在每个报告的行上设置了索引 喜欢这个
offer()
答案 4 :(得分:0)
我不知道为什么会发生这种情况,但我遇到了同样的问题,我解决了将'include'MPDFxx / mpdf.php'放在我调用WriteHTML函数的函数顶部。顺便说一句,我发现它使用的是MPDF57。
答案 5 :(得分:0)
如果在html视图中使用表。比确保td标签位于tr标签内。
否则,mpdf将返回未定义的索引:l