При использовании Tess4j для чтения изображения в формате PDF в виде строкового результата возвращается только первая стJAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 При использовании Tess4j для чтения изображения в формате PDF в виде строкового результата возвращается только первая ст

Сообщение Anonymous »

Я использую Java — Tess4j-5.13.0.jar для чтения PDF-файла, содержащего таблицу типа изображения.
Это первый раз, когда я использую Tess4j/tesseract.
Tess4j находится здесь: https://github.com/nguyenq/tess4j
PDF, который я пытаюсь конвертировать: https://drive.google.com/file/d/1sd64gF ... sp=sharing
Проблема в том, что при обработке изображения в формате PDF оно возвращает только первую строку заголовка и остальное игнорируется.
Файл PDF содержит одно изображение, похожее на таблицу с заголовком. Заголовок возвращается, но остальная часть таблицы игнорируется. Также возвращается одна дополнительная строка, но я не знаю, откуда она взялась. "-ma_———"
Изображение

Это мой код, который я использовал.

Код: Выделить всё

public static void main(String[] args) throws IOException, TesseractException {
// TODO Auto-generated method stub
File imageFile = new File("C:/Users/DFDS_Y1_2025.pdf");
ITesseract instance = new Tesseract(); // JNA Interface Mapping
instance.setDatapath("C:/Users/Tess4J/tessdata");
instance.setLanguage("eng");

//List renderFormats = new ArrayList();
//renderFormats.add(RenderedFormat.PDF);
//instance.createDocumentsWithResults(imageFile,null,"C:/Users/DFDS_Y1_2025_out2", renderFormats, TessPageIteratorLevel.RIL_BLOCK);

try {

String result = instance.doOCR(imageFile);
System.out.println(result);
} catch (TesseractException e) {
System.out.println("ERROR");
System.err.println(e.getMessage());
}   }}
Результат, который выводится на консоль:

Код: Выделить всё

Destination Rate O-1OT Rate 10.01-17T Full rate
-ma_———
Значит, это заголовок плюс по какой-то причине еще и эта строка -ma_———
Я ожидал, что будут возвращены все остальные строки данных.
Я попытался сначала извлечь изображение из PDF-файла и сделать его оттенками серого, а затем вместо обработки PDF-файла я использовал файл изображения в качестве входных данных, но получил тот же результат.
Я подумал, что в онлайн-примерах код похож на мой, я не вижу, что мне нужно сделать, чтобы получить остальные данные.
Я использую eclipse, и это вывод консоли при запуске кода:
Изображение

Я знаю, что это можно сделать с помощью tesseract, как я его тестировал здесь: https://tesseract-ocr.github.io/tessdoc ... Party.html, используя пользовательский интерфейс писца на основе tesseract. https://scribeocr.com/
Когда PDF-файл загружается в scribe, он получает все текстовые данные изображения.
Я не конечно, что я делаю неправильно, PDF-файл понятен и должен работать.
Нужно ли предварительно обработать изображение или PDF-файл или что я делаю неправильно.
Пожалуйста, дайте мне знать, если вы нужна дополнительная информация.
Любая помощь будет оценил.

Подробнее здесь: https://stackoverflow.com/questions/793 ... returned-a
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»