Php PDF列未将宽度换行到新行
我已经成功地输出了pdf,电子邮件和地址列的宽度重叠到下一列。我需要关于如何使其以新行打印来自数据库的结果的帮助,即使字长比列宽长,它也应该打断并扩展整行的高度。 下面是我的代码Php PDF列未将宽度换行到新行,php,mysql,pdf,fpdf,word-wrap,Php,Mysql,Pdf,Fpdf,Word Wrap,我已经成功地输出了pdf,电子邮件和地址列的宽度重叠到下一列。我需要关于如何使其以新行打印来自数据库的结果的帮助,即使字长比列宽长,它也应该打断并扩展整行的高度。 下面是我的代码 <?php require('fpdf.php'); $db = new PDO('mysql:host=localhost;dbname=ddname;charset=utf8', 'root', ''); $db->setAttribute(PDO::ATTR_ERRMODE, P
<?php
require('fpdf.php');
$db = new PDO('mysql:host=localhost;dbname=ddname;charset=utf8', 'root', '');
$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$colNames = array();
$result = $db->query("SELECT COLUMN_NAME FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_SCHEMA='dbname' AND TABLE_NAME='table_name'");
foreach($result as $row) {
$colNames[] = $row["COLUMN_NAME"];
}
$pdf = new FPDF('L','mm','A4');
$pdf->AddPage();
$pdf->SetDisplayMode(real,'default');
$pdf->SetFont('Arial','B',12);
$pdf->SetTextColor(50,60,100);
$pdf->SetDrawColor(50,60,100);
$pdf->Cell(100,10,'Tabledata table_name',1,0,'C',0);
$pdf->Ln();
foreach($colNames as $colName) {
$pdf->SetFont('Arial','B',8);
if($colName=="id")
{
$pdf->Cell(6,10,$colName,1);
} elseif($colName=="email_address"){
$pdf->Cell(22,10,$colName,1);}elseif($colName=="title"){
$pdf->Cell(10,10,$colName,1);}else
{
$pdf->Cell(22,10,$colName,1);
}
}
foreach($db->query("SELECT * FROM table_name") as $row2) {
$pdf->Ln();
foreach($colNames as $colName) {
$pdf->SetFont('Arial','',8);
if($colName=="id")
{
$pdf->Cell(6,10,$row2[$colName],1);
} elseif($colName=="title"){
$pdf->Cell(10,10,$row2[$colName],1);}else
{
$pdf->Cell(22,10,$row2[$colName],1);
}
}
}
$pdf->Output();
?>
这是当前结果的一个示例
使用Multicell()包装列中的文本…您是否按照@Ashutosh的建议尝试使用Multicell()呢?你的问题解决了没有?