commit | cc6be38253c3c3f3f0322e03c0f7c282807a7eb4 | [log] [tgz] |
---|---|---|
author | jani <jani@apache.org> | Wed Aug 05 21:09:04 2015 +0200 |
committer | jani <jani@apache.org> | Wed Aug 05 21:09:04 2015 +0200 |
tree | 9b79875999e5d0058d458f041710131b4b7aaa4f | |
parent | 7ee1489aeabf7d6caff121ed1f26001cdd2fca3b [diff] |
Added functions to work directly with zlib. Minizip is removed, a.o. due to its problematic license in the main part of corinthia. New functions have been made, with significant differences: DFZipOpen, now scans the zip file, and delivers the whole directory back. DFZipReadFile, reads the whole file in one chunk, and delivers a freshly allocated buffer back DFZipCreate, creates a new zip file without knowing the content DFZipWriteFile, adds a whole file to the zip file, and updates the in memory directory. DFZipClose, releases used memory, and in case of creating a zip file, writes the global directory as well as the end record. The functions have been tested with LO, AOO, MS-WORD on ODF and OOXML files. The testing showed an error in AOO ODF implementation, AOO has significant differences between the local header and the global directory, making it very difficult to recover a file with a corrupted directory. The functions accepts the behaivour of all 6 combinations.
Corinthia is a library for converting between different word-processing file formats. Initially, it supports .docx (part of the OOXML specification), HTML, and LaTeX (export-only). The Corinthia project also provides convenience executables. The library has shipped as part of UX Write since February 2013.
On December 8, 2014, Corinthia entered the Apache Software Foundation incubator. The accepted proposal and incubation status provide incubation background and progress information.
The communication hub of the project is the development mailing list,
dev @ corinthia.incubator.apache.org
To receive list postings and interact on the list, simply send a message to
dev-subscribe @ corinthia.incubator.apache.org
from the email address to receive list messages at. The reply from the list robot to that address provides confirmation instructions and information on managing the subscription.
There are a Corinthia incubator web site, a project wiki, and a JIRA issue tracker.
The sites and documentation for this project are at a preliminary stage. Content will be moved to Apache and improved as incubation moves along.
Meanwhile, there is a Facebook page and a Twitter account, @ApacheCorinthia.
Corinthia is licensed under the Apache License version 2.0; see LICENSE.txt for details.
There are three major components, in their respective directories:
DocFormats
- the library itselfdfutil
- a driver program used for running [...]Run dfutil without any command-line arguments to see a list of operations. Here is an example of converting a .docx file to HTML, modifying it, and then updating the original .docx. Note that it is important, due to how internal mapping works, that the .docx file being written is the same file as the original; using a new file won't work.
dfutil filename.docx filename.html vi filename.html # Make some changes dfutil filename.html filename.docx
If you examine the convertFile function in dfutil/Commands.c
, you will see the main entry points to perform these conversions, which you can call from your own program.
Corinthia builds and runs on iOS, OS X, Linux and Windows.
To build DocFormats, you will need to have the following installed:
Corinthia currently builds on Linux, OS X (mac) and Windows. See the build instructions.
Contributors are welcome and prized. Details on how to participate on the project will be posted soon.
Meanwhile, the easiest way to contribute is by subscribing to the development list and asking your questions and offering suggestions there.