我的代码是php,我打算从我的数据库中制作一个pdf。我尝试阅读并找到tcpdf来创建pdf。我下载并尝试了一些代码..在创建pdf时真的需要$ html吗?或者我的代码下面的回声是好的吗?每当我跑步时总会出现错误:
注意:未定义的偏移量:在第16906行的C:\ xampp \ htdocs \ TopHealth \ tcpdf \ tcpdf.php中为0
注意:未定义的偏移量:在第17277行的C:\ xampp \ htdocs \ TopHealth \ tcpdf \ tcpdf.php中为0
TCPDF错误:某些数据已经输出,无法发送PDF文件..
<?PHP
require_once('tcpdf/config/tcpdf_config.php');
require_once('tcpdf/tcpdf.php');
$pdf = new TCPDF(PDF_PAGE_ORIENTATION, PDF_UNIT, PDF_PAGE_FORMAT, true, 'UTF-8', false);
$con = mysql_connect("localhost","root","");
if (!$con)
{
die('Could not connect: ' . mysql_error());
}
mysql_select_db("inventory", $con);
$result = mysql_query("SELECT * FROM critical");
echo "<center>";
echo "<table class='table1'>
<tr class='tablelist'>
<th>Code</th>
<th>Item Description</th>
<th>Beginning Balance</th>
<th>Reg. Quantity</th>
<th>Quantity Received</th>
<th>Consumed</th>
<th>Stock Level</th>
<th>Critical?</th>
</tr>";
echo "</center>";
while($row = mysql_fetch_array($result))
{
echo "<tr class='tablelist'>";
echo "<td>" . $row['CODE'] . "</td>";
echo "<td>" . $row['Item_Description'] . "</td>";
echo "<td>" . $row['Beginning_Balance'] . "</td>";
echo "<td>" . $row['Reg_Quantity'] . "</td>";
echo "<td>" . $row['Quantity_Received'] . "</td>";
echo "<td>" . $row['Consumed'] . "</td>";
echo "<td>" . $row['Stock_Level'] . "</td>";
echo "<td>" . $row['rate'] . "</td>";
echo "</tr>";
}
echo "</table>";
$pdf->writeHTML($html, true, false, true, false, '');
$pdf->Output('name.pdf', 'I');
mysql_close($con);
?>
由于
答案 0 :(得分:3)
使用此
while (ob_get_level())
ob_end_clean();
header("Content-Encoding: None", true);
答案 1 :(得分:2)
之所以发生这种情况,是因为在使用php回显它时已经输出了一些数据。
echo "<center>";
这不起作用,因为您不希望在TCPDF生成的实际PDF数据之前有html数据。
$html
还没有定义,是吗?
您可能想要创建一个字符串,然后将其传递给TCPDF
:
$html = '<center';
$html .= '<table></table>';
$pdf->writeHTML($html, true, false, true, false, '');
答案 2 :(得分:-1)