我正在使用 fpdf 将动态站点内容转换为 pdf,但它不支持 ul li 标签。任何人都可以帮助支持 html 中的 ul li 和 ol li 标签的 fpdf 插件。
只是为了更详细地了解挑战:
生成到 pdf 文档中的内容不是静态的,而是动态的,并且是从基于数据库的用户选择中获取的。内容适用于各种课程及其正在生成的详细信息,每个课程的详细信息都在 html 中。fpdf 正在工作并以 pdf 格式生成每个课程详细信息,但如果课程详细信息中包含一些 ul li 列表 html 详细信息,则不会在 ul li 中生成它(即每个 li 标签不会像这样强制换行应该更确切地说所有 li 列表都将输出在一行上)因为这些标签不受支持。
此外,关于正在生成的每门课程的 html,它们都很好,因为用户在决定单击“获取 pdf 中的课程详细信息”之前必须在特定页面上查看相同的 html 以获取课程详细信息……所以我想声明这些课程的 html 代码是可以的。
下面是生成pdf文档的代码:
<?php
@include_once("includes/db.php");
define('FPDF_FONTPATH', 'font/');
@require('fpdf/WriteHTML.php');
@include_once("includes/class_open_courses.php");
$obj = new openCourses();
$course_details = array();
if(isset($_GET['c_id'])){
$course_details = $obj->getOpenCourseDet($_GET['c_id']);
// Instanciation of inherited class
$pdf = new PDF_HTML();
$pdf->AliasNbPages();
$pdf->AddPage();
$pdf->SetFont('Arial','B',16);
// Course title cell
$pdf->Cell('',10,$course_details['title'],0,0,'C');
$pdf->Ln();
/* Build cells for the first row */
$pdf->SetFont('Arial','',10);
$pdf->SetY(40);
// First Row
$pdf->Cell(35,8,'Start Date : ',0,0,'L');
$pdf->Cell(30,8,$course_details['event_date'],0,0,'L');
$pdf->SetX(140);
$pdf->Cell(25,8,'Course Fee : ',0,0,'L');
$pdf->Cell(20,8,$course_details['currency_sign'].$course_details['price'],0,0,'C');
$pdf->Ln();
// Fourth Row
$pdf->SetY(65);
$pdf->SetFont('Arial','B',12);
$pdf->Cell(35,8,'Course Details',0,0,'L');
$pdf->Ln();
$pdf->SetY(65);
$pdf->SetFont('Arial','',10);
$pdf->WriteHTML($course_details['desc']);
//$pdf->WriteHTML('<p>line 1</p> <ul><li>list 1</li><li>list 2</li><li>list 3</li></ul>');
$pdf->Output();
}
else {
?>
<script language="javascript">
window.location = "course_info.php?c_id=".<?php echo $course_details['id']; ?>.";
</script>
<?php
}
?>
如果有人可以提供帮助,将不胜感激。