首页 > 解决方案 > PDF 文件不显示动态信息

问题描述

我正在使用 mpdf,当输出出现时,它只显示 $body 信息。有谁知道为什么它没有显示$ maand?这是正确的方法吗?我需要改变 $maand 的位置吗?我该怎么做才能让它发挥作用?在 $body 的信息之后,它也没有显示

周期

. 我该如何解决?这是我的代码:

    <?php
    $con = mysqli_connect("");
    //get data
    $query= mysqli_query($con,"SELECT * From Info");
    $row = mysqli_fetch_array($query);
    ob_start();
    ?>
    <p class=MsoNormal><span lang=NL>Factuurdatum:<?php echo date('d-m-Y');?></span></p>
    <p class=MsoNormal><span lang=NL>Klantnummer:<?php echo $row['id']?></span></p>
    <p class=MsoNormal><span lang=NL>Vervaldatum:<?php echo date("d-m-Y", mktime(0, 0, 0, date("m"), date("d")+14, date("Y")));?></span></p>

    <?php
    $body= ob_get_clean();
    $body = iconv("UTF-8", "UTF-8//IGNORE", $body);
    require ("mpdf/vendor/autoload.php");
    $mpdf = new \Mpdf\Mpdf();
$mpdf->WriteHTML('<html>

<head>
<meta http-equiv=Content-Type content="text/html; charset=utf-8">
<meta name=Generator content="Microsoft Word 15 (filtered)">
<style>
<!--
 /* Font Definitions */
 @font-face
    {font-family:"Cambria Math";
    panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
    {font-family:Verdana;
    panose-1:2 11 6 4 3 5 4 4 2 4;}
 /* Style Definitions */
 p.MsoNormal, li.MsoNormal, div.MsoNormal
    {margin:0in;
    margin-bottom:.0001pt;
    font-size:9.0pt;
    font-family:"Verdana",sans-serif;}
p.MsoHeader, li.MsoHeader, div.MsoHeader
    {margin:0in;
    margin-bottom:.0001pt;
    font-size:9.0pt;
    font-family:"Verdana",sans-serif;}
 /* Page Definitions */
 @page WordSection1
    {size:595.3pt 841.9pt;
    margin:21.7pt 70.9pt 70.9pt 70.9pt;}
div.WordSection1
    {page:WordSection1;}
-->
</style>
</head>
<body lang=EN-GB>
<div class=WordSection1>
<p class=MsoNormal style=\'margin-left:31.5pt\'><span lang=NL></span></p>
<p class=MsoNormal style=\'margin-left:31.5pt\'><span lang=NL><a name=Text6></a></span></p>
<p class=MsoNormal style=\'margin-left:31.5pt\'><span lang=NL>&nbsp;</span></p>
<p class=MsoNormal style=\'margin-left:31.5pt\'><span lang=EN-US></span></p>
<p class=MsoNormal style=\'margin-left:31.5pt\'><span lang=EN-US>&nbsp;</span></p>
<p class=MsoNormal style=\'margin-left:31.5pt\'><span lang=EN-US>&nbsp;</span></p>
<p class=MsoNormal><span lang=NL>&nbsp;</span></p>
<p class=MsoNormal align=right style=\'text-align:right\'><span lang=NL>&nbsp;</span></p>
<p class=MsoNormal align=right style=\'text-align:right\'><span lang=NL>T.a.v. crediteurenadministratie</span><span
lang=NL> </span></p>
<p class=MsoNormal align=right style=\'margin-left:31.5pt;text-align:right\'><span
lang=NL>&nbsp;</span></p>
<p class=MsoNormal align=right style=\'margin-left:31.5pt;text-align:right\'><span
lang=NL>&nbsp;</span></p>
<p class=MsoNormal align=right style=\'margin-left:31.5pt;text-align:right\'><span
lang=NL></span></p>
<p class=MsoNormal style=\'margin-left:31.5pt\'><b><span lang=NL>&nbsp;</span></b></p>
<p class=MsoNormal><b><u><span lang=NL style=\'font-size:14.0pt\'>FACTUUR</span></u></b></p>
<p class=MsoNormal><span lang=NL>&nbsp;</span></p>
<p class=MsoNormal><span lang=NL>&nbsp;</span></p>');
$mpdf->WriteHTML($body);
$mpdf->WriteHTML('<p class=MsoNormal><b><span lang=NL>&nbsp;</span></b></p>
<p class=MsoNormal><b><span lang=NL>&nbsp;</span></b></p>
<p class=MsoNormal><b><span lang=NL>&nbsp;</span></b></p>
<p class=MsoNormal><b><span lang=NL>&nbsp;</span></b></p>
<table class=MsoNormalTable border=1 cellspacing=0 cellpadding=0
 style=\'border-collapse:collapse;border:none\'>
 <tr style=\'height:27.65pt\'>
  <td width=215 valign=top style=\'width:161.4pt;border-top:solid windowtext 1.0pt;
  border-left:none;border-bottom:solid windowtext 1.0pt;border-right:none;
  padding:0in 5.4pt 0in 5.4pt;height:27.65pt\'>
  <p class=MsoNormal><span lang=NL>Periode</span></p>');
ob_start();
?>
    <p class=MsoNormal><span lang=NL><?php echo $row ['Januari']?></span></p>
    <p class=MsoNormal><span lang=NL><?php echo $row['Februari']?></span></p>
    <p class=MsoNormal><span lang=NL><?php echo $row['Maart']?></span></p>
    <p class=MsoNormal><span lang=NL><?php echo $row['April']?></span></p>
    <p class=MsoNormal><span lang=NL><?php echo $row['Mei']?></span></p>
    <p class=MsoNormal><span lang=NL><?php echo $row['Juni']?></span></p>
    <p class=MsoNormal><span lang=NL><?php echo $row['Juli']?></span></p>
    <p class=MsoNormal><span lang=NL><?php echo $row['Augustus']?></span></p>
    <p class=MsoNormal><span lang=NL><?php echo $row['September']?></span></p>
    <p class=MsoNormal><span lang=NL><?php echo $row['Oktober']?></span></p>
    <p class=MsoNormal><span lang=NL><?php echo $row['November']?></span></p>
    <p class=MsoNormal><span lang=NL><?php echo $row['December']?></span></p>
<?php
$maand = ob_get_clean();
$maand = iconv("UTF-8", "UTF-8//IGNORE", $maand);
$mpdf->WriteHTML($maand);
$mpdf->Output();
?>

标签: phphtmlmysql

解决方案


使用WriteHTML的选项,看起来如果您打算多次调用它,那么您需要告诉它不要关闭文档。

$initialise设置 true 或 false 以确定是否初始化所有缓冲区,从新开始所有 HTML 元素。参见示例 #2 以供使用。您必须从调用 $initialise = true 的 WriteHTML() 开始。

默认值:真

$close设置 true 或 false 以指定是否关闭所有 HTML 元素,并清除缓冲区。参见示例 #2 以供使用。您必须以调用 $close = true 的 WriteHTML() 结束。

默认值:真

<?php
    $con = mysqli_connect("xxx","xxx","xxx","xxx");
    //get data
    $query= mysqli_query($con,"SELECT * From Info");
    $row = mysqli_fetch_array($query);
    ob_start();
    ?>
    <p class=MsoNormal><span lang=NL>Factuurdatum:<?php echo date('d-m-Y');?></span></p>
    <p class=MsoNormal><span lang=NL>Klantnummer:<?php echo $row['id']?></span></p>
    <p class=MsoNormal><span lang=NL>Vervaldatum:<?php echo date("d-m-Y", mktime(0, 0, 0, date("m"), date("d")+14, date("Y")));?></span></p>

    <?php
    $body= ob_get_clean();
    $body = iconv("UTF-8", "UTF-8//IGNORE", $body);
    require ("mpdf/vendor/autoload.php");
    $mpdf = new \Mpdf\Mpdf();
$mpdf->WriteHTML($body, \Mpdf\HTMLParserMode::HTML_BODY, true, false);
ob_start();
?>
    <p class=MsoNormal><span lang=NL><?php echo $row['Januari']?></span></p>
    <p class=MsoNormal><span lang=NL><?php echo $row['Februari']?></span></p>
    <p class=MsoNormal><span lang=NL><?php echo $row['Maart']?></span></p>
    <p class=MsoNormal><span lang=NL><?php echo $row['April']?></span></p>
    <p class=MsoNormal><span lang=NL><?php echo $row['Mei']?></span></p>
    <p class=MsoNormal><span lang=NL><?php echo $row['Juni']?></span></p>
    <p class=MsoNormal><span lang=NL><?php echo $row['Juli']?></span></p>
    <p class=MsoNormal><span lang=NL><?php echo $row['Augustus']?></span></p>
    <p class=MsoNormal><span lang=NL><?php echo $row['September']?></span></p>
    <p class=MsoNormal><span lang=NL><?php echo $row['Oktober']?></span></p>
    <p class=MsoNormal><span lang=NL><?php echo $row['November']?></span></p>
    <p class=MsoNormal><span lang=NL><?php echo $row['December']?></span></p>
<?php
$maand = ob_get_clean();
$maand = iconv("UTF-8", "UTF-8//IGNORE", $maand);
$mpdf->WriteHTML($maand, \Mpdf\HTMLParserMode::HTML_BODY, false, true);
$mpdf->Output();
?>

推荐阅读