speedata Blog

Entwicklungen & Neuigkeiten zum speedata Publisher

LuaTeX 1.0.4

Der Publisher nutzt bekanntermaßen LuaTeX als Satzengine. LuaTeX ist eine moderne Variante von TeX, was ja für seine exzellenten Satzeigenschaften bekannt ist. LuaTeX wird in der Installation des Publishers mitgeliefert, so dass sich der Anwender hierüber keine Gedanken machen muss. Auch kommt er in nicht direkt mit TeX in Berührung, daher werden auch keine speziellen TeX-Kenntnisse benötigt, um den Publisher zu bedienen. Die mitgelieferte Version von LuaTeX ist zwar schon recht alt (0.

Lua Preprocessing: CSV nach XML-Konverter

Neu in Version 3.1.10 Die neue Funktionalität des Lua-Präprozessors habe ich um Schnittstellen zu CSV und XML erweitert. Man kann nun beliebige CSV-Dateien einlesen und nach XML konvertieren, ohne eine Zeile Code zu schreiben1. CSV nach XML nach PDF In dem neuen Beispiel (https://github.com/speedata/examples/tree/master/technical/csvreader) ist das ausführlich in einem lauffähigen Layout gezeigt. Grundlage ist eine CSV-Datei. In dem Verzeichnis liegt eine Datei mit ausgedachten Personen: "First name","Last name","Company name", .

Lua anstelle von XProc

Die neueste Version des Publishers (3.1.9) hat ein kleines, aber feines Feature dazu bekommen: ab sofort ist es möglich, vor dem Rendering Lua-Skripte auszuführen. Lua Lua ist eine ganz passable Programmiersprache, ähnlich wie JavaScript, und ideal, um in Programme eingebettet zu werden. Der Publisher selbst ist zu 95% in Lua geschrieben, daher bietet sich die Programmiersprache auch an, um die Startskripte damit zu erstellen. Aufruf Mit sp --filter meinprogramm.lua wird also das angegebene Lua-Programm ausgeführt, bevor der eigentliche Rendering-Prozess aufgerufen wird.

Kompatibilität mit macOS High Sierra (10.13) / Go

Offensichtlich gab es Probleme mit dem Publisher und MacOS High Sierra (10.13). Das ist nun behoben. Ich habe das Startprogramm sp in Go geschrieben und erzeuge die Binaries unter Linux. Das funktioniert auch soweit ganz gut, doch die aktuelle Version von MacOS scheint wohl nur mit einer neuen Version von Go unterstützt zu werden. Auf dem Build-Server habe ich nun die Version 1.9.1 installiert und alles läuft wieder rund.

speedata Publisher Version 3

Endlich habe ich wieder ein »Major-Release« veröffentlicht. Es ist Zeit für einen kurzen Rückblick Wenn man von Version 2.0 ausgeht, sind seit dem ziemlich genau drei Jahre vergangen, in denen es 4 Minor Releases und ca. 150 Patch Releases gab. Das ist durchschnittlich eine Version pro Woche, wobei es natürlich Phasen unterschiedlicher Intensität gab. Interessanterweise kamen bei mir nie Beschwerden aufgrund von Abwärtskompatibilität an, obwohl es kleine inkompatible Änderungen gab (die Betreffen das Cursor-Verhalten bei Objekten, die an den rechten Rand reichen.

ZUGFeRD

Immer wieder erreichen mich Anfragen von Auftraggebern, wo ich kurz grübeln und ausprobieren muss, ob die mit dem Publisher umsetzbar sind. Kürzlich hatte ich eine Anfrage zu elektronischen Rechnungen. ZUGFeRD (Zentraler User Guide des Forums elektronische Rechnung Deutschland) ist ein Dateiformat für elektronische Rechnungen. Es wird vermutlich nur in Deutschland verwendet, dafür aber recht häufig. Das Dateiformat besteht aus einer XML-Datei die in eine PDF-Datei eingebettet wird, insofern gibt es hier zwei getrennte »Baustellen«.

Versionen 2.9.13 und 2.9.14

Heute habe ich nach etwas Ruhe zwei neue Versionen hochgeladen. Die Neuerungen kann ich für ein aktuelles Kundenprojekt gut gebrauchen. In XML eingebettete Bilder Die Daten in einem aktuellen Kundenprojekt werden aus einer SQL-Datenbank extrahiert und in XML gewandelt. Zu den Daten gehören auch Bilddaten, die als BLOB ebenfalls in der Datenbank liegen. Nun ist die Frage: wie kommen die Bilder in das PDF? Eine Möglichkeit ist, die Bilder im Dateisystem zu speichern und den Dateinamen in das XML zu speichern.

Feature der Woche / Handbuch / Neue Version: 2.9.11

Nach 41 Folgen in der Reihe »Feature der Woche« wird es in diesem Blog etwas andere Schwerpunkte geben. Ich bin zwar mit den Features noch nicht am Ende, aber ich denke, dass ich alle grundlegenden Eigenschaften beschrieben habe. Daher höre ich erst einmal mit der Serie auf. Handbuch Derzeit habe ich (neben dem normalen Projektgeschäft, mit dem ich mein Geld verdiene) eine größere Baustelle: das Handbuch wird komplett überarbeitet. Es ist zu 95% fertig, als PDF kommt es auf immerhin schon 300 Seiten.

LuaTeX, Module und TeXlive 2017

Heute schreibe ich über eine Sache, die nicht unmittelbar mit dem Publisher zu tun hat. LuaTeX kann seit langem C-Module (.so) zur Laufzeit hinzulinken. In der Version kommenden Version 2017 von TeXlive funktioniert das nun auch für Mac OS X. Unter Linux geht das schon länger und unter Windows vermutlich auch (wer mag das testen?). Dieses Feature werde ich in einer zukünftigen Version des Publishers nutzen. Ein Beispiel, das ich schon mal vor längerer Zeit auf tex.

Neue stabile Version: 2.8

Pünktlich zur XMLPrague gibt es eine neue stabile Version des Publishers. Es ist ein weiterer Schritt Richtung 3.0. Einige Verhaltensweisen haben sich geändert, weil sie sinnfrei waren. Das hatte ich auch schon im Beitrag vom September geschrieben. Es geht hauptsächlich um das Verhalten des Cursors, wenn man ein Objekt ausgibt, das an den rechten Rand ragt. Auch etliche Bugfixes sind enthalten Ebenfalls wurde das Verhalten beim Laden von Bildern über href=".