PHP:需要附加支持ul li标签的fpdf转换器

时间:2013-01-21 13:59:36

标签: php html pdf fpdf

我使用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
}




?>

如果有人能帮忙解决这个问题,我将非常感激。

1 个答案:

答案 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();