Как извлечь содержимое таблицы в PDF-файл?
Я хочу извлечь содержимое таблицы в формате PDF примерно так:
Я написал эту Java-программу, используя iText Java Java Libray, который может построчно читать содержимое файла 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°", "НАБЛЮДЕНИЯ ДАТЫ", "ТЕКСТ"
второй массив будет содержать: "029/14", "Le 1er sept 2014 remplace AVURNAV...", "SETE A compter du lundi 7 июля 2014 г. débuteront les trav..."
третий массив будет содержать: "037/14", "Le 15 octobre 2014 remplace AVURNAV ...", "SETE Du 15 сентября 2014 года 15 июля 2015 года, travaux ...."
и так далее
Спасибо
1 ответ
Возможно, вам придется определить последовательность символов начала / конца общего поля, чтобы разбить ваши данные на массив, если ваша библиотека PDF не поддерживает извлечение таблиц. Например, первые поля nnn/nn
второе поле заканчивается nnnn/nn
и третье поле заканчивается там, где начинается следующее первое поле.
Это сложная проблема - мне пришлось использовать подходы, основанные на координатах, чтобы справиться с этим раньше, но ваша библиотека pdf может не поддерживать извлечение положения букв, а также фактического текста.