Skip to main content

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

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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

colony_print-0.14.0.tar.gz (50.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

colony_print-0.14.0-py2.py3-none-any.whl (57.8 kB view details)

Uploaded Python 2Python 3

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

Hashes for colony_print-0.14.0.tar.gz
Algorithm Hash digest
SHA256 e64f0af6b302129775496170b77c5ad535ea059d38bb906d9268742772e3dd89
MD5 b536c3ade9dbdb55a7049b1436dc2ce8
BLAKE2b-256 587d10b040fe72e971d60c4ec253473efb77e618a51579da0bb0343f9e2dcc76

See more details on using hashes here.

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

Hashes for colony_print-0.14.0-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 d51c19e8ccc1d0940f5230a541a386ec65c0bec4e239cbf21494ee56fa3af1ac
MD5 7c7a2c622eb6dba50a0e0780bdc0f215
BLAKE2b-256 e177bae1603625be38c10b90771f72789174fd0c229ab86aa271c35db1c2a340

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page