Skip to content

About

NPAPI extensions for colony gateway

Resources

Stars

0 stars

Watchers

2 watching

Forks

Repository files navigation

NPAPI-based plugin that provides a series of native features like:

  • Printing using direct access to the printing infra-structure of the operative system
  • Creation of native-based GUI elements

The current implementation of the plugin supports only x86/x64 architectures and Windows, Linux, and Mac OS X, while the Python module also supports the ARM64 architecture.

Building

To build both the CRX (Google Chrome) and the XPI (Mozilla Firefox) files for the plugin one should use the scripts created for such effect under the scripts directory. The automated process assumes the Windows build process using the Visual Studio IDE.

Windows

Use Visual Studio 2008 Express for compilation with no additional dependencies. The build process should create the plugin files in the output.

Mac OS X

Download the Gecko SDK 1.9 32 bit from the official website.

Use the /Library/Internet Plug-Ins/ directory to test the plugin while the proper extension package file is not created. Remember to rename the *.bundle package into an *.plugin based package.

Linux

Use the /usr/lib/mozilla/plugins/ directory to test the *.so based plugin file for development purposes. Mozilla Firefox should be the primary browser for the debugging of the NPAPI-based plugin.

Python

It's also possible to build a Python module that exports the functionality in the NPAPI Plugin for running the python script as python setup.py install under an UNIX-based machine.

Prebuilt wheels are published to PyPI for Windows x64 (Python 3.6 to 3.14), Windows ARM64 (Python 3.11 to 3.14), Windows x86 compatible with Windows XP (Python 2.7 and 3.4), Mac OS X (Python 3.9 to 3.14, universal for both Intel and Apple Silicon) and Linux x64 and ARM64 with glibc 2.17 or newer (Python 3.9 to 3.14), the other platforms (eg: musl based ones like Alpine) and versions build the module from the source distribution when running pip install npcolony.

The Linux wheels use the CUPS library of the system, which must be installed (libcups2 under Debian and Ubuntu or cups-libs under Fedora and Red Hat).

Under a 64 bit Windows the Windows x86 wheels print to file (output_path) asynchronously, the file is written by the spooler after the print returns, so each print should use its own output path, as printing to a file that is still being written opens a dialog asking for another one.

Packaging

Google Chrome

Create a package file containing references to the complete set of plugin files for the various platforms as defined in the src/colony_npapi/descriptors/manifest_u.json file.

"plugins" : [{
    "path" : "npcolony.dll",
    "public" : true
}, {
    "path" : "libnpcolony.so",
    "public" : true
}, {
    "path" : "npcolony.plugin",
    "public" : true
}]

Copy the proper files (npcolony.dll, libnpcolony.so and npcolony.plugin) into the proper release directory and then run the make_all build script to create the target files (eg: cbx and xpi).

make_all build <dir>

Examples

There's an examples directory containing HTML samples to test the plugin.

License

Colony Gateway is currently licensed under the Apache License, Version 2.0.

Build Automation

Build Status PyPi Status License

About

NPAPI extensions for colony gateway

Resources

Stars

0 stars

Watchers

2 watching

Forks

Releases

Packages

Used by

Contributors

Languages