Hello

My intention was to write a webservice which creates documents for our
internal applications running on Linux, Windows and MVS (z/OS).
The first implementation should be able to load existing CALC/XLS templates,
fill the data in and write to a new file mainly in XLS or PDF format. Also I
had to implement a "catalog" function where blocks of rows should be
repeatedly filled with data and the new rows are added below the already
written cells. We called it "dynamic rows". You may describe also as table
with an unknown number of rows and where the rows of the tables may have
cells with different formats.

This is just the first step to replace an old solution developped by me and
used now for 10 years. The solution creates the most common file formats and
delivers the output to the recipients by means of several transmission
protocols.

The new solution works now as follows:
- Windows Server 2003, IIS6, .Net 3.0, WCF 3.0 extensions
- OpenOffice running as a service and listening to 127.0.0.1 (see
http://ibgrueninger.de/blog/index.php/2008/06/07/openoffice-as-a-service/)
- a webservice with the name DCI written in C# 3.0
- a businesslayer which uses Powershell runspaces to do the conversion work.

One of the main problems was that Powershell needs early binding and can't
use the UNO interfaces.

My first shot was to download AODL and check it out.
Unfortunately AODL can't be used. The conversion of 400 data rows needed 15
minutes and a lot of RAM. It may be that my usage of AODL was wrong and
there may be better ways to it with AODL as I did it. Loading of the
templates lasts very long and the replication of rows and inserting of the
new nodes costs a lot of time.

So I took the subtree OpenOfficePrinter as base of a wrapper library. I
addes classes and a lot of methods needed by me. If the methods have UNO
interfaces in the signature I defined a second method signature where
objects replace the UNO interfaces.
The 2 signatures allows the usage of the library with Powershell or C# or
any CLR producing language with the same method call.

Compared with AODL the same conversion takes now < 2 seconds.

If you are interested in getting the source code and integrating it in the
odftoolkit let it me know.

I am willing to maintain the source code in the near future and contribute
as much as possible of the source code to the community.

Kind regards

Andreas Grüninger


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to