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

Php TCPDF在文本上画一条线,在文本上画一个删除线,php,tcpdf,Php,Tcpdf,我使用TCPDF非常成功,但遇到了一些我似乎无法修复的问题 这张图片显示了正在发生的事情。在文本上画了几行线,并对文本应用了删除线,我不想要这两个 这是代码。我用cell()和text()尝试了这个方法,得到了相同的结果。除了不需要的线,这是工作良好。你知道这是怎么回事吗 TCPDF版本是6.2.5 $pdf = new TCPDF('L', 'in', array($cardHeight,$cardWidth),TRUE,"UTF-8"); $pdf->SetPri

我使用TCPDF非常成功,但遇到了一些我似乎无法修复的问题

这张图片显示了正在发生的事情。在文本上画了几行线,并对文本应用了删除线,我不想要这两个

这是代码。我用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的输出


所以我想出来了。简单的事情,有点

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

$pdf->SetFont($value->font, $value->weight, $value->size);
那不行。似乎TCPDF对此非常具体。对我来说,最终的答案是:

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

多亏了这些帮助。

我只想指出,
删除线
也可能是底部边框,文本溢出,尝试
$pdf->text($value->x/$dpiCorrection,$value->y/$dpiCorrection,”)会有什么结果?此外,请使用TCPDF的准确版本更新您的问题,因为即使是较小的修订也可能有严重不同的怪癖。如果您将
1
传递给border参数,您的输出是否会有所不同?@MonkeyZeus,您的建议会导致一个空白文档。我正在使用TCPDF版本6.2.5。@maja,我发布了一个border=1的屏幕截图。