ich habe ein paar Fragen. Vielleicht kann mir da jemand helfen.
adress frame
Wenn man einen Kontakt mit Firmenname etc. hat, dann funktioniert die Generierung des PDF nicht. Auch ein Ändern der Fontgrösse hilft nicht. Nach etwas suchen und probieren habe ich dann herausgefunden, daß man das Problem durch Löschen eines der drei Zeilenumbrüche (br-Tag) beheben kann. Das Problem liesse sich vermeiden, wenn zwischen PLZ-Ort und Landesbezeichnung keine Leerzeile wäre. Kann man das ändern?
Fonts einbetten
Es gibt die Möglichkeit TrueType-Fonts zu verwenden. Das würde ich gerne nutzen. Ich habe das versucht, leider ohne Erfolg. Ist es so, dass man nur Fonts verwenden kann, die im System installiert sind?
Seitenzahlen
Es gibt das Tag <pagenumber>, dass die aktuelle Seitenzahl anzeigt. Es wäre schöner wenn man sowas wie Seite x von y hätte, also z.B. Seite 2 von 4. Gibt es hierfür eine Lösung?</pagenumber>
Style-Definitionen
Es gibt zwei Styles
<parastyle name="alternativetext" ...=""> und <parastyle name="alternativertext" ...=""> die ich nicht zuordnen konnte, da ich die nirgends im trml-file finden kann. Für was sind die gedacht, bzw. wo finden die Verwendung?</parastyle></parastyle>
GOODBYE Variable
Kann man die Texte irgendwo finden bzw. ändern? Ein "Mit freundlichen Grüßen" würde sich besser machen wie "mit freundlichen Grüssen," Gilt auch für andere Texte die man auswählen kann.
Danke im voraus für die Hilfe
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Thema address frame: Die Adresse wird aus dem Dokument-Editor übernommen und ist dort auf der Dokument-Kopf-Seite editierbar. Dort könntest Du also die Leerzeile rauslöschen bzw. das Land garnicht erst eingeben ins Adressbuch.
Weiterhin wird nicht nur die Template-Variable "ADDRESS" gesetzt, sondern auch eine ganze Reihe von mehr spezifischen Adress-Teilen wie Name, Strasse, Ort etc. Die könntest Du auch verwenden.
Thema Seitenzahlen:
Das geht bisher leider nicht. Aber basierend auf http://code.activestate.com/recipes/576832/
hab ich hier mal etwas experimentiert und das sieht ganz gut aus. Mach doch bitte einen Bugreport in Sourceforge damit ich das nicht vergesse, dann werde ich mich da mal drum kümmern.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Thema Styles demandtext und alternativetext: Die werden für Alternativ- bzw. Bedarfspositionen verwendet. Für solche speziellen Positionen vor allem in Angeboten wird dieser style automatisch gesetzt, damit man die optisch von normalen Positionen abheben kann. Also nicht löschen :-)
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Hallo Klaas,
danke für die umgehende Beantwortung. Ich habe ein Ticket wg Seitenzahlen angelegt.
wg GOODBYE werd ich mir dann halt so behelfen
Die Sache mit den TTF-Schriften wäre noch eine feine Sache. Hast du mir da noch einen Tipp wie man das hinkriegt, da ich die Adobefonts nicht gerade als Hingucker empfinde, vielleicht mal von Helvetica abgesehen.
Danke für deine Mühe
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
ich nochmal. Sorry, Hirn nicht eingeschaltet. Ich arbeite mit sqite und hab null Plan wie das funktioniert. Wo soll ich den/die Befehle eingeben?
Danke
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Am besten geht das wohl mit dem Firefox-Plugin SQLite Manager. Mit dem kannst du die Sqlite-Datei (Pfad siehe Kraft System-Ansicht) direkt bearbeiten. Die Tabelle wordLists findest Du ganz unten, und dann kannst Du die Daten direkt verändern.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
wenn ich den RML User Guide richtig verstanden hab, dann ist registerFont nur für PostscriptType1-Fonts vorgesehen und Truetype-Fonts müssen via registerTTFont eingebunden werden.
Ich habe mir die Beispieldateien angesehen. Dort sind keine Pfadangaben, sprich es wird immer nur die Font-Datei selber deklariert. Bei den Standardfonts ist es auch nicht anders und die werden im System ebenfalls gefunden (/usr/share/fonts/X11/Type1...)
Korrigiere mich wenn ich da falsch liege.
Auf jeden Fall, trotz vieler Versuche, klemmt es bei der Erstellung des PDF :(
Immer wieder an der selben Stelle - das Script scheint Probleme zu haben den face-Typ (normal, fett, kursiv..) zu erkennnen.
Ich füge mal den traceback an.
Vielleicht kannst du was hilfreiches sagen.
Traceback (most recent call last): File "/usr/share/kde4/apps/kraft/tools/erml2pdf.py", line 721, in pdf = parseString( file( infile, 'r' ).read() ) File "/usr/share/kde4/apps/kraft/tools/erml2pdf.py", line 668, in parseString r.render(fp) File "/usr/share/kde4/apps/kraft/tools/erml2pdf.py", line 248, in render pt_obj.render(self.dom.documentElement.getElementsByTagName('story')[0]) File "/usr/share/kde4/apps/kraft/tools/erml2pdf.py", line 609, in render self.doc_tmpl.build(fis) File "/usr/lib/python2.7/dist-packages/reportlab/platypus/doctemplate.py", line 889, in build self.clean_hanging() File "/usr/lib/python2.7/dist-packages/reportlab/platypus/doctemplate.py", line 517, in clean_hanging self.handle_flowable(self._hanging) File "/usr/lib/python2.7/dist-packages/reportlab/platypus/doctemplate.py", line 769, in handle_flowable f.apply(self) File "/usr/lib/python2.7/dist-packages/reportlab/platypus/doctemplate.py", line 146, in apply getattr(doc,arn)(*args) File "/usr/lib/python2.7/dist-packages/reportlab/platypus/doctemplate.py", line 542, in handle_pageBegin self.pageTemplate.onPage(self.canv,self) File "/usr/share/kde4/apps/kraft/tools/erml2pdf.py", line 440, in render cnv.render(self.node) File "/usr/share/kde4/apps/kraft/tools/erml2pdf.py", line 428, in render tagstag File "/usr/share/kde4/apps/kraft/tools/erml2pdf.py", line 415, in 'setFont': lambda node: self.canvas.setFont(node.getAttribute('name'), unit_get(node.getAttribute('size'))), File "/usr/lib/python2.7/dist-packages/reportlab/pdfgen/canvas.py", line 1588, in setFont font = pdfmetrics.getFont(self._fontname) File "/usr/lib/python2.7/dist-packages/reportlab/pdfbase/pdfmetrics.py", line 689, in getFont return findFontAndRegister(fontName) File "/usr/lib/python2.7/dist-packages/reportlab/pdfbase/pdfmetrics.py", line 671, in findFontAndRegister face = getTypeFace(fontName) File "/usr/lib/python2.7/dist-packages/reportlab/pdfbase/pdfmetrics.py", line 630, in getTypeFace return _typefaces[faceName] KeyError: "u'Vera'\n handle_pageBegin args=()"
Code in der trml dazu
<docinit>
<registerttfont facename="Vera" filename="Vera.ttf">
</registerttfont></docinit>
Danke für deine Mühe
Grüsse
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
ich hab das entsprechend deinen Vorgaben geändert. Leider klemmt es trotzdem. Aber ich habe aktuell noch Version 0.53-2 (Tanglu). Es könnte sein, dass hier das Problem liegt. Ich bleib bei Helvetica bis das dist-upgrade da ist (ca 2 Wochen) und teste dann noch mal. Auf jeden Fall vielen Dank für die Unterstützung.
Ich hab die Vorlage vom Layout her verändert. Also z.B. Fussbereich mit 3 Spalten (Adresse-Steuerinfo-Bankinfo) und Kopfbereich 2 Spalten (asymetrisch)mit Text mit farbigen Flächen hinterlegt und ein Logo (Grafik). Alternaiv dann für die Rechnung fehlt der Kopfbereich, dafür das Infofeld als farbige Fläche. Das ganze ein bisschen mehr an DIN5008 angepasst (Ränder, Positon Seitenzahl etc.) Wenn Interesse besteht dann würd ich das anonymisieren, mit etwas Kommentaren anreichern und zur Verfügung stellen.
Gibt es auf sf eine Möglichkeit sich privat eine Nachricht zu senden?
Grüsse
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Ja, ich bin sehr an dem Template interessiert, vor allem wenn es besser ist das, was gerade mit Kraft mitkommt. Bitte schick es an email kraft at freisturz punkt de. Danke!
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Hallo,
ich habe ein paar Fragen. Vielleicht kann mir da jemand helfen.
Wenn man einen Kontakt mit Firmenname etc. hat, dann funktioniert die Generierung des PDF nicht. Auch ein Ändern der Fontgrösse hilft nicht. Nach etwas suchen und probieren habe ich dann herausgefunden, daß man das Problem durch Löschen eines der drei Zeilenumbrüche (br-Tag) beheben kann. Das Problem liesse sich vermeiden, wenn zwischen PLZ-Ort und Landesbezeichnung keine Leerzeile wäre. Kann man das ändern?
Es gibt die Möglichkeit TrueType-Fonts zu verwenden. Das würde ich gerne nutzen. Ich habe das versucht, leider ohne Erfolg. Ist es so, dass man nur Fonts verwenden kann, die im System installiert sind?
Es gibt das Tag <pagenumber>, dass die aktuelle Seitenzahl anzeigt. Es wäre schöner wenn man sowas wie Seite x von y hätte, also z.B. Seite 2 von 4. Gibt es hierfür eine Lösung?</pagenumber>
Es gibt zwei Styles
<parastyle name="alternativetext" ...=""> und <parastyle name="alternativertext" ...=""> die ich nicht zuordnen konnte, da ich die nirgends im trml-file finden kann. Für was sind die gedacht, bzw. wo finden die Verwendung?</parastyle></parastyle>
Kann man die Texte irgendwo finden bzw. ändern? Ein "Mit freundlichen Grüßen" würde sich besser machen wie "mit freundlichen Grüssen," Gilt auch für andere Texte die man auswählen kann.
Danke im voraus für die Hilfe
Thema address frame: Die Adresse wird aus dem Dokument-Editor übernommen und ist dort auf der Dokument-Kopf-Seite editierbar. Dort könntest Du also die Leerzeile rauslöschen bzw. das Land garnicht erst eingeben ins Adressbuch.
Weiterhin wird nicht nur die Template-Variable "ADDRESS" gesetzt, sondern auch eine ganze Reihe von mehr spezifischen Adress-Teilen wie Name, Strasse, Ort etc. Die könntest Du auch verwenden.
Diese Tags der Kundenadresse sind definiert:
Thema Seitenzahlen:
Das geht bisher leider nicht. Aber basierend auf
http://code.activestate.com/recipes/576832/
hab ich hier mal etwas experimentiert und das sieht ganz gut aus. Mach doch bitte einen Bugreport in Sourceforge damit ich das nicht vergesse, dann werde ich mich da mal drum kümmern.
Thema Styles demandtext und alternativetext: Die werden für Alternativ- bzw. Bedarfspositionen verwendet. Für solche speziellen Positionen vor allem in Angeboten wird dieser style automatisch gesetzt, damit man die optisch von normalen Positionen abheben kann. Also nicht löschen :-)
Thema "GOODBYE": Es gibt (immer noch) keine vernünftige Einstellmöglichkeit in der GUI.
Bis ich das endlich mal gemacht habe müsst ihr Euch in der Datenbank behelfen, zb.
Das ist nicht so schön :-/
Hallo Klaas,
danke für die umgehende Beantwortung. Ich habe ein Ticket wg Seitenzahlen angelegt.
wg GOODBYE werd ich mir dann halt so behelfen
Die Sache mit den TTF-Schriften wäre noch eine feine Sache. Hast du mir da noch einen Tipp wie man das hinkriegt, da ich die Adobefonts nicht gerade als Hingucker empfinde, vielleicht mal von Helvetica abgesehen.
Danke für deine Mühe
Hallo Klaas,
ich nochmal. Sorry, Hirn nicht eingeschaltet. Ich arbeite mit sqite und hab null Plan wie das funktioniert. Wo soll ich den/die Befehle eingeben?
Danke
Am besten geht das wohl mit dem Firefox-Plugin SQLite Manager. Mit dem kannst du die Sqlite-Datei (Pfad siehe Kraft System-Ansicht) direkt bearbeiten. Die Tabelle wordLists findest Du ganz unten, und dann kannst Du die Daten direkt verändern.
Thema Font embedding: Das geht auch, das wusste ich auch noch nicht.
Es können ttf fonts eingebunden werden. Dazu muss man im trml file folgendes XML tag unterhalb des document-tag hinzufügen:
Danach kannst Du den Namen MyFont in allen <setfont ...=""> oder <blockfont ...=""> Anweisungen verwenden. </blockfont></setfont>
Aber teste das bitte nochmal mit den einschlägigen PDF Betrachtern auf Windows etc. und lass uns wissen, obs funtkioniert. Danke!
Last edit: Klaas Freitag 2014-08-11
Hallo Klaas,
wenn ich den RML User Guide richtig verstanden hab, dann ist registerFont nur für PostscriptType1-Fonts vorgesehen und Truetype-Fonts müssen via registerTTFont eingebunden werden.
Ich habe mir die Beispieldateien angesehen. Dort sind keine Pfadangaben, sprich es wird immer nur die Font-Datei selber deklariert. Bei den Standardfonts ist es auch nicht anders und die werden im System ebenfalls gefunden (/usr/share/fonts/X11/Type1...)
Korrigiere mich wenn ich da falsch liege.
Auf jeden Fall, trotz vieler Versuche, klemmt es bei der Erstellung des PDF :(
Immer wieder an der selben Stelle - das Script scheint Probleme zu haben den face-Typ (normal, fett, kursiv..) zu erkennnen.
Ich füge mal den traceback an.
Vielleicht kannst du was hilfreiches sagen.
Traceback (most recent call last): File "/usr/share/kde4/apps/kraft/tools/erml2pdf.py", line 721, in pdf = parseString( file( infile, 'r' ).read() ) File "/usr/share/kde4/apps/kraft/tools/erml2pdf.py", line 668, in parseString r.render(fp) File "/usr/share/kde4/apps/kraft/tools/erml2pdf.py", line 248, in render pt_obj.render(self.dom.documentElement.getElementsByTagName('story')[0]) File "/usr/share/kde4/apps/kraft/tools/erml2pdf.py", line 609, in render self.doc_tmpl.build(fis) File "/usr/lib/python2.7/dist-packages/reportlab/platypus/doctemplate.py", line 889, in build self.clean_hanging() File "/usr/lib/python2.7/dist-packages/reportlab/platypus/doctemplate.py", line 517, in clean_hanging self.handle_flowable(self._hanging) File "/usr/lib/python2.7/dist-packages/reportlab/platypus/doctemplate.py", line 769, in handle_flowable f.apply(self) File "/usr/lib/python2.7/dist-packages/reportlab/platypus/doctemplate.py", line 146, in apply getattr(doc,arn)(*args) File "/usr/lib/python2.7/dist-packages/reportlab/platypus/doctemplate.py", line 542, in handle_pageBegin self.pageTemplate.onPage(self.canv,self) File "/usr/share/kde4/apps/kraft/tools/erml2pdf.py", line 440, in render cnv.render(self.node) File "/usr/share/kde4/apps/kraft/tools/erml2pdf.py", line 428, in render tagstag File "/usr/share/kde4/apps/kraft/tools/erml2pdf.py", line 415, in 'setFont': lambda node: self.canvas.setFont(node.getAttribute('name'), unit_get(node.getAttribute('size'))), File "/usr/lib/python2.7/dist-packages/reportlab/pdfgen/canvas.py", line 1588, in setFont font = pdfmetrics.getFont(self._fontname) File "/usr/lib/python2.7/dist-packages/reportlab/pdfbase/pdfmetrics.py", line 689, in getFont return findFontAndRegister(fontName) File "/usr/lib/python2.7/dist-packages/reportlab/pdfbase/pdfmetrics.py", line 671, in findFontAndRegister face = getTypeFace(fontName) File "/usr/lib/python2.7/dist-packages/reportlab/pdfbase/pdfmetrics.py", line 630, in getTypeFace return _typefaces[faceName] KeyError: "u'Vera'\n handle_pageBegin args=()"
Code in der trml dazu
<docinit>
<registerttfont facename="Vera" filename="Vera.ttf">
</registerttfont></docinit>
Danke für deine Mühe
Grüsse
Nein, du musst es genauso wie oben beschrieben machen, mit Pfad zur TTF Datei. Das Konverter-Script setzt das entsprechend um.
Siehe hier ein Beispiel-Dokument:
http://sourceforge.net/projects/kraft/files/demo/rechnung.pdf/download
Hallo Klaas,
ich hab das entsprechend deinen Vorgaben geändert. Leider klemmt es trotzdem. Aber ich habe aktuell noch Version 0.53-2 (Tanglu). Es könnte sein, dass hier das Problem liegt. Ich bleib bei Helvetica bis das dist-upgrade da ist (ca 2 Wochen) und teste dann noch mal. Auf jeden Fall vielen Dank für die Unterstützung.
Ich hab die Vorlage vom Layout her verändert. Also z.B. Fussbereich mit 3 Spalten (Adresse-Steuerinfo-Bankinfo) und Kopfbereich 2 Spalten (asymetrisch)mit Text mit farbigen Flächen hinterlegt und ein Logo (Grafik). Alternaiv dann für die Rechnung fehlt der Kopfbereich, dafür das Infofeld als farbige Fläche. Das ganze ein bisschen mehr an DIN5008 angepasst (Ränder, Positon Seitenzahl etc.) Wenn Interesse besteht dann würd ich das anonymisieren, mit etwas Kommentaren anreichern und zur Verfügung stellen.
Gibt es auf sf eine Möglichkeit sich privat eine Nachricht zu senden?
Grüsse
Ja, ich bin sehr an dem Template interessiert, vor allem wenn es besser ist das, was gerade mit Kraft mitkommt. Bitte schick es an email kraft at freisturz punkt de. Danke!