首页 > 解决方案 > PDFlib - 使用 ArtBox 存储放置元素的宽度和高度

问题描述

使用 PDFlib 我正在向页面添加元素。我的目标是在页面关闭后以某种方式检索元素的组合高度和宽度$p->end_page_ext("");

我知道添加到该页面的元素的组合高度。

问题。是否可以使用 PDFArtBox以某种方式存储这些尺寸并稍后检索它们?

我对页面的高度或宽度感兴趣——只对添加元素占用的空间感兴趣。

标签: pdflib

解决方案


使用 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]"));

            }

推荐阅读