Skip to main content
Help us improve PyPI by participating in user testing. All experience levels needed!

Python CFFI wrapper for LibreOfficeKit

Project description

A python CFFI wrapper for LibreOfficeKit. Tested in cpython2, cpython3, and pypy.

Requirements

An installation of LibreOffice >= 4.3.0 is required on the same machine.

If you are using cpython you need libffi-dev in order to compile CFFI.

Installation

pip install pylokit

Examples

A basic conversion from a rtf file to a doc:

from pylokit import Office
import os

lo_path = "/path/to/libreoffice/program/dir"

with Office(lo_path) as lo:
    with lo.documentLoad("myfile.rtf") as doc:
        doc.saveAs("myfile.doc")

os._exit(0)

Same conversion passing an explicit format and filter options:

from pylokit import Office
import os

lo_path = "/path/to/libreoffice/program/dir"

with Office(lo_path) as lo:
    with lo.documentLoad("myfile.rtf") as doc:
        doc.saveAs("myfile.doc", fmt="docx", options="skipImages")

os._exit(0)

The usage of a context manager is needed to properly handle LibreOfficeKit file locking. The use of _exit() instead of default exit() is required because in some circumstances LibreOffice segfaults on process exit.

Acknowledgements

Project inspired by Olly Betts’ lloconv.

Project details


Release history Release notifications

This version
History Node

0.8.1

History Node

0.8.0

History Node

0.6.0

History Node

0.5.0

Download files

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

Filename, size & hash SHA256 hash help File type Python version Upload date
pylokit-0.8.1.tar.gz (11.1 kB) Copy SHA256 hash SHA256 Source None Jan 28, 2016

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging CloudAMQP CloudAMQP RabbitMQ AWS AWS Cloud computing Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page