Hallo zusammen
Ich suche nach einer Java Bibliothek, die mir den Text, sowie die Koordinaten, jedes einzelnen Wortes aus einer PDF Datei ausliest. Diese Informationen werden dann in einer Textdatei gespeichert.
Mit "iText" lese ich den ganzen Text aus. Aber ich bringe ich es nicht fertig die einzelnen Koordinaten der einzelnen Wörter auszulesen. Hat jemand Erfahrung mit "iText", oder weiss jemand wie man das machen könnte?
Anbei der Code:
Ich suche nach einer Java Bibliothek, die mir den Text, sowie die Koordinaten, jedes einzelnen Wortes aus einer PDF Datei ausliest. Diese Informationen werden dann in einer Textdatei gespeichert.
Mit "iText" lese ich den ganzen Text aus. Aber ich bringe ich es nicht fertig die einzelnen Koordinaten der einzelnen Wörter auszulesen. Hat jemand Erfahrung mit "iText", oder weiss jemand wie man das machen könnte?
Anbei der Code:
Java:
import com.itextpdf.text.pdf.PdfReader;
import com.itextpdf.text.pdf.parser.PdfReaderContentParser;
import com.itextpdf.text.pdf.parser.SimpleTextExtractionStrategy;
import com.itextpdf.text.pdf.parser.TextExtractionStrategy;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.PrintWriter;
public class PdfTextExtractor {
public static final String PREFACE = "pdf-xy.pdf";
public static final String RESULT = "Inhalt.txt";
public void parsePdf(String pdf, String txt) throws IOException {
PdfReader reader = new PdfReader(pdf);
PdfReaderContentParser parser = new PdfReaderContentParser(reader);
PrintWriter out = new PrintWriter(new FileOutputStream(txt));
TextExtractionStrategy strategy;
for (int i = 1; i <= reader.getNumberOfPages(); i++) {
strategy = parser.processContent(i, new SimpleTextExtractionStrategy());
out.println(strategy.getResultantText());
}
reader.close();
out.flush();
out.close();
}
public static void main(String[] args) throws IOException {
PdfTextExtractor m = new PdfTextExtractor();
m.parsePdf(PREFACE, RESULT);
}
}