所以我试图用PHP和PDFlib pCos库在PDF中获取图像位置。
我可以列出图像并获取图像尺寸,如:
$imgcount = $tet->pcos_get_number($doc, "length:pages[" . $page . "]/images");
for ($im = 0; $im < $imgcount; $im++) {
$width = $tet->pcos_get_number($doc, "pages[" . $page . "]/images[" . $im . "]/Width");
$height = $tet->pcos_get_number($doc, "pages[" . $page . "]/images[" . $im . "]/Height");
}
但我如何获得图像位置?
已尝试过的路径如下:
"pages[" . $page . "]/images[" . $im . "]/Box"
"pages[" . $page . "]/images[" . $im . "]/Box[0]"
"pages[" . $page . "]/images[" . $im . "]/Rect"
什么都行不通..我在网上到处搜索, 还查看了PDF参考手册..没有任何内容..
有什么建议吗?
答案 0 :(得分:3)
要确定图像的位置,您必须解析页面内容。 pCOS无法实现这一点。为此,PDFlib提供了一个名为 TET 的附加工具: http://www.pdflib.com/products/tet/
有关此主题的更多详细信息,请参阅TET手册,第8.5章“放置图像的几何图形”。 但是从您的代码片段看起来您已经在TET中使用了pCOS接口。如果是这样,只需查看相关的手册章节。
一个很好的起点可能是TET 4.3示例image_extractor.php,您只需将位置添加到以下代码片段:
while ($ti = $tet->get_image_info($page) ) {
/* Report image geometry */
print("page " . $pageno . ": " .
(int) $ti->width . "x" .
(int) $ti->height . "pt [" .
(int) $ti->x . "x" .
(int) $ti->y . "], alpha=" .
$ti->alpha . ", beta=" .
$ti->beta . "\n");