1

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

谢谢你看这个。

4

1 回答 1

1

通过在类中添加 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);
}

这建立了当前标签的坐标。

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

$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.

可能没有它可能的那么整洁,但它确实有效!

于 2016-04-29T08:16:41.657 回答