Skip to main content

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


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 AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page