使用PDFlib,我正在向页面添加元素。我的目标是通过$p->end_page_ext("");
关闭页面后以某种方式检索元素的组合高度和宽度。
我知道添加到该页面的元素的总高度。
问题。是否可以使用PDF的ArtBox
以某种方式存储这些尺寸并在以后检索它们?
我对页面的高度或宽度不感兴趣-仅添加元素所占据的空间。
答案 0 :(得分:1)
使用PDFlib,您还可以将ArtBox添加到页面。 (请使用ArtBox {llx lly urx ury}
选项列表中的“ begin_page_ext/end_page_ext()
”选项。
之后,您可以从PDF中检索此值。例如,当使用pCOS接口(它是PDFlib + PDI,PLOP或TET的一部分)时。您可以在pCOS Cookbook中找到MediaBox的代码示例:https://www.pdflib.com/pcos-cookbook/pages/page_size/
要检索ArtBox,您只需要使用pCOS路径:
// $pageno is the 0 based index of the pages. First page is 0
if ($p->pcos_get_number($doc, "type:pages[" . $pageno . "]/ArtBox") == 5)
{
$llx = sprintf("%.2f", $p->pcos_get_number($doc, "pages[" . $pageno . "]/ArtBox[0]"));
$lly = sprintf("%.2f", $p->pcos_get_number($doc, "pages[" . $pageno . "]/ArtBox[1]"));
$urx = sprintf("%.2f", $p->pcos_get_number($doc, "pages[" . $pageno . "]/ArtBox[2]"));
$ury = sprintf("%.2f", $p->pcos_get_number($doc, "pages[" . $pageno . "]/ArtBox[3]"));
}