我已经使用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的输出。
答案 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);
感谢那些对此有帮助的人。