2017-04-21 6 views
0

1つのプロジェクトでは、pdfのフォームフィールドを正しい順序で取得する必要があります。私はpdflibを使用しますが、フィールドはPDFに表示されるのと同じ位置に抽出されません。 私はpCosでフォームフィールドの位置を抽出することができましたが、解決策が見つかりませんでした。pdflibとpCosでフォームフィールドの位置を取得

ありがとうございます!

+0

試しましたか?現在のコードサンプルを提供してください。 –

+0

私はちょうどそのようなものを試してみます: p-> pcos_get_string($ this-> indoc、 "fields" "$ idField。"]/position "); しかし、それは存在しません。 ドキュメントには、フォームフィールドの位置については何も記載されていません。 これはデータシートに記載されています。 –

答えて

0

フィールドの「/ Rect」ディクショナリを使用して、pCosを使用してフォームフィールドの長方形を取得できます。非常に単純な(Javaベースのサンプル)このように次のようになります。

 String rect_path = "fields[" + f + "]/Rect"; 
     if (p.pcos_get_string(doc, "type:" + rect_path).equals("array") 
      && (int) p.pcos_get_number(doc, "length:" + rect_path) == 4) { 
      System.out.print("["); 
      for (int i = 0; i < 4; i += 1) { 
      if (i > 0) { 
       System.out.print(" "); 
      } 
      System.out.print(p.pcos_get_number(doc, rect_path + "[" + i + "]")); 
      } 
      System.out.print("], "); 
     } 

「のRect」辞書は、フォームフィールドの左下と右上の座標と、四つの値が含まれています。したがって、辞書をループして値を取得することができます。

さらにサンプルが見つかります。pCOS cookbook

+0

ありがとうございました。 値はどの順番で表示されますか? フィールドがどのページにあるかわかりますか? –

+0

ここにx/y値の2つのペアがあります。一般的には、最初にフィールドの左下隅と右上隅になります。いいえ、この方法でページを取得することはできません。これは、pCOS annots配列を使って判断できます。 – Rainer

+0

ありがとうございました。 この配列には何が含まれていますか? –

関連する問題