PDFlib PHP如何将SVG图形插入表格单元格并实现随表格分页渲染
解决方案
你要实现的SVG和表格绑定自动分页的效果可以通过修正表格单元格的图形配置参数实现,你第一次尝试的思路是对的,只是参数名写错了:
- PDFlib 中
add_table_cell指定单元格内嵌入图形的参数是graphics(复数形式),你之前写的graphic是拼写错误,这是SVG无法在单元格内加载的核心原因。 - 你可以配合
fitgraphicsoptions参数调整SVG的缩放、边距、对齐规则,不需要手动在表格外渲染图形和计算坐标,绑定到单元格的内容会自动跟随表格跨页跳转。
修正后的代码示例
## add hyphen to table ## $image = $p->load_graphic("auto", $hyphen, ""); if ($image == 0) { echo("Couldn't load hyphen: " . $p->get_errmsg()); exit(1); } // 配置单元格参数,graphics指定图形资源,fitgraphicsoptions调整缩放对齐 $optlistHyphen = "colwidth=2% margintop=3 graphics=" . $image . " fitgraphicsoptions={scale=0.25 position={left center}}"; $tbl = $p->add_table_cell($tbl, $col1, $row, '', $optlistHyphen); if ($tbl == 0) { echo("Error: " . $p->get_errmsg()); exit(1); }
注意事项
- 确认你使用的PDFlib版本≥7.0,已开启SVG加载支持
- 不需要额外维护表格外的图形渲染逻辑,所有内容均绑定到表格单元格后,表格自动分页时会同步携带对应单元格的图形内容,不会出现图形和内容错位、跨页丢失的问题。
内容的提问来源于stack exchange,提问作者strayed soul
相关产品推荐
相关产品推荐

