Forums Neueste Beiträge
 

Viele Calc-Dateien in eine zusammenfassen

25/05/2008 - 14:46 von Achim Tömpe | Report spam
Hallo NG,

folgendes Szenario: Ich habe einen Haufen Rechnungen (ca. 1.500 Stück),
die alle im ODS-Format vorliegen. Nun sollen diese alle möglichst platz-
und papiersparend hintereinanderweg ausgedruckt werden, ohne Briefkopf,
Fußnoten, Leerràume etc.
Der Plan ist es nun, die Rechnungen alle in ein einzelnes Dokument zu
überführen und dieses dann auszudrucken (dann kann man auch den Ausdruck
per Druckertreiber verkleinern lassen usw.).
Nun überlege ich, wie ich das am besten hinbekomme. Ich habe schon mit
einem Makro herumprobiert, das die Daten aus den einzelnen Rechnungen
übernimmt und in eine Calc-Datei packt, doch ist das quàlend langsam,
außerdem hakt es manchmal.
Bevor ich jetzt weiter rumbastle: Hat jemand eine bessere Idee?
 

Lesen sie die antworten

#1 Guido Ostkamp
25/05/2008 - 19:47 | Warnen spam
Achim Tömpe wrote:
Der Plan ist es nun, die Rechnungen alle in ein einzelnes Dokument
zu überführen und dieses dann auszudrucken (dann kann man auch den
Ausdruck per Druckertreiber verkleinern lassen usw.).
[...]
Bevor ich jetzt weiter rumbastle: Hat jemand eine bessere Idee?



Ich sehe zwei Möglichkeiten; entweder Du faßt einzelne Druckergebnisse
zusammen oder alles zu einem einzigen ODS Dokument und druckst dies
dann aus.

Der erste Weg ginge z.B. über Batchbetrieb von OOo, wie z.B. unter
<http://www.goermezer.de/content/view/424/616/> oder
<http://www.opensource-weblog.de/502...ol.php>
skizziert. Danach hàttest Du einen Haufen PDF Files, die Du mit einem
Tool, z.B. pdftk verheiraten kannst. Das setzt allerdings voraus, daß
der Ausdruck eines einzelnen ODS "einfach so" funktioniert.

Der zweite Weg scheint mir aufwendiger zu sein. Bekanntlich ist ein
ODS Dokument nur ein ZIPfile, welches u.a. XML Bestandteile enthàlt.
Die wichtigste Information dürfte in 'content.xml' stehen.

Hier mal auszugsweise ein Beispiel für ein fast leeres Dokument mit 3
Tabellen:

<office:body>
<office:spreadsheet>
<table:table table:name="Tabelle1" table:style-name="ta1" table:print="false">
<office:forms form:automatic-focus="false"
form:apply-design-mode="false"/>
<table:table-column table:style-name="co1"
table:default-cell-style-name="Default"/>
<table:table-row table:style-name="ro1">
<table:table-cell office:value-type="string">
<text:p>Teil 1</text:p>
</table:table-cell>
</table:table-row>
</table:table>
<table:table table:name="Tabelle2" table:style-name="ta1" table:print="false">
<office:forms form:automatic-focus="false"
form:apply-design-mode="false"/>
<table:table-column table:style-name="co1"
table:default-cell-style-name="Default"/>
<table:table-row table:style-name="ro1">
<table:table-cell office:value-type="string">
<text:p>Teil 2</text:p>
</table:table-cell>
</table:table-row>
</table:table>
...

Man sieht ziemlich schnell, wo eine Untertabelle anfàngt und wo sie
aufhört (siehe "Tabelle1", "Tabelle2" usw.).

Du müßtest also ein Tool implementieren, um die Quelldateien zu
analysieren, die betroffenen Abschnitte dort zu entnehmen und sie
anschließend in ein größeres Dokument einzubauen. Das sollte sich z.B.
in Perl mit XML Modulen machen lassen.

Gruß

Guido

Ähnliche fragen