checks-parser/README.ru.md

8.5 KiB
Raw Blame History

-->English version<--

Чек парсер

Чек парсер - это приложение, позволяющее доставать содержимое чека и переводить его в .csv файлы.

!!!НА ДАННЫЙ МОМЕНТ ПОДДЕРЖИВАЮТСЯ ТОЛЬКО РУССКИЕ ЧЕКИ!!! Чтобы узнать, почему смотрите здесь

Пользование

Для более детального описания, пожалуйста, обратитесь к вики

Ввод данных

Доступны следующие способы ввода данных:

  • Через изображениие (используется OCR(Optical Character Recognition, Оптическое распознавание символов) чтобы прочитать содержимое чека. Изображение чека должно быть контрастным и выровненным (текст обязан быть перпендикулярным к границам изображения) хорошо, чтобы нормально прочитаться.) OCR - не волшебная палочка :(
  • Через просто текст, скопированный из эл. письма. Просто скопируйте и вставьте текст с вашего письма, выберите подходящий магазин (автодетект в планах!) и парсите.
  • Через QRCode на чеке (этот метод запрашивает данные у ОФД (Оператор Фискальных Данных) (В данном конкретном случае, к ofd.ru)).

Вывод данных

На начальном этапе разработки программы, Я задумывался о 3 или более форматов вывода: csv, xlsx и ods. Но по мере разработки, я понял, что большинство современных табличных процессоров (электронных таблиц) способны импортировать в себя csv гораздо лучше, чем смог бы написать я сам. Так что я решил не делать вывод во все остальные форматы, кроме csv.

Чтобы экспортировать, вам нужно указать путь до файла, если вы желаете, вы можете изменить порядок и/или переименовать (алиасы) столбцы, выбрать печатать или не печатать заголовок (алиасы столбцов) и "итого"

Установка

Сборка из исходников

В целом, вам нужно установить следующие зависимости чтобы собрать приложение (я предполагаю, что вы уже имеете на системе базовые пакеты вроде cmake, make, gcc, git и так далее):

  • tesseract (также вам нужно будет установить языковой пакет для него, например tesseract-data-rus на Arch Linux или tesseract-ocr-rus на Debian Linux.)
  • opencv
  • zbar
  • curl
  • nlohmann-json
  • qt5
  • vtk

Пожалуйста, не стесняйтесь и открывайте issue, если вы не можете собрать приложение. Я помогу вам, и если вы собираете приложение на дистрибутиве, который здесь не перечислен, как только мы решим вашу проблему, я добавлю новый дистрибутив в этот список!

Linux

Arch Linux и ответвления

Я рекомендую использовать помощник для АУРа (я использую yay) чтобы установить зависимости. Или, если вы мазохист, можете собрать все зависимости ручками ¯\_(ツ)_/¯

#Установка зависимостей
yay -S base-devel qt5-base opencv zbar nlohmann-json tesseract
#Установка языкового пакета для OCR. Замените ``LANG` на желаемый язык. Например, ``tesseract-data-rus`` для русского языка
yay -S tesseract-data-LANG
#Загрузка исходгого кода и сборка приложения
git clone https://git.foxarmy.org/leca/checks-parser
cd checks-parser
cmake .
make -j{nproc}
#Если вы хотите скопировать запускной файл в свою систему, исполните:
sudo make install
Debian и ответвления

В debian и ответвлениях большинство, но не все, имена пакетов одинаковы.

Установка зависимостей для различных debian дистрибутивов:

Ubuntu 18.04

apt install -y qtbase5-dev openssl libmbedtls-dev tesseract-ocr tesseract-ocr-rus libopencv-dev libzbar-dev qttools5-dev nlohmann-json-dev libcurl4-openssl-dev libtesseract-dev

Ubuntu 20.04, LMDE (проверил только 6), Debian (проверил только 12)

apt install -y qtbase5-dev openssl libmbedtls-dev tesseract-ocr tesseract-ocr-rus libopencv-dev libzbar-dev qttools5-dev nlohmann-json3-dev libcurl4-openssl-dev libtesseract-dev

Следующие шаги идеинтичны для всех дистрибутивов, основанных на debian:

#Загрузка исходного кода и сборка приложения 
git clone https://git.foxarmy.org/leca/checks-parser
cd checks-parser
cmake .
make -j{nproc}
#Если вы хотите скопировать запускной файл в свою систему, исполните:
sudo make install

Windows

Смотрите бинарники

Mac OS

Скорее всего нет, у меня нет ни времени, ни желания, ни устройства. Но если вы можете собирать программу на Mac OS, я буду рад, если вы поможете. Пожалуйста, свяжитесь со мной, если можете!

Бинарники

На текущий момент я опубликовал программу в АУР.

Каждый релиз будет содержать AppImage и арчёвский tarball. Я работаю над бинарниками для Windows и .deb пакетами. Ожидайте их в следующих релизах!

Особое спасибо

HyperFlint (@hyperflint:foxarmy.org) - за гениальную идею использовать ОФД и огромную помощь в подготовке проекта к релизу!

https://check.ofd.ru - за способ вытаскивать данные о чеках из ФНС.

Помощь

Если вы хотите помочь проекту, вы можете сделать это следующими способами:

Чеки из других стран

Я живу в России и знаком только с местной системой чеков. Если вы живёте в другой стране и хотите помочь мне с поддержкой чеков из Вашей страны - свяжитесь со мной!

Issues и PRs

Если вы нашли баг или хотите предложить что-то в программу - не стесняйтесь и открывайте issue или PR!

Рассказать друзьями

Вы можете помочь проекту, распространяя программу. Если вы знаете людей, которые ищут подобную программу, пожалуйста, дайте им знать о существовании таковой!

Пожертвования

XMR 45ZjyH5YWdRfKxLoKEBYaiHUTcP5Z8Gv64QQxmabbooPAa7KPBxZLmqft5ohKXn5VpHiVj1x9JKCcAcAjdu9jA8b5N8XqR7