我有TCPDF的问题,我不知道该怎么做。我已经按照这个问题和答案解决了同样的问题:question
但这不能解决我的问题!我已经尝试了任何可能的解决方案,但每次打印一个空的PDF或不打印没有超过执行脚本php的时间。 目标是从一些数据库中获取数据并将它们作为html表格放入PDF中,但是在数据库中有一些带有重音的字符(èàòù),当我得到它时打印一个空PDF并且当这个字符没有时在数据库中,PDF功能正常。
我试过功能php utf8_encode,将字符编码从UTF-8更改为ISO-8859-1但没有,结果是一样的...这是我的初始代码:
$pdf = new MYPDF("L", PDF_UNIT, "A4", true, 'UTF-8', false);
$pdf->SetCreator(PDF_CREATOR);
$pdf->SetAuthor('Nicola Asuni');
$pdf->SetTitle('TCPDF Example 001');
$pdf->SetSubject('TCPDF Tutorial');
$pdf->SetKeywords('TCPDF, PDF, example, test, guide');
$pdf->SetHeaderData(PDF_HEADER_LOGO, PDF_HEADER_LOGO_WIDTH, PDF_HEADER_TITLE . ' 001', PDF_HEADER_STRING, array(0, 64, 255), array(0, 64, 128));
$pdf->setFooterData(array(0, 64, 0), array(0, 64, 128));
$pdf->setHeaderFont(Array(PDF_FONT_NAME_MAIN, '', PDF_FONT_SIZE_MAIN));
$pdf->setFooterFont(Array(PDF_FONT_NAME_DATA, '', PDF_FONT_SIZE_DATA));
$pdf->SetDefaultMonospacedFont(PDF_FONT_MONOSPACED);
$pdf->SetMargins(PDF_MARGIN_LEFT, PDF_MARGIN_TOP, PDF_MARGIN_RIGHT);
$pdf->SetHeaderMargin(PDF_MARGIN_HEADER);
$pdf->SetFooterMargin(PDF_MARGIN_FOOTER);
$pdf->SetAutoPageBreak(TRUE, PDF_MARGIN_BOTTOM);
$pdf->setImageScale(PDF_IMAGE_SCALE_RATIO);
if (@file_exists(dirname(__FILE__) . '/lang/eng.php')) {
require_once(dirname(__FILE__) . '/lang/eng.php');
$pdf->setLanguageArray($l);
}
$pdf->setFontSubsetting(true);
$pdf->SetFont('dejavusans', '', 12, '', true);
$pdf->AddPage();
$pdf->setTextShadow(array('enabled' => true, 'depth_w' => 0.2, 'depth_h' => 0.2, 'color' => array(196, 196, 196), 'opacity' => 1, 'blend_mode' => 'Normal'));
/** WriteHTML ********* */
foreach ($selected as $sel) {
// Set some content to print
$field = $dbconn->listFields($sel);
$html .= "<b>$sel</b><br>";
$html .= "<table cellspacing=\"1\" cellpadding=\"0\" width=\"100%\"><thead><tr bgcolor=\"#F6AC00\" border=\"1px\">";
foreach ($field as $fd) {
$html .= "<th height=\"40px\" style=\"vertical-align:center\" align=\"center\"><b>$fd</b></th>";
}
$html .= "</tr></thead><tbody>";
$result = $dbconn->getRows($sel);
$color = true;
foreach ($result as $row) {
$rgb = $color ? "#FFFFFF" : "#E0E0FF";
$html .= "<tr nobr=\"true\" bgcolor=\"$rgb\" valign=\"center\">";
foreach ($row as $fd) {
// $width = strlen($fd) > 30 ? "400px" : "150px";
//$fd = $pdf->cleanString($fd);
$fd = utf8_encode($fd);
//$fd = html_entity_decode($fd, ENT_COMPAT | ENT_HTML401, "UTF-8");
$html .= "<td style=\"vertical-align:center\" align=\"center\" height=\"40px\">$fd</td>";
}
$html .= "</tr>";
$color = !$color;
}
$html .= "</tbody></table><br><br>";
}
//echo $html;
$pdf->writeHTML($html, true, false, false, false, '');
$pdf->Output("db_$dbname.pdf", 'I');
请帮帮我!我很绝望!