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"

何も機能しません..そして、どこでもWebで検索し、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 に答える