如何使用Java阅读pdf表单字段?

时间:2010-09-09 01:34:28

标签: java api

我要求用户在pdf表单上填写大量字段(文本字段,复选框,单选按钮),然后他们会给我们发邮件。我需要阅读pdf表单上的每个字段并插入到oracle表中。

编辑1:我正在尝试关注代码,它会生成pdf,但是当我双击它时会显示“无效格式”。怎么了?

import java.io.FileOutputStream;
import java.io.IOException;

import com.itextpdf.text.*;
import com.itextpdf.text.pdf.PdfWriter;

public class pdfGentest{
    public static void main(String[] args) {

        Document document = new Document();

        try {

            PdfWriter.getInstance(document, new FileOutputStream("c:\\HelloWorld.pdf"));
            document.open();
            document.add(new Paragraph("Hello World"));
            }
        catch (DocumentException de) {
            System.err.println(de.getMessage());
            } catch (IOException ioe) {
                System.err.println(ioe.getMessage());
            }       
    }
}

修正:由于我没有关闭文件。添加document.close();解决了问题

2 个答案:

答案 0 :(得分:3)

您可以使用PDF Box api,它将支持更清晰地提取字段信息。

答案 1 :(得分:2)

您可以使用IText库来执行此操作。 Link => http://itextpdf.com/

可悲的是,我没有java代码示例,因为我在C#.NET中使用iTextSharp库,但非常简单。

您可能需要查看itextpdf.com/book/examples.php以获取示例。另请查看以下链接以获取有关读取字段值的示例, http://itext-general.2136553.n4.nabble.com/Problem-Reading-Interactive-Form-Values-Acro-Fields-from-PDF-using-iText-td2171900.html