Я уже некоторое время борется с данными верхнего и нижнего колонтитулов и подумал, что пришло время спросить об этом здесь, на форуме.FPDF: Определите, когда устанавливать данные заголовка/нижнего колонтитула
Что я пытаюсь сделать, так это решить, что если страница добавляется, если верхний/нижний колонтитул должен быть добавлен или нет. поэтому по коду я хочу включить или выключить заголовок/нижний колонтитул при добавлении страницы.
Я попытался манипулировать функцией AddPage, установив дополнительный аргумент $ setFooterHeader, для которого по умолчанию установлено значение true. И затем попытка установить этот аргумент в false, когда я делаю addPage ('', '', false); но по какой-то причине он игнорирует его, и я не могу понять, почему.
Если я установил значение по умолчанию аргумента равным false в самой функции, он работает как шарм, но когда я пытаюсь сделать это в своем скрипте и задаю его как аргумент, он полностью игнорирует его.
Вот фрагмент кода из файла fpdf.php (функция AddPage)
function AddPage($orientation='', $size='', $setHeaderFooter=true)
{
// Start a new page
if($this->state==0)
$this->Open();
$family = $this->FontFamily;
$style = $this->FontStyle.($this->underline ? 'U' : '');
$fontsize = $this->FontSizePt;
$lw = $this->LineWidth;
$dc = $this->DrawColor;
$fc = $this->FillColor;
$tc = $this->TextColor;
$cf = $this->ColorFlag;
if($this->page>0)
{
// Page footer
if ($setHeaderFooter == true)
{
$this->InFooter = true;
$this->Footer();
$this->InFooter = false;
// Close page
$this->_endpage();
}
}
// Start new page
$this->_beginpage($orientation,$size,$setHeaderFooter);
// Set line cap style to square
$this->_out('2 J');
// Set line width
$this->LineWidth = $lw;
$this->_out(sprintf('%.2F w',$lw*$this->k));
// Set font
if($family)
$this->SetFont($family,$style,$fontsize);
// Set colors
$this->DrawColor = $dc;
if($dc!='0 G')
$this->_out($dc);
$this->FillColor = $fc;
if($fc!='0 g')
$this->_out($fc);
$this->TextColor = $tc;
$this->ColorFlag = $cf;
// Page header
if ($setHeaderFooter == true)
{
$this->InHeader = true;
$this->Header();
$this->InHeader = false;
}
// Restore line width
if($this->LineWidth!=$lw)
{
$this->LineWidth = $lw;
$this->_out(sprintf('%.2F w',$lw*$this->k));
}
// Restore font
if($family)
$this->SetFont($family,$style,$fontsize);
// Restore colors
if($this->DrawColor!=$dc)
{
$this->DrawColor = $dc;
$this->_out($dc);
}
if($this->FillColor!=$fc)
{
$this->FillColor = $fc;
$this->_out($fc);
}
$this->TextColor = $tc;
$this->ColorFlag = $cf;
}
Ниже приведен фрагмент кода моего PHP скрипт, который использует FPDF
/** PHP FPDF */
require_once 'classes/FPDF/fpdf.php';
require_once 'classes/FPDI/fpdi.php';
class PDF extends FPDI
{
function Header()
{
$this->SetFont('Arial', 'B', 18); //set font to Arial, Bold, and 16 Size
//create heading with params
//0 - 100% width
//9 height
//"Page Heading" - With this text
//1 - border around it, and center aligned
//1 - Move pionter to new line after writing this heading
//'C' - center aligned
$this->Cell(0, 9, 'Page Heading', 1, 1, 'C');
$this->ln(5);
}
function Footer()
{
//move pionter at the bottom of the page
$this->SetY(-15);
//set font to Arial, Bold, size 10
$this->SetFont('Arial', 'B', 10);
//set font color to blue
$this->SetTextColor(52, 98, 185);
$this->Cell(0, 10, 'Footer Text', 0, 0, 'L');
//set font color to gray
$this->SetTextColor(150, 150, 150);
//write Page No
$this->Cell(0, 10, 'Page No: ' . $this->PageNo(), 0, 0, 'R');
}
}
// Create new PDF object
$pdf = new PDF('P','mm','A4');
$pdf->addPage('','',false);
// Output pdf file
$pdf->Output('test.pdf','D');
Ваша помощь очень ценится! !
Я установил это, но FOOTER не работает. Когда он установлен в 0, он все еще показывает нижний колонтитул. –