Wie extrahiert man Daten aus einer Tabelle in einem PDF mit Hilfe von pdfbox?PDFBox: Extraktion von Daten aus Tabelle
In diesem Prozess können Index von Text und Inhalt gefunden werden mit PDContentStream und PageStripper Klassen.Index von Zeilen in der Tabelle gefunden werden muss, Kann jemand mit welcher Klasse zu erweitern und welche Methode zu implementieren?
Ich habe folgende zum Extrahieren des Startindex von Texten versucht:
public class Tables {
public static void main(String args[]) throws IOException{
BufferedWriter wr;
File input = new File("test.pdf");
File output = new File("SampleText.txt");
PDDocument pd=new PDDocument();
pd=PDDocument.load(input);
// PDFTextStripper pds=new PDFTextStripper();
// String text=pds.getText(pd);
PDFTextStripper stripper = new PDFTextStripper()
{
@Override
protected void startPage(PDPage page) throws IOException
{
startOfLine = true;
super.startPage(page);
}
@Override
protected void writeLineSeparator() throws IOException
{
startOfLine = true;
super.writeLineSeparator();
}
@Override
protected void writeString(String text, List<TextPosition> textPositions) throws IOException
{
if (startOfLine)
{
TextPosition firstProsition = textPositions.get(0);
writeString(String.format("[%s]", firstProsition.getYDirAdj()));
startOfLine = false;
}
super.writeString(text, textPositions);
}
boolean startOfLine = true;
};
wr = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(output)));
stripper.writeText(pd, wr);
if (pd != null) {
pd.close();
}
// I use close() to flush the stream.
wr.close();
}
}
Gehen Sie zu Ihrer zweiten Option, ich habe bereits die Koordinaten des Textes gefunden, wie in dem Code, den ich angehängt habe. Das Extrahieren der Koordinaten der Linie in einer Tabelle ist, was ich benötige. – Maalini
Wenn Sie Grafikzeile (und nicht Linie des Textes) meinen, dann ich denke, dass Sie dies tun müssten, indem Sie das pdf in Bild umwandeln und dann das Bild Pixel für Pixel travesring. Es gibt eine Methode in Tabula, die die Koordinaten jedes Liniensegments in einem gegebenen Bild zurückgibt. – ANKIT
Hat Ihr Projekt eine PDF-Datei desselben Formats? Wenn Sie eine Beispieldatei hochladen können, hätte ich eine bessere Idee. – ANKIT