0

所以我正在尝试使用 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参考手册..那里什么都没有..

有什么建议么?

4

1 回答 1

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");
于 2014-07-30T08:38:21.290 回答