diff --git a/README.md b/README.md index 93166bb..11e33e3 100644 --- a/README.md +++ b/README.md @@ -1,10 +1,14 @@ +-->[Русская версия](https://git.foxarmy.org/leca/checks-parser/src/branch/master/README.ru.md)<--> + # Checks parser checks parser is a program that help parsing different checks to csv. !!!CURRENTLY SUPPORTED ONLY RUSSIAN CHECKS!!! -To know why, see [this section](#Checks-from-different-countries) +To know why, see [this section](https://git.foxarmy.org/leca/checks-parser#checks-from-different-countries) # Usage +For more detailed description, please, refer to [the wiki](https://git.foxarmy.org/leca/checks-parser/wiki/Description-%5BEN%5D) + ### Input Ways you can input a check to this programm: * Via image (it uses OCR(Optical Character Recognition) to parse check content. The picture of a check must be contrast and well-lined (text must be perpendicular to right and left borders of an image) enough in order to be parsed well.) OCR is not a magic wand :( @@ -30,7 +34,7 @@ In general, you need to install following dependencies in order to build that ap Please, do not hesitate to open an issue if you cannot build that. I will help and if you are building on a distro that is not listed there, we can append that list as soon as we will solve your problem! ### Linux ##### Arch Linux-based -I recommend using aur helper (I use yay) to install dependencies. Or, if you're masochist, you can build all by yourself /shrug +I recommend using aur helper (I use yay) to install dependencies. Or, if you're masochist, you can build all by yourself ¯\\\_(ツ)\_/¯ ``` #Install dependencies yay -S base-devel qt5-base opencv zbar nlohmann-json tesseract @@ -65,7 +69,7 @@ sudo make install ``` ### Windows -See [Precompiled binaries](#Precompiled-binaries) +See [Precompiled binaries](https://git.foxarmy.org/leca/checks-parser#precompiled-binaries) ### Mac OS Probably not, I do not have nor desire or time. But if you can maintain that program on Mac, I'd be grateful! Please, contact me, if you can! @@ -76,7 +80,7 @@ Every new release will certainly contain AppImage and tarball. I am working towa # Special thanks -HyperFlint (@hyperflint:foxarmy.org) - for the great idea to use OFD! +HyperFlint (@hyperflint:foxarmy.org) - for the great idea to use OFD and a huge help in release preparations! https://check.ofd.ru - for providing a way to request data from FNS. diff --git a/README.ru.md b/README.ru.md new file mode 100644 index 0000000..35271f8 --- /dev/null +++ b/README.ru.md @@ -0,0 +1,104 @@ +-->[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```