A learning project for Apache POI. Draws an image into the background of a spreadsheet.
The quickest and easiest way of trying out this project is with Docker Compose:
docker-compose up --build
In simple terms, an image is read, pixel by pixel and the background colour of a single cell is filled in that colour.
Some image compression is done to make this take a sane amount of time, primarily, scaling images, and restricting the colour space, as both of these have significant time implications on rendering an image.
There are two different artifacts from this project:
- A CLI tool (bg-main), which picks up images from a directory, and converts them to a single spreadsheet.
- A web version (bg-web), which hosts a site with an image upload form, that provides downloads for converted sheets.
There are also two common library modules:
- The core images to XSLX library (bg-poi).
- A basic image compression library (bg-compression), that currently provides
- Image size restriction
- Colour quantisation
The project is managed with Maven, and can be compiled from source by running
mvn clean install
from the top level of the project.