我使用fpdf将动态网站内容转换为pdf,但它不支持ul li标记。任何人都可以帮助使用支持html中的ul li和ol li标签的fpdf插件。
更详细地说明挑战:
生成为pdf文档的内容不是静态的,而是动态的,并从基于数据库的用户选择中获取。内容适用于各种课程,并且生成详细信息,每个内容的详细信息均为html。 fpdf正在工作并以pdf格式生成每个课程的详细信息,但是如果课程详细信息中有一些详细信息,那么它就不会在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
}
?>
如果有人能帮忙解决这个问题,我将非常感激。
答案 0 :(得分:-1)
请下载支持以PDF格式编写HTML的fpdf附加组件
您可以在此处下载加载项http://www.fpdf.de/downloads/addons/41/
下载加载项后,在脚本中包含WriteHTML.php
,如下例所示。 WriteHTML()函数内部传递HTML代码
define('FPDF_FONTPATH', 'font/');
require('WriteHTML.php');
$pdf=new PDF_HTML();
$pdf->Open();
$pdf->AddPage();
$pdf->SetFont('Arial');
$pdf->WriteHTML('Put your html here');
$pdf->Output();