Извлечение текста из врезок и копирование его в новый документ

Автор kompilainenn, 7 октября 2016, 14:00

0 Пользователи и 1 гость просматривают эту тему.

Sparkster

Цитата: Bigor от 25 апреля 2021, 13:46Вы бы все хотелки сразу описали бы  Смотрите файл. Возможно придется путь сохранения файла с текстом исправить
Я подправил путь, сохранил макрос и попробовал применить на реальном документе с точно такими же врезками. Мне выдается чистый файл.

sokol92

Выложите свой реальный документ вместе с макросами, оставив в нем только одну врезку и убрав все лишнее.
Владимир.

Sparkster

Цитата: sokol92 от 25 апреля 2021, 14:21Выложите свой реальный документ вместе с макросами, оставив в нем только одну врезку и убрав все лишнее.
Собирался выложить документ с одной врезкой со криптом, но с одной врезкой все работает. В документе более 200 страниц. Попытаюсь сам разобраться на какой странице скрипт дает сбой.

sokol92

Метод утенка.  ;D

При отладке на больших объемах еще полезен метод половинного деления (но не всегда срабатывает).
Владимир.

McAaron

Оригинальный файл "statutes.pdf" от "kompilainenn" 2016 переводится в odt элементарно.

1) скачиваем stattutes.pdf
2) вытаскиваем из него текст, используя pdftotext
3) создаем новый файл statutes.odt с требуемым шаблоном
3) открываем stattutes.txt и, не вглядываясь особо в результат, делаем Ctrl-A, Ctrl-C
4) сбрасываем буфер обмена в statutes.odt без форматирования (Shift-Ctrl-V) и сохраняем

Фсьо

Во вложении результат после п.п. 1-4






kompilainenn

ЕМНИП, мой файл - гибридный ПДФ и в дополнительных телодвижениях не нуждается
Поддержать разработчиков LibreOffice можно тут, а наш форум вот тут

Олег_Олег

Цитата: rami от  7 октября 2016, 16:16Если бы фигуры с текстом шли не вразброс, а по порядку, то проще простого
У меня вопрос. Я столкнулся с похожей ситуацией при распознавании документов в ABBY Finereader.
На выходе шапка документа создаётся с помощью множества произвольных врезок. Причём нумерация их идёт не по порядку в одной строке, а сверху вниз, таким образом, как будто Finereader разбивает шапку документа на несколько колонок. Поэтому получить правильный текст шапки документа при чтении очень сложно. Можно ли читать врезки не по номеру, а по их положению на странице, т.е. сначала читаются более верхние, а затем более нижние?   
 

economist

В FineReader воспользуйтесь ручной разметкой блоков перед распознаванием, а не на автомате. Порядок блоков определит и порядок вывода текста.

Возможно стоит попробовать свободный Tesseract и ПО на его базе, с ML он достиг качества почти как FR в части распознавания букв и рукописей, хорошо работает на зашумленных сканах с низким разрешением.
Руб. за сто, что Питоньяк
Любит водку и коньяк!
Потому что мне, без оных, -
Не понять его никак...

Олег_Олег

Цитата: economist от 30 мая 2023, 14:09В FineReader воспользуйтесь ручной разметкой блоков перед распознаванием, а не на автомате. Порядок блоков определит и порядок вывода текста.
Спасибо большое за подсказку, но для меня ручная разметка блоков не вариант. У меня каждый день вал документов для распознавания. Я импортирую эти данные в 1с и пока выхожу из положения собирая блоки с помощью своих алгоритмов импорта в самой 1с. Но они не всегда хорошо срабатывают. Поэтому и возник вопрос улучшить эти алгоритмы.

Цитата: economist от 30 мая 2023, 14:09Возможно стоит попробовать свободный Tesseract и ПО на его базе, с ML он достиг качества почти как FR в части распознавания букв и рукописей, хорошо работает на зашумленных сканах с низким разрешением.
Попробую. Интересно. А как в Tesseract обстоит дело с таблицами? 

Олег_Олег

Цитата: Олег_Олег от 30 мая 2023, 14:52Попробую. Интересно. А как в Tesseract обстоит дело с таблицами?
Нашёл сам ответ на свой вопрос о таблицах: https://habr.com/ru/articles/546824/

mikekaganski

Цитата: Олег_Олег от 30 мая 2023, 00:08Можно ли читать врезки не по номеру, а по их положению на странице

В этом ответе Lupp делал макрос, который именно учитывал относительное положение на странице, а не порядок создания объектов.
С уважением,
Михаил Каганский