TCPDF数组图片格式化、图标对齐与MultiCell居中问题求助

修复方案
1. 图标对齐问题
异常原因:
- 你把
Image方法放在MultiCell调用之后,MultiCell执行完会自动换行,光标Y轴已经下移,图标自然和上一行内容错位 Image的Y参数传空,没有绑定当前行的Y坐标
修复方法:
循环内先获取当前行的Y坐标,优先输出左侧图标,把图标的Y坐标绑定为当前行Y值,保证和右侧单元格同水平。
2. MultiCell对齐问题
异常原因:
- 你错误套用了
Cell的参数顺序到MultiCell上,导致对齐、换行、填充参数全部传错位置,官方参数当然不生效 - 没有显式指定垂直居中参数,
MultiCell默认垂直居顶
修复方法:
按照MultiCell的官方参数顺序传值,额外指定垂直居中参数为'M'。
修改后完整代码
$pdf->SetXY(65,170); $pdf->SetFillColor(188,211,156); $pdf->SetTextColor(83,95,65); $pdf->Cell(90,7,"رموز العناية",1,1,'C',1); $pdf->Ln(5); while($row = $result->fetch_assoc()) { $pdf->SetTextColor(0,0,0); // 先获取当前行的Y坐标,保证所有元素对齐 $currentY = $pdf->GetY(); // 优先输出左侧图标,绑定当前行Y坐标 $pdf->Image('./assets/images/textiles_caring/' . $row['photo'], 55 , $currentY, 10 , 10 , '', null ); // 输出标题单元格,X坐标向右偏移避免覆盖图标 $pdf->SetX(65); $pdf->SetFillColor(173,243,173); $pdf->Cell(30,10,$row['title'],1,0,'C',1); $pdf->SetFillColor(233,233,233); // 修正MultiCell参数顺序,最后添加垂直居中参数'M' $pdf->MultiCell( 90, 10, $row['des'], 1, 'C', // 水平居中,第5个参数为对齐方式 1, // 填充,第6个参数 1, // 换行,第7个参数 '', '', true, 0, false, true, 0, 'M' // 垂直居中,第15个参数 ); }
内容的提问来源于stack exchange,提问作者Mohammad
相关产品推荐
相关产品推荐

