TCPDF正在文本上画一条线,在文本上画一条删除线

时间:2015-01-27 14:14:48

标签: php tcpdf

我已经使用TCPDF取得了巨大的成功,但却遇到了一些我似乎无法修复的问题。

此图像显示正在发生的事情。在文本上绘制了一些线条,并且正在对文本应用删除线,我不想要其中任何一个。

enter image description here

这是代码。我已尝试使用cell()和text()并获得相同的结果。除了不需要的线条,这是正常的。关于这里发生了什么的任何想法?

TCPDF版本是6.2.5

    $pdf = new TCPDF('L', 'in', array($cardHeight,$cardWidth),TRUE,"UTF-8"); 

    $pdf->SetPrintHeader(false);
    $pdf->SetPrintFooter(false);
    $pdf->SetMargins(0, 0, 0);
    $pdf->SetAutoPageBreak(FALSE, 0);  
    $pdf->AddPage();

    $cardData = json_decode($this->getData());

    $frontData = $cardData->front->fields;

    foreach ($frontData as $key => $value) {

        $alignment = strtoupper($value->align[0]);
        $w = $value->w/$dpiCorrection;
        $h = $value->h/$dpiCorrection;

        $cmyk = $this->rgb2cmyk( $this->hex2RGB($value->color) );
        $text = trim($value->text);
        $pdf->SetFont($value->font, $value->weight, $value->size);
        $pdf->SetTextColor((int)$cmyk['c'], (int)$cmyk['m'], (int)$cmyk['y'], (int)$cmyk['k']);

        // $pdf->SetXY($value->x/$dpiCorrection, $value->y/$dpiCorrection);
         // $pdf->Cell(
         //     $w,         // width
         //     $h,         // height
         //     $text,      // text
         //     0,          // border
         //     0,          // ln - current postion after call
         //     $alignment, // L, C, R, or justify alignment
         //     0,          // fill 1 = painted, 0 = transparent
         //     '',         // link
         //     0,          // font stretch mode
         //     1,          // 1 = ignore automatic minimum height value
         //     '',         // cell vertical alignment, relative to specified Y value
         //     ''          // text vertical alignment
         //     );
         // $pdf->Cell(0,0,"Testing".$key);

        $pdf->Text($value->x/$dpiCorrection, $value->y/$dpiCorrection, "testing ".$key);
    }

    $filename = storage_path() . '/test.pdf';
    $pdf->output('test', 'D'); // 'D' force download, 'I' show inline

    $headers = array(
      'Content-Type' => 'application/pdf',
    );

这是边框设置为1的输出。

enter image description here

1 个答案:

答案 0 :(得分:1)

所以我明白了。简单的事情,那种。

在这段代码中,$value->weight的值为'粗体'。

$pdf->SetFont($value->font, $value->weight, $value->size);

这不起作用。似乎TCPDF对此非常具体。所以对我来说,最后的答案就是这样做:

$fweight = strtoupper($value->weight[0]);
$pdf->SetFont("$value->font", "$fweight", $value->size);

感谢那些对此有帮助的人。