-->[English version](https://git.foxarmy.org/leca/checks-parser/src/branch/master/README.md)<--> # Чек парсер Чек парсер - это приложение, позволяющее доставать содержимое чека и переводить его в .csv файлы. !!!НА ДАННЫЙ МОМЕНТ ПОДДЕРЖИВАЮТСЯ ТОЛЬКО РУССКИЕ ЧЕКИ!!! Чтобы узнать, почему [смотрите здесь](https://git.foxarmy.org/leca/checks-parser/src/branch/master/README.ru.md#checks-from-different-countries) # Пользование Для более детального описания, пожалуйста, обратитесь к [вики](https://git.foxarmy.org/leca/checks-parser/wiki/Description-%5BRU%5D) ### Ввод данных Доступны следующие способы ввода данных: * Через изображениие (используется 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 Смотрите [бинарники](https://git.foxarmy.org/leca/checks-parser/src/branch/master/README.ru.md#бинарники) ### Mac OS Скорее всего нет, у меня нет ни времени, ни желания, ни устройства. Но если вы можете собирать программу на Mac OS, я буду рад, если вы поможете. Пожалуйста, свяжитесь со мной, если можете! ## Бинарники На текущий момент я опубликовал программу в [АУР](https://aur.archlinux.org/packages/checks-parser-git). Каждый релиз будет содержать AppImage и арчёвский tarball. Я работаю над бинарниками для Windows и .deb пакетами. Ожидайте их в следующих релизах! # Особое спасибо HyperFlint (@hyperflint:foxarmy.org) - за гениальную идею использовать ОФД и огромную помощь в подготовке проекта к релизу! https://check.ofd.ru - за способ вытаскивать данные о чеках из ФНС. # Помощь Если вы хотите помочь проекту, вы можете сделать это следующими способами: ## Чеки из других стран Я живу в России и знаком только с местной системой чеков. Если вы живёте в другой стране и хотите помочь мне с поддержкой чеков из Вашей страны - свяжитесь со мной! ## Issues и PRs Если вы нашли баг или хотите предложить что-то в программу - не стесняйтесь и открывайте issue или PR! ## Рассказать друзьями Вы можете помочь проекту, распространяя программу. Если вы знаете людей, которые ищут подобную программу, пожалуйста, дайте им знать о существовании таковой! ## Пожертвования ```XMR 45ZjyH5YWdRfKxLoKEBYaiHUTcP5Z8Gv64QQxmabbooPAa7KPBxZLmqft5ohKXn5VpHiVj1x9JKCcAcAjdu9jA8b5N8XqR7```