2017-04-21 47 views
0

对于一个项目,我必须以正确的顺序获得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("], "); 
     } 

的“矩形”字典包含四个值,与表单字段的左下角和右上角的坐标。所以你可以遍历字典并检索值。

您可能会在pCOS cookbook

+0

非常感谢。 值的顺序是? 你知道我们是否可以知道该字段是哪一页? –

+0

你在这里得到两对x/y值。一般来说,首先是左下角和第二个右上角。不,您不能以这种方式检索页面。您可以通过pCOS annots数组来确定。 – Rainer

+0

好的,谢谢。 这个数组包含什么? –