PDFlib - 使用 ArtBox 存储放置元素的宽度和高度
PDFlib - using ArtBox to store width and height of placed elements
我正在使用 PDFlib 向页面添加元素。我的 objective 是在使用 $p->end_page_ext("");
.
关闭页面后以某种方式检索元素的组合高度和宽度
我知道添加到该页面的元素的组合高度。
问题。是否可以使用 PDF 的 ArtBox
以某种方式存储这些尺寸并稍后检索它们?
我不对页面的高度或宽度感兴趣 - 只有添加的元素占据的 space。
使用 PDFlib,您还可以将艺术框添加到页面。 (使用 begin_page_ext/end_page_ext()
选项列表中的选项“ArtBox {llx lly urx ury}
”。
之后您可以从 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]"));
}
我正在使用 PDFlib 向页面添加元素。我的 objective 是在使用 $p->end_page_ext("");
.
我知道添加到该页面的元素的组合高度。
问题。是否可以使用 PDF 的 ArtBox
以某种方式存储这些尺寸并稍后检索它们?
我不对页面的高度或宽度感兴趣 - 只有添加的元素占据的 space。
使用 PDFlib,您还可以将艺术框添加到页面。 (使用 begin_page_ext/end_page_ext()
选项列表中的选项“ArtBox {llx lly urx ury}
”。
之后您可以从 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]"));
}