【问题标题】:Warning: Invalid argument supplied for foreach() in mpdf.php on line 11008警告:在第 11008 行的 mpdf.php 中为 foreach() 提供的参数无效
【发布时间】:2013-05-21 16:46:31
【问题描述】:

我在我的网络应用程序中使用 mPDF。

我必须在 Mpdf 的帮助下创建发票文件.. 所以具有大量行的html表(即:如果它存在单页)会出现这个错误:

警告:在 MPDF56/mpdf.php 中为 foreach() 提供的参数无效 第11008行

我正在使用以下代码生成 pdf:

require_once(MPDF_PATH);
$mpdf=new mPDF('c','A4','0','',2,2,2,2,1,1);
$stylesheet = file_get_contents(dirname(__FILE__).'/invoice_print.css');
$mpdf->WriteHTML($stylesheet,1);
$html .="";
$mpdf->WriteHTML($html);
$mpdf->Output("$fileName",'D'); 

我在 Mpdf 的构造函数中尝试了带/不带参数。 而且我发现 mpdf 可以使用前 4 个参数没有任何问题...

$mpdf=new mPDF('c','A4','0','')

但是当我添加“margins”(即:5-8)参数时,会抛出上述错误。

有没有人解决这个问题???

我已尝试使用 mPDF 5.3 和 5.6

【问题讨论】:

标签: php mpdf


【解决方案1】:

是的...我从 MPDF 论坛获得了修复...

这里是链接:http://www.mpdf1.com/mpdf/forum/comments.php?DiscussionID=1109&page=1#Item_0

解决方案: 只需将“TableHeaderFooter”函数的第一行替换为:

if(($horf=='H' || $horf=='F') && !empty($content)) {

到:

if(($horf=='H' || $horf=='F') && !empty($content) && !empty($content[0]) ) {

希望这对其他人有所帮助...

【讨论】:

  • 链接已损坏。请指定我们应该在哪个文件中进行更改。
  • 找到了。该函数位于 mpdf.php 文件中。感谢您提供此解决方案。 +1 代表
【解决方案2】:

我目前也在使用 mPDF。我发现你最好像这样设置边距:

$style = '<style>
@page *{
    margin-top: 2.54cm;
    margin-bottom: 2.54cm;
    margin-left: 3.175cm;
    margin-right: 3.175cm;
}
</style>';

$mpdf->WriteHTML($style); //This writes the margin styles
$mpdf->WriteHTML($output); //This writes the html output

【讨论】:

  • 感谢无情..但你的解决方案没有奏效......我仍然遇到同样的错误.. :(
  • 你是否删除了$mpdf=new mPDF('c','A4','0','',2,2,2,2,1,1);中的所有边距参数
  • if(($horf=='H' || $horf=='F') &amp;&amp; !empty($content) &amp;&amp; !empty($content[0]) ) { 替换 TableHeaderFooter 第一行修复了这个问题。感谢您无情的快速反应。 +1。
【解决方案3】:

出现此错误是因为您没有在 HTML 内的表格中设置&lt;thead&gt;
&lt;tbody&gt; 标记。

【讨论】:

    猜你喜欢
    • 2021-07-17
    • 2014-11-11
    • 2017-06-01
    • 1970-01-01
    • 2022-08-11
    • 2018-11-29
    • 1970-01-01
    相关资源
    最近更新 更多