FPDF:格式化数组中的一个元素

时间:2013-04-09 20:44:42

标签: php fpdf

我正在使用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设为粗体或更大的字体。

感谢您查看此内容。

1 个答案:

答案 0 :(得分:1)

通过向allow_concurency类添加2个函数,可以实现不同的打印格式:

PDF_Label.php

这确定了当前标签的坐标。

示例脚本(循环的一部分):

// 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);
}

可能不尽可能整洁,但它确实有效!