我想提取表的內容以PDF喜歡這樣:如何提取PDF文件中的表格內容?
我寫使用iText java PDF libray可以逐行讀取PDF文件行的內容這個java程序,但我不知道如何讓表的內容
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「,」2014年1月1日替換AVURNAV ...「,」SETE A compter du lundi 7 juillet 2014débuterontles trav ...「
第三個數組將包含:」037/14「,」Le 15 octobre 2014 remplace AVURNAV ...「,」SETE Du 15 septembre 2014 au 15 juillet 2015,travaux ....「
等
感謝
跟着我重複一遍:「沒有表格,你可能認爲在這個PDF中存在的所有表格都只是一種錯覺。」根據您提取的文本順序,您可以看到它的工作方式從上到下,從左到右。您需要每個文本的精確座標,以及每個列和行的近似值。只有這樣你才能重建它。 – usr2564301
@Jongware對你的口頭禪的修改:「沒有表格,你可能認爲在這個PDF中存在的所有表格都只是一種錯覺...... *除非PDF是一個標記的PDF。*」不幸的是,OP沒有提供鏈接到他的PDF,以便我們可以檢查它是否被標記。所以,親愛的匿名用戶:請更新您的問題,並告訴我們您的PDF是否被標記。 –
@BrunoLowagie:這樣的標記文件是否包含行和列的標記? (我還沒有(需要)這個特定的工作流程。)然後確實應該是可能的。 – usr2564301