help developing an editor to view openoffice files.
Colin J. Williams
cjw at sympatico.ca
Tue Mar 13 20:40:37 CET 2007
Ken Starks wrote:
> krishnakant Mane wrote:
>> right now I am involved on doing a very important accessibility work.
>> as many people may or may not know that I am a visually handicap
>> person and work a lot on accessibility. the main issue at hand is to
>> create an accessible editor for open office.
>> there are a lot of things remaining on that front.
>> so right now I am trying to find out a temporary work around by
>> creating a simple accessible editor (with wxpython) for viewing and
>> editing open office files.
>> I know there must be python libraries that can open/ save .odt files
>> because it is an open standard any ways.
>> but I am trying to work out a kind of a program where those files can
>> also be displayed in a text area with all the formatting.
>> probably one way of doing it is to use some thing like a rich text
>> editor and allow the file to be converted to rtf from odt for viewing
>> and back again to odt when the user wishes to save it.
>> another way I find is to actually find out if there is a odt text box
>> that can display these files as they are.
>> viewing the contents of the files in an editable way is most important.
>> any suggestions?
> There is an O'Reilly Book about hacking the Open Office Format, and
> it is available free on line in both html and pdf.
More expensive but well reviewed is:
> Open office files are a variation on 'Zipped' archives and
> many unzip tools can be used to open them, apart from ones
> that insist on a .zip extension. These include python tools.
> The one 'case study' in the book that uses python is actually for
> a spreadsheet, but that makes little difference to the
> 'unzipping' part. You can find it at:
> Once you have the raw XML you should be able to convert it to any one of
> many more accessible XML formats, for screen readers, brail
> printers and so on. I don't know much about them, but hopefully you
> Don't re-invent the wheel! You will find quite a few ways on the Open
> Office Wiki for converting the format to other things. You can also
> daisy-tail the XSLT files; for example use one to convert to xhtml and
> a second that converts xhtml to text.
> Example (Display write files in the 'Firefox' browser).
> Don't forget that Open Office already has PDF export facilities, and
> Acrobat reader already has some accessibility ability for simple
> documents (i.e single column, 'start at the beginning, keep going until
> you get to the end, and then stop'). For adding structure to other PDF
> files you would need Acrobat Professional or software that can export
> 'tagged' PDFs.
> The case-study code is:
> import xml.dom
> import xml.dom.ext
> import xml.dom.minidom
> import xml.parsers.expat
> import sys
> import od_number
> from zipfile import *
> from StringIO import *
> if (len(sys.argv) == 4):
> # Open an existing OpenDocument file
> inFile = ZipFile( sys.argv )
> # ...and a brand new output file
> outFile = ZipFile( sys.argv, "w", ZIP_DEFLATED );
> getParameters( sys.argv )
> # modify all appropriate currency styles
> fixCurrency( "styles.xml" )
> fixCurrency( "content.xml" )
> # copy the manifest
> copyManifest( )
> print "Usage: " + sys.argv + " inputfile outputfile parameterfile"
More information about the Python-list