设置我正在使用FPDF创建的PDF的页眉和页脚时遇到了一些麻烦。正如FPDF手册(http://www.fpdf.org/)中所规定的那样,我创建了一个扩展FPDF的新类(PDF),以便创建我的页眉和页脚。 PDF类的代码如下:
<?php
require('fpdf.php');
class PDF extends FPDF
{
var $primeiroNome;
var $ultimoNome;
function changeName($firstName, $lastName) {
$this->primeiroNome = $firstName;
$this->ultimoNome = $lastName;
}
// Cabeçalho
function Header()
{
// Cor do texto
$this->SetTextColor(0, 0, 0);
// Logo
$this->Image('Imagens/manviaPdf.png',110,6);
// Tipo de letra
if($this->page == 1) {
$this->SetFont('Arial','B',15);
// Titulo
$this->Cell(30,10,'Currículo institucional de:',0,0,'L');
// Quebra de linha
$this->Ln(10);
// Nome colaborador
$this->Cell(30,10, $primeiroNome . ' ' . $ultimoNome,0,0,'L');
}
// Line break
$this->Ln(12);
}
// Rodapé
function Footer()
{
// Cor do texto
$this->SetTextColor(0, 0, 0);
// Posicionar o cabeçalho a 1,5 centimetros do fim da página
$this->SetY(-15);
// Tipo de letra
$this->SetFont('Arial','I',8);
// Número da página
$this->Cell(0,10,'Pag '.$this->PageNo().'/{nb}',0,0,'L');
// Informação adicional
$this->Cell(0,10,'Curriculum Vitae de ' . $ultimoNome . ', ' . $primeiroNome . ' | MANVIA, S.A', 0, 0, 'R');
}
}
?>
变量$ primeiroNome和$ ultimoNome,尽管使用函数changeName设置(并且我确认变量确实保留了值,在changeName的末尾使用了echo)在打印PDF时不会出现,尽管其他的标题内容出现了。我也试过使用$ GLOBALS,但没有成功。
使用以下代码创建PDF对象:
$link = mysql_connect('localhost', 'user', 'password');
if (!$link) {
die("A ligação ao servidor não foi possível!");
}
$bd_escolhida = mysql_select_db('criadorcv',$link);
if(!$bd_escolhida) {
die("Não é possível escolher a base de dados definida");
}
$queryString = "SELECT primeiroNome, ultimoNome FROM cartaovisita WHERE id=" . $value;
$query = mysql_query($queryString) or die ("Problema ao obter os dados do colaborador");
$row = mysql_fetch_array($query);
$pdf = new PDF();
$pdf->changeName($row['primeiroNome'], $row['ultimoNome']);
mysql_free_result($query);
$pdf->AliasNbPages();
$pdf->AddPage();
$pdf->AddFont('Garamond', '', 'GARA.php');
$pdf->SetFont('Arial','B',15);
$pdf->SetFillColor(174, 38, 22);
$pdf->SetTextColor(255, 255, 255);
$pdf->Cell(0,10,'Cartão de Visita',1, 0, 'L', true);
$pdf->SetTextColor(0, 0, 0);
.....
任何帮助都将不胜感激。
答案 0 :(得分:2)
您提到的那些变量是类属性,而不是方法的局部变量,因此您必须使用$this->
前缀。而不是这个:
$this->Cell(0,10,'Curriculum Vitae de ' . $ultimoNome . ', ' . $primeiroNome . ' | MANVIA, S.A', 0, 0, 'R');
}
......这样做:
$this->Cell(0,10,'Curriculum Vitae de ' . $this->ultimoNome . ', ' . $this->primeiroNome . ' | MANVIA, S.A', 0, 0, 'R');
}
你正确保存但是把它们搞错了:)