使用dompdf从数据库呈现数据时出错

时间:2017-04-25 01:36:46

标签: php mysql pdf pdf-generation dompdf

我正在使用DOMPDF库制作价格表。我安装了库并尝试使用简单的pdf,一切正常。在我的html模板中,我正在从mysql表中呈现数据。 这是我的HTML:

<!-- Html pure code here-->
<?php for ($i=0; $i < count($products); $i++) { ?>
    <section class="row">
            <div class="col-md-4">
                <h3><?=$products[$i]['codigo']?></h3>
            </div>
            <div class="col-md-8">
                <h3><?=$products[$i]['titulo']?></h3>
            </div>
        </section>
        <section class="row">

            <div class="col-md-4">
                <img src="<?=$products[$i]['img']?>" />
            </div>
            <div class="col-sm-8 data-producto">
                <div class="descripcion">
                    <?=$products[$i]['descripcion']?>
                </div>
                <div class="precios">
                    <span class="precio">

                    </span>

                </div>
            </div>
        </section>
    <?php } ?>

那是我的控制器代码:

    $categorias = $this->post('id_categoria');
$productos = new Modelos\Producto();
// This method make the query and return an array with data.
$products = 
    $productos->get(
        ['id_categoria'=>$categorias],
        null,
        'categoria asc,titulo asc'
    );

//Helpers\Debug::imprimir($listadoProductos);
ob_start();
include 'Layout/electron/listado.tpl.php';
$html1 = ob_get_clean();
if (ob_get_length()) ob_end_clean();

$pdf = new Dompdf();
//exit($html1)
$pdf->loadHtml($html1);
$pdf->render();
$pdf->stream();

错误:pdf需要花费大量时间才能创建。它需要3分钟,有时根本不需要。 如果在没有foreach循环的情况下打印pdf。 pdf是正确创建的。如果y只打印html,而不使用dompdf,只能在导航器中打印。脚本在一秒钟内运行。我需要做更多的事情吗?

产品表仅有45种产品。

感谢。

1 个答案:

答案 0 :(得分:0)

该错误是因为我包含了bootstrap css文件而且DOMPDF不能正确支持它。然后我删除了bootstrap并使用自定义css和表编辑我的文件而不是bootstrap的网格。

这就是全部。