Basic tasks to convert and replace files using uno api
Project description
oodocument
Connects vía Uno bridge interface with libreoffice to perform simple format conversions and replace string over a document. Pypi Package link
Dependencies
If you are virtualenv user, you need to create with option --system-site-packages as it needs to use system site-packages which has uno module installed by $ sudo apt-get install python3-uno
. (Unfortunately, uno module is not available from pip).
sudo apt-get install libreoffice-common python3-uno
You must run headless libreoffice service (libreoffice executable can be different on different gnu/linux distros, another options can be soffice
or loffice
)
/usr/bin/libreoffice --headless --nologo --nofirststartwizard --accept="socket,host=0.0.0.0,port=8001;urp"
Features
- Search and replace
- Support font colors, background and clear hyperlinks
- Support file Conversion to pdf, txt, odt and docx
Install
pip install oodcument
Examples
Search and Replace
Will open input.docx file, search for holamundo String and replacing it by XXX, then would save the output to output.pdf with pdf format.
from oodocument import oodocument
data = {}
data['holamundo'] = 'XXX'
oo = oodocument('./input.docx', host='0.0.0.0', port=8001)
oo.replace_with(data, './output.pdf', 'pdf')
oo.dispose()
Search and Replace with Indexes
Will open input.docx file with holamundo String. The package will found indexes and replace mundo String and replacing it by XXX, then would save the output to output.pdf with pdf format.
In this case, you must build a 3-component tuple with the following format:(start_index,end_index,text_to_replace)
from oodocument import oodocument
data = []
data.append((5,10,'XXX'))
oo = oodocument('./input.docx', host='0.0.0.0', port=8001)
oo.replace_with_index(data, './output.pdf', 'pdf')
oo.dispose()
Another Feature is the possibility of adding an offset parameter in replace_with_index
from oodocument import oodocument
data = []
data.append((4,9,'XXX'))
oo = oodocument('./input.docx', host='0.0.0.0', port=8001)
oo.replace_with_index(data, './output.pdf', 'pdf',1)
oo.dispose()
Search and Replace with Indexes in Header
Will open input.docx file with holamundo String in header. You know the name of style contains header.In that case , the style name is "Default Style".
from oodocument import oodocument
data = []
header_style_name = "Default Style"
neighbor_character = 20
data.append((4, 10, "XXX", "mundo"))
oo = oodocument("./input.docx", host="0.0.0.0", port=8001)
oo.replace_with_index_in_header(data, "./output.pdf", "pdf", 0, neighbor_character, header_style_name)
oo.dispose()
Will open input.docx file, search for holamundo String and replacing it by XXX with yellow background and red color font, then would save the output to the same file.
from oodocument import oodocument
data = {}
data['holamundo'] = 'XXX'
oo = oodocument('./input.docx', host='0.0.0.0', port=8001)
oo.set_font_color(255, 255, 0)
oo.set_font_back_color(255, 0, 0)
oo.set_clear_hyperlinks(False) # default value is True
oo.replace_with(data)
oo.dispose()
Will convert input.docx file to output.txt file with txt format
from oodocument import oodocument
oo = oodocument('./input.docx', host='0.0.0.0', port=8001)
oo.convert_to('./output.txt', 'txt')
oo.dispose()
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
Built Distribution
File details
Details for the file oodocument-0.0.8.tar.gz
.
File metadata
- Download URL: oodocument-0.0.8.tar.gz
- Upload date:
- Size: 5.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.25.0 setuptools/50.3.0 requests-toolbelt/0.9.1 tqdm/4.50.0 CPython/3.8.2
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 52215e1c986cc82819c8f00f60721621b3619192fa9a01c4a2134a216b7cd718 |
|
MD5 | 1b1f3a7828456a1999a6d4422c7c81e8 |
|
BLAKE2b-256 | 2906cfbdd0ec682b35403590aa15c948cef879d4cc44787099bfee3420a81613 |
File details
Details for the file oodocument-0.0.8-py3-none-any.whl
.
File metadata
- Download URL: oodocument-0.0.8-py3-none-any.whl
- Upload date:
- Size: 17.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.25.0 setuptools/50.3.0 requests-toolbelt/0.9.1 tqdm/4.50.0 CPython/3.8.2
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8f4d0231dd156fa17dc2a4b16d1d42832db31233e4de099e00ff3caa3550b64c |
|
MD5 | a38cb539b0cb16f5315d2246a8f3422d |
|
BLAKE2b-256 | 690796ba05e0f0077ce838634b00c534e4570543cf5a5151f3ce1bbc9329e79f |