Metadata-Version: 2.0
Name: py3o.renderserver
Version: 0.4.1
Summary: An easy solution to transform libreoffice/openoffice documents to supported formats
Home-page: http://bitbucket.org/faide/py3o.renderserver
Author: Florent Aide
Author-email: florent.aide@gmail.com
License: BSD License
Keywords: LibreOffice OpenOffice PDF
Platform: UNKNOWN
Classifier: Programming Language :: Python
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Requires-Dist: setuptools
Requires-Dist: pyf.station (>=2.0.1)
Requires-Dist: pyjon.utils (>=0.6)
Requires-Dist: py3o.renderers.juno (>=0.7)

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 :)


