Sign inSign up

hivesolutions/colony_print

By hivesolutions

•Updated 7 days ago

Small web app for printing of colony based documents.

Image
Networking
0

500K+

hivesolutions/colony_print repository overview

⁠Colony Print Infra-structure⁠

Small web app for printing Colony-based documents.

This project includes two main components:

  • The Web App end-point that provides XML to Binie conversion colony_print.controllers
  • The structure conversion infra-structure (Visitors, AST, etc.) colony_print.printing

⁠Features

⁠Binie Specification

For a detailed understanding of the Binie file format used in this project, refer to the Binie File Format Specification⁠. This document outlines the structure and organization of the Binie file format, which is essential for developing compatible applications and tools.

⁠XMPL Specification

The XML Markup Language for Printing (XMPL) is integral to our document processing pipeline. For an in-depth understanding of the XMPL structure and its seamless convertibility to Binie, see the XMPL File Format Specification⁠.

⁠Installation

⁠Pre-requisites
apt-get install gcc python-dev
pip install --upgrade appier netius pillow reportlab
⁠Run Server
pip install colony_print
python -m colony_print.main
⁠Run Node
pip install colony_print
BASE_URL=$BASE_URL \
SECRET_KEY=$SECRET_KEY \
NODE_ID=$NODE_ID \
NODE_NAME=$NODE_NAME \
NODE_LOCATION=$NODE_LOCATION \
python -m colony_print.node
⁠Fonts

To be able to use new fonts (other than the ones provided by the system), one must install them into the /usr/share/fonts/truetype directory so they are exposed and ready to be used by the PDF generation infra-structure. For example, Calibri is one type of font that should be exported to a UNIX machine as many colony-generated documents use it.

⁠Engines

There are currently three engines available for printing in Colony Print:

  • npcolony - The Colony NPAPI⁠ engine, which is used for GDI printing on Windows and CUPS printing on Linux.
  • gravo - Which allows engraving of text and signatures using Gravo Pilot⁠.
  • text - A simple virtual printer text engine that prints text to a simple plain text file and returns the file.

⁠Admin UI

A React-based admin interface is available under frontends/admin/ for monitoring nodes, jobs and printers.

cd frontends/admin
npm install
npm run build

The built assets are output to src/colony_print/static/admin-ui/ and served at /admin-ui when the server is running.

⁠Development

To run a localhost development server, use the following commands:

PORT=8686 \
PYTHONPATH=$BASE_PATH/colony_print/src python \
$BASE_PATH/colony_print/src/colony_print/main.py

⁠License

Colony Print Infra-structure is currently licensed under the Apache License, Version 2.0⁠.

⁠Build Automation

Build Status PyPi Status License

Tag summary

Content type

Image

Digest

sha256:71e65bd05…

Size

181.1 MB

Last updated

7 days ago

docker pull hivesolutions/colony_print