105 lines
8.5 KiB
Markdown
105 lines
8.5 KiB
Markdown
-->[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```
|