Skip to content
/ oodocx Public

Python library for creating, reading, and modifying Docx files for Microsoft Word

License

Notifications You must be signed in to change notification settings

etfre/oodocx

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

43 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

oodocx

Note: I cut my teeth programming this project. As a result, the code is questionably written, poorly modularized, and lacks anything even remotely resembling a testing suite. That said, everything works as it should, and it contains several features that the superiorly constructed python-docx currently lacks. As a result, for the time being at least, this repository will remain available.

Installation

First, ensure that you have the appropriate version of lxml installed. Then, clone this repository, navigate your shell window to the oodocx directory folder that contains the setup.py file, and enter "python setup.py install" (or just "setup.py install", depending on how you execute python files on your computer)

How do I...

First of all, be sure to check out the /examples folder for basic examples of this module

Create a new document, insert a paragraph of text, and save it

d = oodocx.Docx()
d.body.append(oodocx.paragraph('Hello world!'))
d.save('hello.docx')

Open a document, insert a paragraph after the paragraph containing the word "apple", and save it somewhere else

d = oodocx.Docx(r'C:\users\applecart\apples.docx')
apple_para = d.search('apple', result_type='paragraph')
pos = body.index(apple_para) + 1 #lxml
d.body.insert(pos, oodocx.paragraph('Bananas!')) #lxml
d.save(r'C:\users\bananstand\there's always money here.docx')

Note that the index() and insert() methods in the fourth and fifth lines of the above code are from the underlying lxml module. Check out the documentation here.

About

Python library for creating, reading, and modifying Docx files for Microsoft Word

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages