MPDF未定义索引错误

时间:2012-11-10 06:41:38

标签: php codeigniter mpdf

我正在使用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

任何人都有这个图书馆的工作经验吗? (如果它只输出一些错误,那么我们可以通过更改库来修复它,但这里它给出了太多错误),我认为我错过了一些东西。

请帮帮我。

感谢。

6 个答案:

答案 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