# [Colony Print Infra-structure](http://colony-print.hive.pt)
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
* XMPL to Binie conversion
* PDF generation with custom fonts and images
* [GDI](https://en.wikipedia.org/wiki/Graphics_Device_Interface) printing (Windows) via [Colony NPAPI (npcolony)](https://github.com/hivesolutions/colony-npapi)
* [CUPS](https://en.wikipedia.org/wiki/CUPS) printing (Linux) via [Colony NPAPI (npcolony)](https://github.com/hivesolutions/colony-npapi)
## Binie Specification
For a detailed understanding of the Binie file format used in this project, refer to the [Binie File Format Specification](doc/binie.md). 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](doc/xmpl.md).
## Installation
### Pre-requisites
```bash
apt-get install gcc python-dev
pip install --upgrade appier netius pillow reportlab
```
### Run Server
```bash
pip install colony_print
python -m colony_print.main
```
### Run Node
```bash
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.
## Development
To run a localhost development server, use the following commands:
```bash
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](http://www.apache.org/licenses/).
## Build Automation
[![Build Status](https://app.travis-ci.com/hivesolutions/colony-print.svg?branch=master)](https://travis-ci.com/github/hivesolutions/colony-print)
[![Coverage Status](https://coveralls.io/repos/hivesolutions/colony-print/badge.svg?branch=master)](https://coveralls.io/r/hivesolutions/colony-print?branch=master)
[![PyPi Status](https://img.shields.io/pypi/v/colony-print.svg)](https://pypi.python.org/pypi/colony-print)
[![License](https://img.shields.io/badge/license-Apache%202.0-blue.svg)](https://www.apache.org/licenses/)
Raw data
{
"_id": null,
"home_page": "http://colony-print.hive.pt",
"name": "colony-print",
"maintainer": null,
"docs_url": null,
"requires_python": null,
"maintainer_email": null,
"keywords": "colony print native",
"author": "Hive Solutions Lda.",
"author_email": "development@hive.pt",
"download_url": "https://files.pythonhosted.org/packages/0b/2f/da0e48d8e2f7c5bc3fc230d2bd3bbd2a66d25c265d193ef9e090dc835994/colony-print-0.3.3.tar.gz",
"platform": null,
"description": "# [Colony Print Infra-structure](http://colony-print.hive.pt)\n\nSmall web app for printing Colony-based documents.\n\nThis project includes two main components:\n\n* The Web App end-point that provides XML to Binie conversion `colony_print.controllers`\n* The structure conversion infra-structure (Visitors, AST, etc.) `colony_print.printing`\n\n## Features\n\n* XMPL to Binie conversion\n* PDF generation with custom fonts and images\n* [GDI](https://en.wikipedia.org/wiki/Graphics_Device_Interface) printing (Windows) via [Colony NPAPI (npcolony)](https://github.com/hivesolutions/colony-npapi)\n* [CUPS](https://en.wikipedia.org/wiki/CUPS) printing (Linux) via [Colony NPAPI (npcolony)](https://github.com/hivesolutions/colony-npapi)\n\n## Binie Specification\n\nFor a detailed understanding of the Binie file format used in this project, refer to the [Binie File Format Specification](doc/binie.md). This document outlines the structure and organization of the Binie file format, which is essential for developing compatible applications and tools.\n\n## XMPL Specification\n\nThe 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](doc/xmpl.md).\n\n## Installation\n\n### Pre-requisites\n\n```bash\napt-get install gcc python-dev\npip install --upgrade appier netius pillow reportlab\n```\n\n### Run Server\n\n```bash\npip install colony_print\npython -m colony_print.main\n```\n\n### Run Node\n\n```bash\npip install colony_print\nBASE_URL=$BASE_URL \\\nSECRET_KEY=$SECRET_KEY \\\nNODE_ID=$NODE_ID \\\nNODE_NAME=$NODE_NAME \\\nNODE_LOCATION=$NODE_LOCATION \\\npython -m colony_print.node\n```\n\n### Fonts\n\nTo be able to use new fonts (other than the ones provided by the system), one must install them\ninto the `/usr/share/fonts/truetype` directory so they are exposed and ready to\nbe used by the PDF generation infra-structure. For example, Calibri is one type of font that should\nbe exported to a UNIX machine as many colony-generated documents use it.\n\n## Development\n\nTo run a localhost development server, use the following commands:\n\n```bash\nPORT=8686 \\\nPYTHONPATH=$BASE_PATH/colony_print/src python \\\n$BASE_PATH/colony_print/src/colony_print/main.py\n```\n\n## License\n\nColony Print Infra-structure is currently licensed under the [Apache License, Version 2.0](http://www.apache.org/licenses/).\n\n## Build Automation\n\n[![Build Status](https://app.travis-ci.com/hivesolutions/colony-print.svg?branch=master)](https://travis-ci.com/github/hivesolutions/colony-print)\n[![Coverage Status](https://coveralls.io/repos/hivesolutions/colony-print/badge.svg?branch=master)](https://coveralls.io/r/hivesolutions/colony-print?branch=master)\n[![PyPi Status](https://img.shields.io/pypi/v/colony-print.svg)](https://pypi.python.org/pypi/colony-print)\n[![License](https://img.shields.io/badge/license-Apache%202.0-blue.svg)](https://www.apache.org/licenses/)\n\n\n",
"bugtrack_url": null,
"license": "Apache License, Version 2.0",
"summary": "Colony Print Infra-structure",
"version": "0.3.3",
"project_urls": {
"Homepage": "http://colony-print.hive.pt"
},
"split_keywords": [
"colony",
"print",
"native"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "91a182b1b08ac541b8f5f3bf9a23b354db7851e4aab76d862cfbb9adb7ada3fa",
"md5": "c774af0d9ffbe35608a4a2cd01024c25",
"sha256": "5008fe6d824b58f34d681460108636f8802b71fa176935bbd06084e0234e540b"
},
"downloads": -1,
"filename": "colony_print-0.3.3-py2.py3-none-any.whl",
"has_sig": false,
"md5_digest": "c774af0d9ffbe35608a4a2cd01024c25",
"packagetype": "bdist_wheel",
"python_version": "py2.py3",
"requires_python": null,
"size": 51508,
"upload_time": "2024-05-02T08:33:04",
"upload_time_iso_8601": "2024-05-02T08:33:04.359169Z",
"url": "https://files.pythonhosted.org/packages/91/a1/82b1b08ac541b8f5f3bf9a23b354db7851e4aab76d862cfbb9adb7ada3fa/colony_print-0.3.3-py2.py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "0b2fda0e48d8e2f7c5bc3fc230d2bd3bbd2a66d25c265d193ef9e090dc835994",
"md5": "066daca24a06885edd60d15632699ce1",
"sha256": "7fcb75410e24dbabf8d25103ce9224597dcd531f1d1a8ec7d32e0b2edd8355d3"
},
"downloads": -1,
"filename": "colony-print-0.3.3.tar.gz",
"has_sig": false,
"md5_digest": "066daca24a06885edd60d15632699ce1",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 43250,
"upload_time": "2024-05-02T08:33:05",
"upload_time_iso_8601": "2024-05-02T08:33:05.681827Z",
"url": "https://files.pythonhosted.org/packages/0b/2f/da0e48d8e2f7c5bc3fc230d2bd3bbd2a66d25c265d193ef9e090dc835994/colony-print-0.3.3.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-05-02 08:33:05",
"github": false,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"lcname": "colony-print"
}