PDFLib(PCos)从PDF获取图像位置

时间:2014-07-29 13:02:06

标签: php pdf pdflib

所以我试图用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参考手册..没有任何内容..

有什么建议吗?

1 个答案:

答案 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");