Colony Print Infra-structure
Project description
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
- Cloud printing, with minimal configuration
- Multiple engine support (npcolony, gravo, text)
- XMPL to Binie conversion
- PDF generation with custom fonts and images
- GDI printing (Windows) via Colony NPAPI (npcolony)
- CUPS printing (Linux) via Colony NPAPI (npcolony)
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
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file colony_print-0.14.0.tar.gz.
File metadata
- Download URL: colony_print-0.14.0.tar.gz
- Upload date:
- Size: 50.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e64f0af6b302129775496170b77c5ad535ea059d38bb906d9268742772e3dd89
|
|
| MD5 |
b536c3ade9dbdb55a7049b1436dc2ce8
|
|
| BLAKE2b-256 |
587d10b040fe72e971d60c4ec253473efb77e618a51579da0bb0343f9e2dcc76
|
File details
Details for the file colony_print-0.14.0-py2.py3-none-any.whl.
File metadata
- Download URL: colony_print-0.14.0-py2.py3-none-any.whl
- Upload date:
- Size: 57.8 kB
- Tags: Python 2, Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d51c19e8ccc1d0940f5230a541a386ec65c0bec4e239cbf21494ee56fa3af1ac
|
|
| MD5 |
7c7a2c622eb6dba50a0e0780bdc0f215
|
|
| BLAKE2b-256 |
e177bae1603625be38c10b90771f72789174fd0c229ab86aa271c35db1c2a340
|