PHP DocWriter is a set of PHP classes that allows you to create documents in OpenOffice.org XML format (that is, StarOffice/OpenOffice.org documents).
It is also capable of communicate with the OpenOffice.org application with the purpose of convert OpenOffice.org XML generated documents to any other format supported by the OpenOffice.org application in an automatic and transparent way.
The class is still under development but it's fully fuctional right now. At the moment it has the following features:
Page headers and footers
You can define various clases of pages on your documents (first page, index, standard, etc.) and assign a different header/footer for each class.
OpenOffice.org drawings are a method for describing two-dimensional vector graphics. This specification follows closely the SVG standard, so it supports all basic SVG shapes like rects, circles, ellipses, lines, polylines and polygons as well as the path element. This class does not support (at moment) OpenOffice.org's three-dimensional graphics.
- Page styles
- Paragraph styles
- Character styles
Meta-information of the document
Meta information of the document includes all the document itself relative information such the author or the title of the document.
Automatic conversion of created documents to other formats
This is achieved using the UNO interface of OpenOffice.org application. The library comunicates with the application throught this interface in order to convert documents to other formats. The library cannot convert documents itself, it need OpenOffice.org to be installed and correctly configured to accept petitions. Currently the formats possible to convert are MS Word, PDF, RTF, StarWriter, LaTeX, XHTML, HTML, etc.
Some miscellaneus features of the library:
- Page breaks
- Predefined fields
Fields like page number or number of pages of the document
For a (non complete) list of a features I would like to add to this library, you can go to Future plans section. This is a preliminary list, that means that is not complete and maybe some of the features listed there will be not implemented finally.