BusDK Update

BusDK saa deterministisen PDF-renderöinnin

bus-pdf tuo BusDK:hon oman PDF-komentopinnan. Sille tulee oma binääri, omat mallipohjat ja oma vakioitu syötemuoto.

Ensimmäinen versio keskittyy yhteen asiaan: sama JSON tuottaa saman PDF:n ilman vaihtelevia aikaleimoja tai konekohtaisia fonttieroja.

30.1.2026 bus-pdf PDF Determinismi

Tiiviisti

TL;DR

  • bus-pdf listaa valmiit mallipohjat ja renderöi PDF:n JSON-syötteestä.
  • Mukana on heti yleinen A4-pohja ja suomalainen laskupohja.
  • PDF-tuloste vakioidaan niin, että metadata ja fontit eivät tee siitä sattumanvaraista.

Ensimmäinen näkyvä käyttö alkaa mallipohjien listauksesta ja yhdestä renderöintikomennosta:

bus-pdf list-templates

bus-pdf render \
  --template plain-a4 \
  --data input.json \
  --out out.pdf
fi-invoice-a4
plain-a4

Tässä vaiheessa bus-pdf ei vielä tee kirjanpidon liiketoimintalogiikkaa itse. Se ei lue BusDK:n CSV-aineistoja eikä päättele laskun tai raportin sisältöä niiden puolesta, vaan ottaa vastaan UTF-8 JSON-syötteen ja renderöi sen valittuun mallipohjaan. Se on tärkeä rajanveto, koska PDF-pinnan voi nyt ottaa käyttöön ilman että raportointi, laskutus tai päiväkirja lukitaan samaan toteutukseen.

Determinismi näkyy siinä, että tulosteeseen ei tule konekohtaisia fonttieroja tai vaihtelevia metatietoja, jotka vaikeuttaisivat vertailua, testausta tai auditointia. Siksi PDF sopii heti paremmin osaksi muuta BusDK-työkaluketjua. Nykyinen komentopinta ja mallipohjat löytyvät bus-pdf:n dokumentaatiosta.