Skip to main content

Easily convert your CALS, HTML, Formex4, Office Open XML (docx) tables from one format to another.

Project description

Latest PyPI version Latest Travis CI build status Latest AppVeyor build status GitHub license

Easily convert your CALS, HTML, Formex4, Office Open XML (docx) tables from one format to another.

Overview

To convert the tables of a .docx document to CALS format, you can process as follow:

import os
import zipfile

from benker.converters.ooxml2cals import convert_ooxml2cals

# - Unzip the ``.docx`` in a temporary directory
src_zip = "/path/to/demo.docx"
tmp_dir = "/path/to/tmp/dir/"
with zipfile.ZipFile(src_zip) as zf:
    zf.extractall(tmp_dir)

# - Source paths
src_xml = os.path.join(tmp_dir, "word/document.xml")
styles_xml = os.path.join(tmp_dir, "word/styles.xml")

# - Destination path
dst_xml = "/path/to/demo.xml"

# - Create some options and convert tables
options = {
    'encoding': 'utf-8',
    'styles_path': styles_xml,
    'width_unit': "mm",
    'table_in_tgroup': True,
}
convert_ooxml2cals(src_xml, dst_xml, **options)

Installation

To install this library, you can create and activate a virtualenv, and run:

pip install benker

Requirements

This library uses lxml library and is tested with the versions 3.8 and 4.*x*.

The following table shows the compatibility between different combinations of Python and lxml versions:

Py ╲ lxml

3.8

4.0

4.1

4.2

4.3

4.4

4.5

4.6

2.7

✔️

✔️

✔️

✔️

✔️

✔️

✔️

✔️

3.4

✔️!

✔️!

✔️!

✔️!

✔️!

✖️

✖️

✖️

3.5

✔️

✔️

✔️

✔️

✔️

✔️

✔️

✔️

3.6

✔️

✔️

✔️

✔️

✔️

✔️

✔️

✔️

3.7

✖️

✖️

✔️

✔️

✔️

✔️

✔️

✔️

3.8

✖️

✖️

✖️

✖️

✔️

✔️

✔️

✔️

3.9

✖️

✖️

✖️

✖️

✔️

✔️

✔️

✔️

  • ✔️ lxml is available for this version and unit tests succeed.

  • ! installation succeed using “attrs < 21.1”.

  • ✖️ lxml is not available for this version of Python.

Usage in your library/application

You can use this library in your own library/application.

To do so, add this library in your setup.py in your project requirements:

setup(
    name="YourApp",
    install_requires=['benker'],
    ...
)

To install the dependencies, activate your virtualenv and run:

pip install -e .

And enjoy!

Licence

This library is distributed according to the MIT licence.

Users have legal right to download, modify, or distribute the library.

Authors

Benker was written by Laurent LAPORTE.

Project details


Download files

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

Source Distribution

Benker-0.5.4.tar.gz (889.2 kB view details)

Uploaded Source

Built Distribution

Benker-0.5.4-py2.py3-none-any.whl (446.5 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file Benker-0.5.4.tar.gz.

File metadata

  • Download URL: Benker-0.5.4.tar.gz
  • Upload date:
  • Size: 889.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.6.0 importlib_metadata/4.8.2 pkginfo/1.5.0.1 requests/2.23.0 requests-toolbelt/0.9.1 tqdm/4.46.0 CPython/3.6.8

File hashes

Hashes for Benker-0.5.4.tar.gz
Algorithm Hash digest
SHA256 1f9b96473926ab4d6e56743af4732134127b10be345616bc5480d23526c6a979
MD5 e2b24f867a2e093076aec1c8f9574896
BLAKE2b-256 250f89956345b3a950b80bf3bb978981bb165c7f50f8a00fc7168cff6e0c282a

See more details on using hashes here.

File details

Details for the file Benker-0.5.4-py2.py3-none-any.whl.

File metadata

  • Download URL: Benker-0.5.4-py2.py3-none-any.whl
  • Upload date:
  • Size: 446.5 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.6.0 importlib_metadata/4.8.2 pkginfo/1.5.0.1 requests/2.23.0 requests-toolbelt/0.9.1 tqdm/4.46.0 CPython/3.6.8

File hashes

Hashes for Benker-0.5.4-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 44803f6742dc64068c3820a8978d51e506d37698ec12a14b9f07f07e6137ebcf
MD5 6346f5d695069e42b1230277c83c1497
BLAKE2b-256 b4288c2c81369cc2947995fdfc5dab992ffec22757cce1ab2e80be8bcebb6a45

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