Skip to main content

A Java based driver for py3o

Project description

Juno for py3o

py3o.renderers.juno is a Java driver for py3o to transform an OpenOffice document into a PDF

It is intended to be used in conjunction with py3o.renderserver But can be used outside it if you wish.

Note for end-users

If you just search for an easy way to render LibreOffice files to PDF or DOCX, with ot without templating capabilities, you should directly look at py3o.fusion

py3o.fusion is a packaged webservice that lets you send a template, a target format and your data

and will return the resulting file.

Prerequisites

Since this is a Java implementation you will need to install jpype1 and to have a recent Java runtime on the rendering machine. You will also need a running OpenOffice instance. (If you are on windows this can be addressed by using the py3o.renderserver Open Office service.)

This has been tested to build correctly with:

  • Oracle JDK 1.6 and OpenOffice 3.2.1 on Windows 7 and Windows server 2003

  • Oracle JDK 1.6 and LibreOffice 3.4 on Windows 7 64bit

  • OpenJDK 6 and LibreOffice 3.4 on Linux (Ubuntu and RHEL 5)

  • OpenJDK 7 and LibreOffice 4.0.4 on Linux (Ubuntu 13.04)

  • OpenJDK 7 and LibreOffice 4.2.4.2 on Linux (Ubuntu 14.04)

For example if you are on Ubuntu you should run this command:

$ sudo apt-get install default-jdk

Usage

from py3o.renderers.juno import start_jvm, Convertor, formats
import datetime

# first arg is the jvm.so or .dll
# second arg is the basedir where we can find the basis3.3/program/classes/unoil.jar
# third argument it the ure basedir where we can find ure/share/java/*.jar containing
# java_uno.jar, juh.jar, jurt.jar, unoloader.jar
# the fourth argument was the openoffice version but is no more used
# fifth argument is the max memory you want to give to the JVM
start_jvm(
        "/usr/lib/jvm/java-7-openjdk-amd64/jre/lib/amd64/server/libjvm.so",
        "/usr/lib/libreoffice",
        "/usr/lib",
        "",
        140)
c = Convertor("127.0.0.1", "8997")

t1 = datetime.datetime.now()
c.convert("py3o_example.odt", "py3o_example.pdf", formats['PDF'])
t2 = datetime.datetime.now()

For more information please read the example provided in the examples dir and read the API documentation.

Installation

$ pip install –upgrade py3o.renderers.juno

Requirements

We just made a change of requirement from jpype to jpype1 in version 0.6 which should be pip installable by anyone with the correct toolchain. This means all requirements should now install automatically on a development machine.

Driver compilation and installation

NOTE: this is optionnal and reserved for developpers who want to compile the jar file by themselves

If you want to install from source you’ll need to clone our repository:

$ hg clone http://bitbucket.org/faide/py3o.renderers.juno
$ cd py3o.renderers.juno/java/py3oconvertor
$ ./compile.sh
$ cd ../../
$ python setup.py develop

Please note how you must first compile the jar file with our script (some more example scripts are available for windows and OpenOffice). If something fails, first try to edit the script and find if all referenced jar files are present on your system.

Contributors

By order of appearance:

  • Florent Aide

  • Thomas Desvenain

  • Eric Bréhault

Release Notes

2016-11-28 0.8

Update java classpath depending on plateform (Thomas Desvenain & Eric Bréhault)

Project details


Download files

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

Source Distributions

py3o.renderers.juno-0.8.zip (52.8 kB view details)

Uploaded Source

py3o.renderers.juno-0.8.tar.gz (41.0 kB view details)

Uploaded Source

Built Distributions

py3o.renderers.juno-0.8-py2.7.egg (12.8 kB view details)

Uploaded Source

py3o.renderers.juno-0.8-py2-none-any.whl (12.4 kB view details)

Uploaded Python 2

File details

Details for the file py3o.renderers.juno-0.8.zip.

File metadata

File hashes

Hashes for py3o.renderers.juno-0.8.zip
Algorithm Hash digest
SHA256 ff32cb8cbe6be74b66abf1ac51e4d0069a846aa253f43d7567baab378b670a71
MD5 6841e1fa9ca2784cd1d0f70ac09ba94f
BLAKE2b-256 fa2491c8fd9feead094829d93f8c45bb13706c900ff30390029f2a8bcb6d357c

See more details on using hashes here.

File details

Details for the file py3o.renderers.juno-0.8.tar.gz.

File metadata

File hashes

Hashes for py3o.renderers.juno-0.8.tar.gz
Algorithm Hash digest
SHA256 bb246da542d01b08cab01858aabeb59cb08ef4070fd121f905ac1ea70e68a81b
MD5 c84c4598703911b4c58b784e8e183507
BLAKE2b-256 facf5c5b6e9050391c2e684256b36d12b2916d3aafae3e7c721c36c7ad3ae2ad

See more details on using hashes here.

File details

Details for the file py3o.renderers.juno-0.8-py2.7.egg.

File metadata

File hashes

Hashes for py3o.renderers.juno-0.8-py2.7.egg
Algorithm Hash digest
SHA256 249f06b7c82564aeece3d33bea1b57cf762890c0b5aa2e5c9fcbeb7c2e022381
MD5 2716373950a8099a4c16922779df1849
BLAKE2b-256 96f283e25abe9b12b04ed750cbba49ef6137d8c2268b696b54b9fdef63a204dd

See more details on using hashes here.

File details

Details for the file py3o.renderers.juno-0.8-py2-none-any.whl.

File metadata

File hashes

Hashes for py3o.renderers.juno-0.8-py2-none-any.whl
Algorithm Hash digest
SHA256 8ea09ba34c6ab0af1a64c6d487ab52238395969bae6f5068073260ab6b1c2c9e
MD5 780eac25d9fd5052af932187d55cc6e9
BLAKE2b-256 0b213a541705d970867849f120a4591792205c3cb8b885b1c1964a52ebb53350

See more details on using hashes here.

Supported by

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