Skip to content
@speedata

speedata

speedata

We build software for automated, high-quality typesetting — turning structured data (XML, JSON, databases) into beautifully laid out PDFs. Catalogs, data sheets, price lists, reports, invoices: anything where layout matters and the content keeps changing.

Most of what you'll find on this page exists because we needed it ourselves while building our main product, the speedata Publisher. We open-sourced the pieces that we thought others might find useful too.


speedata Publisher

A professional database publishing system. You give it your data and a layout description, it gives you a print-ready PDF — fully scriptable, reproducible, and suitable for very long and very demanding documents.

The Publisher is free and open source (AGPLv3). We also offer commercial licenses, training and support contracts for teams that need guarantees, priority fixes or help getting their first project into production — that is how we fund the work you see here. If that sounds relevant, get in touch.

XTS — the next-generation typesetting system

xts is our experimental successor: a smaller, more modern XML typesetting engine that incorporates everything we have learned from years of running the Publisher in production. Still evolving, but already usable — see xts-examples for what it can do today.

XML, XPath and XSLT for Go

Working with XML in Go is famously thin on the ground. While building the Publisher we ended up writing a small ecosystem of XML tools that we now use everywhere — and that you can use independently in your own projects:

  • goxml — a struct-based XML representation for Go that preserves enough of the original document to round-trip cleanly.
  • goxpath — a full XPath 3.1 interpreter for Go. As far as we know, the most complete one in the ecosystem.
  • goxslt — an XSLT processor written in pure Go, no libxslt required.

If you arrived here from one of these libraries: hi! They are battle-tested because we use them ourselves, every day, inside the Publisher.

Tools around the Publisher

  • imageshaper — generates outline paths for images, used for text-around-image effects.
  • vscode-speedata — a VS Code extension for editing RelaxNG-validated XML, including the Publisher's layout language.
  • einvoice — a Go library for reading and writing electronic invoices (ZUGFeRD / Factur-X / XRechnung).

Forks and contributions

We also maintain a few forks of upstream projects with patches that matter to us (css, barcode, go-lua). Most of these track upstream loosely; have a look at the individual repositories if you need details.


Get in touch

Based in Berlin, working with publishers, agencies and in-house teams worldwide.

Pinned Loading

  1. publisher publisher Public

    speedata Publisher - a professional database Publishing system

    Lua 324 37

  2. examples examples Public

    speedata Publisher examples

    XSLT 29 7

  3. imageshaper imageshaper Public

    Generate an image outline

    Go 2 1

Repositories

Showing 10 of 60 repositories

Top languages

Loading…

Most used topics

Loading…