我要求用户在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();解决了问题
答案 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