pdflib - PDFlib - 使用 ArtBox 存储放置元素的宽度和高度
问题描述
使用 PDFlib 我正在向页面添加元素。我的目标是在页面关闭后以某种方式检索元素的组合高度和宽度$p->end_page_ext("");
。
我知道添加到该页面的元素的组合高度。
问题。是否可以使用 PDFArtBox
以某种方式存储这些尺寸并稍后检索它们?
我对页面的高度或宽度不感兴趣——只对添加元素占用的空间感兴趣。
解决方案
使用 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]"));
}
推荐阅读
- php - 有没有一种方法可以在没有数据库的情况下将 HTML 页面链接在一起并在它们之间共享信息?
- c# - C#: Udp socket and receivefrom() method
- c - Segmentation fault while mallocing 2d arrays?
- external - 使用 Xcode 10 为 LiveCode 9.01 构建 C/C++ 外部
- css - 更改 Bootstrap 4 复选框按钮的开/关颜色
- python - 如何在 Python 中停止这个循环?
- typescript - 如何在 TypeScript 中声明仅包含对象而不包含函数的类型
- python - Python将对象值转换为int
- excel - Excel,创建不同的唯一值列表
- asp.net-core - 如何解决 .netcore 中的 FileLoadException