【发布时间】:2013-09-28 10:53:49
【问题描述】:
首先,我不是Java开发人员:(我只需要一个小程序,它会从现有的pdf文件中按字段名称向我输出字段坐标,当我从命令行调用我的类时,我会输入这些坐标,像这样:
javac GetField.java
java GetField <myForm.pdf>, <myFieldName>
我在我的服务器上使用 itext。现在我正在尝试运行简单的代码:
import com.itextpdf.text.*;
import com.itextpdf.text.pdf.*;
import java.io.*;
import java.util.*;
import java.awt.List;
class HelloWorld{
public static void main(String[] args) throws IOException {
PdfReader reader = new PdfReader("Noname.pdf");
AcroFields fields = reader.getAcroFields();
float[] positions = fields.getFieldPositions("Signature");
System.out.println( positions );
}
}
但我有错误:“类型不匹配:无法从 List 转换为 float[]”。 当我更换
float[] positions = fields.getFieldPositions("Signature");
System.out.println( positions );
与
System.out.println( fields.getFieldPositions("Signature") );
我得到了结果“[com.itextpdf.text.pdf.AcroFields$FieldPosition@36af35b1]”,但我需要浮点值。 你能帮我完成这个任务吗?
【问题讨论】:
-
“但它不起作用”不是对问题的描述。
-
您遇到的实际问题/错误是什么?
-
fields.getFieldPositions("Signature")在早期版本中用于返回float数组。前段时间已更改为支持List的AcroFields.FieldPosition实例。 -
@mkl,这是什么意思?我必须做什么?
-
您似乎导入了错误的
List类型。