checks-parser/README.md

74 lines
3.5 KiB
Markdown
Raw Normal View History

2024-11-22 23:26:42 +03:00
# Checks parser
2024-11-25 04:31:08 +03:00
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)
2024-11-22 23:26:42 +03:00
# Usage
### 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.)
* Via plaintext, copied from an E-Mail. Just copy&paste text from your email, pick a correct store type (autodetect is in my plans!) and parse.
2024-11-25 04:31:08 +03:00
* Via a picture of a check. Be sure to make the image straight and sharp. OCR is not a magic wand :(
2024-11-22 23:26:42 +03:00
* Via QrCode on check (OFD (ОФД, Оператор Фискальных Данных in Russian)). **[!NOT IMPLEMENTED YET!]**
### Output
At the start of writing this program, I considered 3 or more output formats: csv, xlsx and ods. But throught the development I understood that most of modern table processor (i.e. electronic tables) can import csv much better than I'd be writing a shitty export module, adding more dependencies and shitty code to the codebase. So I decided that there's no need to use anything other than csv format.
To export, you need to specify an output file path and, if you wish, you can change order and/or rename columns, choose to print or not to print header (column names) and total.
# Installing
## Building
2024-11-25 04:31:08 +03:00
In general, you need to install following dependencies in order to build that app(I suppose you have installed all the build necessaries such as cmake, make, gcc, git, etc...):
2024-11-22 23:26:42 +03:00
* tesseract (you also have to install appropriate for your needs language data)
* opencv
2024-11-25 04:31:08 +03:00
* zbar
2024-11-22 23:26:42 +03:00
* curl
* nlohmann-json
* qt5
* vtk
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
I recommend using aur helper (I use yay) to install dependencies. Or, if you're masochist, you can build all by yourself /shrug
```
#Install dependencies
2024-11-25 04:31:08 +03:00
yay -S sudo cmake git coreutils base-devel eigen qt5-base mbedtls gtkglext opencv opencv2 zbar nlohmann-json tesseract tesseract-data-rus vtk
2024-11-22 23:26:42 +03:00
#Clone and compile an app
git clone https://git.foxarmy.org/leca/checks-parser
cd checks-parser
mkdir build
cd build
cmake ..
make -j{nproc}
#If you wish to install that program system-wide, run
sudo make install
```
##### Debian
TODO
### Windows
Maybe
### 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!
2024-11-25 04:31:08 +03:00
## Precompiled binaries
2024-11-22 23:26:42 +03:00
I plan to make precompiled binaries for Linux and Windows. Maybe I will put it on AUR. I also think that I will be making an AppImage
2024-11-25 04:31:08 +03:00
# Contribution
If you want to contribute to the project, you can do it by some of the following:
## Checks from different countries
I live in Russia and only know how Russian state checks system works. If you live in another country and want to help me with adding support to checks from you country - feel free to contact me!
## Issues and PRs
If you have found a bug, or want to suggest a feature - don't hesitate to open an issue / PR!
## Tell friends
You can help me by distributing that program. If you know people that are in search of such program, please let them know about its existance!
## Donate
```XMR 45ZjyH5YWdRfKxLoKEBYaiHUTcP5Z8Gv64QQxmabbooPAa7KPBxZLmqft5ohKXn5VpHiVj1x9JKCcAcAjdu9jA8b5N8XqR7```