Как извлечь содержимое таблицы в 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 может не поддерживать извлечение положения букв, а также фактического текста.

Другие вопросы по тегам