4 Stimmen

Drucken von Berichten und Rechnungen mit Ruby?

Ich lerne gerade Ruby und frage mich, wie man Berichte und Rechnungen (mit Logo, Adressfeld, Fußzeile, variabler Anzahl von Rechnungspositionen (manchmal mehr als eine Seite), Übertrag des zu zahlenden Betrags von einer Seite auf die nächste, frei schwebender zweispaltiger Text (links- und rechtsbündig) unter den resultierenden Kasseninformationen) generiert.

Zur Zeit erhalte ich vom Betriebssystem eine Leinwand zum Drucken und Zeichnen (passend zu den Druckerspezifikationen) und benutze einige Draw-, Move-, Line-, Text- und Formfeed-API-Funktionen und führe einige schwere Berechnungen für das Bewegen von Textblöcken durch (ein bisschen wie TeX).

Wie soll dies in Ruby geschehen?

Eine .odt-Datei erstellen und sie an OpenOffice übergeben oder eine .tex-Datei erstellen und sie an LaTeX übergeben?

Oder gibt es irgendwelche freien Bibliotheken, die alle diese Art von Dingen für mich tun, so dass ich nur die relevanten Teile zu füttern, und lassen Ruby die Text-Formatierung Sache tun?

EDIT:

Um genauer zu sein: Ich möchte ein Firmenlogo auf der ersten Seite (DIN-A4-Format, kann aber auch Brief sein) an einer bestimmten Stelle platzieren, ebenso die Fußzeile auf jeder Seite und das Adressfeld auf der ersten Seite. der Rest soll frei schwebende Textblöcke mit Links-Rechts-Ausrichtung sein, fette Wörter in der Mitte der Texte.

etwas wie

pdf.column.blocktext("Hello Mr. P\nwe have [b]good news[/b] for you. bla bla bla and so on. Please keep this text together (no page break)...");
pdf.column.floatingblock("This is another block, that should be printed, and can be broken over more than one column...");

der den Text in der Unternehmensschriftart auf dem Papier darstellt, im Blocksatz und mit einem sauberen Umbruch zur nächsten Spalte/Seite, wenn er den unteren Rand der Seite erreicht.

Wenn ich darüber nachdenke, ist das genau das, wofür LaTeX da ist.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X