我使用FPDF的标签代码。我正在从sql调用数据库生成的数组中获取标签的内容。这对我来说很好。我想将其中一行的格式与其他行不同,要么使用较大的字体,要么使用粗体。下面是我使用的代码:
require('PDF_Label.php');
// Standard format
$pdf = new PDF_Label('5160');
$pdf->AddPage();
require('includes/mysqli_connect.php');
$sql = "SELECT FullLegalName, CivicAddress1, CivicCity, CivicPostal FROM coops";
$result = @mysqli_query($dbc, $sql);
if($result){
while($row = mysqli_fetch_array($result, MYSQLI_ASSOC)){
$name = $row['FullLegalName'];
$address = $row['CivicAddress1'];
$pcode = $row['CivicPostal'];
//each s relates to the inserts. Watch for double quotes around variables
$text = sprintf("%s'n%s'n%s %s'n%s", "$name", "$address", 'Toronto', 'ON', "$pcode");
$pdf->Add_Label($text);
}
$pdf->Output();
我想把$name改成粗体或大一点的字体,如果可能的话。
谢谢你看这个
通过在PDF_Label.php
类中增加2个功能,可以实现不同的打印格式:
// Return XY co-ordinates for additional text (different $pdf->SetFont)
function LabelX() {
$_PosX = $this->_Margin_Left + $this->_COUNTX*($this->_Width+$this->_X_Space) + $this->_Padding;
return ($_PosX);
}
function LabelY() {
$_PosY = $this->_Margin_Top + $this->_COUNTY*($this->_Height+$this->_Y_Space) + $this->_Padding;
return ($_PosY);
}
建立当前标签的坐标。
示例脚本(循环的一部分):
$pdf->SetFont(Arial,B,12); // Bold (font size as defined for label type).
$addresstext = sprintf("%s %s %s'n%s'n%s'n%s'n%s'n%s'n%s'n", "$title", "$initials", "$surname", "$address1", "$address2", "$town", "$county", "$postcode", "$country");
$pdf->Add_Label($addresstext);
// Add secondary text in normal smaller font.
$LabelX = $pdf->LabelX();
$LabelY = $pdf->LabelY();
$pdf->SetXY($LabelX,$LabelY);
$pdf->SetFont(Arial,'',9);
$secondtext = sprintf("'n'n'n'n'n'n'n%s %s %s", "$reminder", "$memberno", "$postalarea");
$pdf->MultiCell(95,7, $secondtext,0,'R'); // Prints bottom right of label.
可能没有那么整洁,但它可以工作!