1

我正在使用 TCPDF 从 mysql 查询中转换 php 生成的页面,该查询对每条记录使用 div 和 style="page-break-after:always",这些记录的长度会有所不同。

当我使用下面的代码将它们转换为 pdf 时,最后会得到一个额外的空白页?当我打印一条没有 style="page-break-after:always" 的记录时,没有空白页吗?

<?php
error_reporting(0); //Don't show errors in the PDF 
ob_clean(); //Clear any previous output 
ob_start(); //Start new output buffer 
require_once('../pdf/config/lang/eng.php');
require_once('../pdf/tcpdf.php');
class MYPDF extends TCPDF {
public function Header() {
}
public function Footer() {
    $this->SetY(-50);
    $this->SetFont('helvetica', 'I', 8);
    $this->Cell(0, 5, 'Some text',0, 1, 'L', 0, '', 0, false, 'T', 'T');
$this->Cell(0, 5, 'Some text',0, 1, 'L', 0, '', 0, false, 'T', 'T');
    $this->SetFont('helvetica', 'I', 12);
$this->Cell(0, 15, 'Signed_____________________________________________',0, 1, 'L',                0, '', 0, false, 'T', 'B');
$this->Cell(0, 15, 'Print Name_____________________________________________ Date________________________',0, 1, 'L', 0, '', 0, false, 'T', 'B');    
}
}
$pdf = new MYPDF(PDF_PAGE_ORIENTATION, PDF_UNIT, PDF_PAGE_FORMAT, true, 'UTF-8', false);
$pdf->SetCreator(PDF_CREATOR);
$pdf->SetAuthor('Author');
$pdf->SetTitle('Delivery Notes');
$pdf->SetSubject('Delivery Notes');
$pdf->SetKeywords('TCPDF, PDF,');
$pdf->SetDefaultMonospacedFont(PDF_FONT_MONOSPACED);
$pdf->SetMargins(10, 10, 10);
$pdf->SetAutoPageBreak(TRUE, PDF_MARGIN_BOTTOM);
$pdf->setImageScale(PDF_IMAGE_SCALE_RATIO);
$pdf->setLanguageArray($l);
$pdf->SetFont('helvetica', '', 10);
$pdf->AddPage('P', 'LETTER');
$include=$_POST['include'];
include($include); 
$html = ob_get_contents();
ob_clean();
$html = preg_replace("/\s\s+/", '', $html); //Strip excess whitespace 
$pdf->writeHTML($html, true, false, true, false, '');
$pdf->lastPage();
$pdf->Output('delivery.pdf', 'I');

先感谢您

彼得

4

1 回答 1

2

尝试使用

.element:last-child {page-break-after:auto;}

其中“元素”是您的 CSS 选择器。

于 2012-04-09T08:51:21.267 回答