我想提取pdf格式的表格内容,如下所示:
我用iText java PDF libray写的这个java程序,它可以逐行读取PDF文件的内容,但是我不知道如何获取表的内容
import com.itextpdf.text.pdf.PdfReader;
import com.itextpdf.text.pdf.parser.PdfTextExtractor;
public class PDFReader {
public static void main(String[] args) {
// TODO, add your application code
System.out.println("Lecteur PDF");
System.out.println (ReadPDF("D:/test.pdf"));
}
private static String ReadPDF(String pdf_url)
{
StringBuilder str=new StringBuilder();
try
{
PdfReader reader = new PdfReader(pdf_url);
int n = reader.getNumberOfPages();
for(int i=1;i<n;i++)
{
String str2=PdfTextExtractor.getTextFromPage(reader, i);
str.append(str2);
System.out.println(str);
}
}catch(Exception err)
{
err.printStackTrace();
}
return String.format("%s", str);
}
}
这是我得到的:
但这不是我想要的,我想逐行、逐列地提取表的内容,例如,将每一行保存到一个java数组中
第一个数组将包含:"N°","DATE OBSERVATIONS","TEXTE“
第二个数组将包含:"029/14",“Le1er 9月2014 remplace ...”,"SETE A compter du lundi 7 juillet 2014 débuteront les trav...“
第三个数组将包含:"037/14","Le 15 octobre 2014 remplace ...","SETE Du 15 septembre 2014 au 15 juillet 2015,travau...“
诸若此类
谢谢
发布于 2015-07-10 06:08:13
如果您的PDF库不支持提取表,则可能需要确定常见的字段开始/结束字符序列,以便将数据拆分到一个数组中。例如,第一个字段是nnn/nn
,第二个字段结束nnnn/nn
,第三个字段在下一个第一个字段开始的地方结束。
这是一个棘手的问题-我以前不得不使用基于坐标的方法来处理这个问题,但是你的pdf库可能不支持提取字母的位置以及实际的文本。
https://stackoverflow.com/questions/31329008
复制相似问题