Skip to main content

An easy solution to transform libreoffice/openoffice documents to supported formats

Project description

Overview
========

This is a rendering server that will wrap an OpenOffice/LibreOffice server and provide
a pythonic API which is remotely callable.

The main advantage is that your client code does not need to import pyuno... This
is a main plus because pyuno is a pain to get working on Windows and some flavors of
Linux, don't even think of Mac :)

Once you deploy a py3o.renderserver all you need in your python code is to use the
`py3o.renderclient`_ which is really straightforward...

.. _py3o.renderclient http://bitbucket.org/faide/py3o.renderclient

Deployment
==========

We recommend you use the dockerized versions from the `dockerhub`_ .

.. _dockerhub: https://registry.hub.docker.com/u/xcgd/py3oserver-docker/

Using this way you'll get the latest tested version of LibreOffice and py3o.renderserver without the hassle of building all the dependencies...

Manual Installation
===================

Requirements
~~~~~~~~~~~~

Install the latest JDK for your plateform. Here is an example for Ubuntu (13.04 or 14.04)::

apt-get install default-jdk

This will give you the necessary tools to compile the juno driver.

You will need to install (and compile) the `py3o.renderers.juno`_ driver.

.. _py3o.renderers.juno: http://bitbucket.org/faide/py3o.renderers.juno

Follow the instructions from the driver's documentation to install it and then you're ready to start your own RenderServer

Running the server
~~~~~~~~~~~~~~~~~~

Here is how we start the server on a Linux host (Ubuntu 13.04)::

$ start-py3o-renderserver --java=/usr/lib/jvm/java-7-openjdk-amd64/jre/lib/amd64/server/libjvm.so --ure=/usr/lib --office=/usr/lib/libreoffice --driver=juno --sofficeport=8997

You MUST have a running LibreOffice (OpenOffice) server somewhere. In our example it is running on localhost with port 8997. Here is how you can start such a server on Linux (Ubuntu 13.04 / LibreOffice 4.0.4)::

$ libreoffice --nologo --norestore --invisible --headless --nocrashreport --nofirststartwizard --nodefault --accept="socket,host=localhost,port=8997;urp;"

As you can see it works with OpenJDK, LibreOffice and even on 64bit systems :)

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.renderserver-0.4.1.zip (18.1 kB view hashes)

Uploaded Source

py3o.renderserver-0.4.1.tar.gz (10.3 kB view hashes)

Uploaded Source

Built Distributions

py3o.renderserver-0.4.1-py2.7.egg (26.9 kB view hashes)

Uploaded Source

py3o.renderserver-0.4.1-py2-none-any.whl (16.2 kB view hashes)

Uploaded Python 2

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