FPDI/TCPDF 中的页眉和页脚行
header and footer line in FPDI/TCPDF
我正在用 FPDI 和 TCPDF 函数标记我的 PDF 文档,我想弄明白,如何在页眉文本下方和页脚文本上方添加一行。这是我的代码:
<?php
require_once('lib/tcpdf/tcpdf.php');
require_once('fpdi.php');
$fullPathToFile = "TestClanek6.pdf";
class PDF extends FPDI {
var $_tplIdx;
function Header() {
global $fullPathToFile; //global
if(is_null($this->_tplIdx)) {
// number of pages
$this->numPages = $this->setSourceFile($fullPathToFile);
$this->_tplIdx = $this->importPage(1);
}
if($this->page > 0) {
//$this->SetPrintHeader(true);
$this->SetFont('times', 'I', 11);
$this->SetTextColor(0);
$this->Write(15, "Vol. 1, No. 15, Year: 2015, duff");
$this->Image('logo.png', 100, 2, 75,7);
} //end of IF
$this->useTemplate($this->_tplIdx, 0, 0,200);
} //end of HEADER
function Footer() {
if($this->page > 0) {
$this->SetY(-20);
$this->SetFont('times', 'I', 11);
$this->SetTextColor(0,0,0);
$this->Write(0, "Page", '', 0, 'C');
} //end of if
} // end of footer
} //end of CLASS
// new PDF file
$pdf = new PDF();
$pdf->addPage();
if($pdf->numPages>0) {
for($i=1;$i<=$pdf->numPages;$i++) {
$pdf->endPage();
$pdf->_tplIdx = $pdf->importPage($i);
$pdf->AddPage();
//$pdf->SetPrintHeader(false);
//$pdf->SetPrintFooter(false);
}
}
$file_time = time();
$pdf->Output("$file_time.pdf", "F");//, "I");
echo "Link: '<a href=$file_time.pdf>Stamped article</a>'";
?>
我尝试了很多方法,例如 setPrintHeader() 等,但我发现的方法都不适合我。我可以请人帮忙吗?
谢谢。
达夫
您可以使用Line
方法在FPDF中画线。如果您想要一条水平直线,只需确保直线起点和终点的纵坐标(y 值)相同即可。例如:
$pdf->Ln(15,$pdf->y,200,$pdf->y);
最好将这两个方法(Header
和 Footer
)留空。这样你就会覆盖来自 super-class.
的绘图
像这样:
class EmptyFPDI extends FPDI
{
public function Header()
{
}
public function Footer()
{
}
}
我正在用 FPDI 和 TCPDF 函数标记我的 PDF 文档,我想弄明白,如何在页眉文本下方和页脚文本上方添加一行。这是我的代码:
<?php
require_once('lib/tcpdf/tcpdf.php');
require_once('fpdi.php');
$fullPathToFile = "TestClanek6.pdf";
class PDF extends FPDI {
var $_tplIdx;
function Header() {
global $fullPathToFile; //global
if(is_null($this->_tplIdx)) {
// number of pages
$this->numPages = $this->setSourceFile($fullPathToFile);
$this->_tplIdx = $this->importPage(1);
}
if($this->page > 0) {
//$this->SetPrintHeader(true);
$this->SetFont('times', 'I', 11);
$this->SetTextColor(0);
$this->Write(15, "Vol. 1, No. 15, Year: 2015, duff");
$this->Image('logo.png', 100, 2, 75,7);
} //end of IF
$this->useTemplate($this->_tplIdx, 0, 0,200);
} //end of HEADER
function Footer() {
if($this->page > 0) {
$this->SetY(-20);
$this->SetFont('times', 'I', 11);
$this->SetTextColor(0,0,0);
$this->Write(0, "Page", '', 0, 'C');
} //end of if
} // end of footer
} //end of CLASS
// new PDF file
$pdf = new PDF();
$pdf->addPage();
if($pdf->numPages>0) {
for($i=1;$i<=$pdf->numPages;$i++) {
$pdf->endPage();
$pdf->_tplIdx = $pdf->importPage($i);
$pdf->AddPage();
//$pdf->SetPrintHeader(false);
//$pdf->SetPrintFooter(false);
}
}
$file_time = time();
$pdf->Output("$file_time.pdf", "F");//, "I");
echo "Link: '<a href=$file_time.pdf>Stamped article</a>'";
?>
我尝试了很多方法,例如 setPrintHeader() 等,但我发现的方法都不适合我。我可以请人帮忙吗?
谢谢。
达夫
您可以使用Line
方法在FPDF中画线。如果您想要一条水平直线,只需确保直线起点和终点的纵坐标(y 值)相同即可。例如:
$pdf->Ln(15,$pdf->y,200,$pdf->y);
最好将这两个方法(Header
和 Footer
)留空。这样你就会覆盖来自 super-class.
像这样:
class EmptyFPDI extends FPDI
{
public function Header()
{
}
public function Footer()
{
}
}