【发布时间】:2021-10-26 15:07:32
【问题描述】:
我想创建一个表格,其中每个项目旁边都有一个连字符,它以 svg 图形的形式提供。我试图将其加载到类似于图像的表格单元格中,但这似乎不起作用。我在 PDFlib Cookbok 中也找不到与此相关的任何内容。
然后我尝试将图形放在表格之外,但现在我遇到了问题,因为它没有连接到表格,如果表格太大,连字符不会转到新页面当前一个并将其余内容加载到该新页面上。所以这似乎也不起作用。有谁知道如何在表格内加载 svg 图形的解决方案,以便它与它的内容一起呈现(这意味着它们也会进入新页面)?
这是我尝试将 svg 加载到表中的代码:
## add hyphen to table ##
$image = $p->load_graphic("auto", $hyphen, "");
if ($image == 0) {
echo("Couldn't load $image: " . $p->get_errmsg());
exit(1);
}
$optlistHyphen = "colwidth=2% margintop=3 graphic=" . $image;
$tbl = $p->add_table_cell($tbl, $col1, $row, '', $optlistHyphen);
if ($tbl == 0) {
echo("Error: " . $p->get_errmsg());
exit(1);
}
这是我当前尝试的代码,我将图形放在表格之外:
## add hyphen ##
// load hyphen
$graphics = $p->load_graphics('auto', $hyphen, '');
if ($graphics == 0) {
echo('Couldn not load logo image: ' . $p->get_errmsg());
exit(1);
}
// place hyphen
$buf = "scale=0.25";
$p->fit_graphics($graphics, $hyphenX, $hyphenY, $buf);
// calculate new height for hyphen
$hyphenY = $hyphenY - 16;
// Add new empty table cell
$optlistTableCellHyphen = "colwidth=2%";
$tbl = $p->add_table_cell($tbl, $col1, $row, '', $optlistTableCellHyphen);
if ($tbl == 0) {
echo("Error: " . $p->get_errmsg());
exit(1);
}
(这两个代码 sn-ps 都在表内容的 foreach 内)
这里还有一张带有最后一个“解决方案”的当前输出的图像:
【问题讨论】: