Brevier in Ihrer Sprache

Derselbe Aufruf rendert in jeder Sprache dasselbe Dokument. Wählen Sie eine Sprache.

Sprache

Sprache
import dev.brevier.Brevier;

Rechnung rechnung = rechnungen.find(id);
Kunde kunde = rechnung.getKunde();

byte[] pdf = Brevier.template("rechnung")
                    .render(rechnung, kunde);

Installation

Gradle
implementation 'dev.brevier:brevier'
Maven
<artifactId>brevier</artifactId>
import brevier

rechnung = rechnungen.find(id)
kunde = rechnung.kunde

pdf: bytes = brevier.template("rechnung").render(rechnung, kunde)

Installation

pip
pip install brevier
using Brevier;

var rechnung = rechnungen.Find(id);
var kunde = rechnung.Kunde;

byte[] pdf = await Brevier.Template("rechnung")
                          .RenderAsync(rechnung, kunde);

Installation

.NET CLI
dotnet add package Brevier
import { Brevier } from 'brevier'

const rechnung = await rechnungen.find(id)
const kunde = rechnung.kunde

const pdf: Buffer = await Brevier.template('rechnung')
  .render({ rechnung, kunde })

Installation

npm
npm install brevier

Bearbeitet im Editor, den Sie schon nutzen

Eine Brevier-Vorlage besteht aus einfachen Dateien. Die meisten IDEs heben jede davon hervor und prüfen sie, mit Erweiterungen, die Sie als Entwickler ohnehin nutzen.

HTML für die Struktur, CSS für die Seite, JSON Schema für die Daten, Markdown für einfache Dokumente, Handlebars für die Datenbindung. Keine proprietären Formate, keine zusätzliche Laufzeitumgebung, keine eigene Anwendung nötig.

templates / rechnung

  • rechnung.htmlHTML
  • rechnung.cssCSS
  • rechnung.schema.jsonJSON Schema
  • rechnung.sample.jsonJSON
  • VS Code
  • IntelliJ IDEA
  • PyCharm
  • Visual Studio
  • WebStorm

Die Vorlagen, die Sie haben

Jeder Importer liest ein strukturiertes Format und schreibt eine HTML-Vorlage, ein Stylesheet und das JSON Schema ihrer Felder.

AusWird zuStatus
.jrxmlJasperReports-BerichtsentwurfHTML-Vorlage + CSS + JSON SchemaStatus: Verfügbar
.rptdesignBIRT-BerichtsentwurfHTML-Vorlage + CSS + JSON SchemaStatus: Verfügbar
.docxWord-Dokument mit SerienbrieffeldernHTML-Vorlage + CSS + JSON SchemaStatus: Verfügbar
.pdfPDF-Formular, von iText befülltHTML-Vorlage + CSS + JSON SchemaStatus: In 1.0

PDFs ohne Tags und gescannte PDFs werden nicht importiert. Ihr Layout nachzubauen wäre Raten.

Der Code, den Sie haben

Ihr Java-Build oder brevier.schema() in Python liest Ihre Klassen und schreibt ihr JSON Schema. Ihre Klassen bleiben, wie sie sind. Danach schreibt brevier template eine erste Vorlage und Beispieldaten neben das Schema.

1. Ihr Build schreibt das Schema
java -cp build/classes:brevier-codegen.jar dev.brevier.codegen.SchemaGeneratorCommand --root rechnung=com.muster.Rechnung > rechnung.schema.json
2. Brevier schreibt die Vorlage
brevier template --schema rechnung.schema.json
Ihre Klasse, unverändert
public class Rechnung {
  private String nummer;
  private LocalDate datum;
  private List<Position> positionen;
  private BigDecimal summe;
  // getters, unchanged
}
Das Schema, das Brevier schreibt, gekürzt
{
  "type": "object",
  "properties": {
    "rechnung": { "$ref": "#/$defs/Rechnung" }
  },
  "$defs": {
    "Rechnung": {
      "type": "object",
      "properties": {
        "nummer":     { "type": "string" },
        "datum":      { "type": "string", "format": "date" },
        "positionen": { "type": "array",
                        "items": { "$ref": "#/$defs/Position" } },
        "summe":      { "type": "number", "format": "decimal" }
      }
    }
  }
}

Status: Verfügbar

Brevier installieren

Es läuft auf Ihrem Laptop, offline, ohne Konto und ohne Server.

Brevier bricht ohne Lizenzschlüssel ab, auch zum Testen. Fordern Sie den Schlüssel vor dem ersten Rendern an. Kostenlosen Testschlüssel für 30 Tage anfordern

Installationsweg wählen

Für Python-3-Nutzer. pip braucht die Bibliothek Pango auf Ihrem System.

  1. Brevier installieren
    pip install brevier
  2. Prüfen, ob es läuft
    brevier --version
  3. Schlüssel setzen
    export BREVIER_LICENCE_KEY="<your-licence-key>"
  4. Die Musterrechnung erzeugen
    brevier pdf rechnung.html --data rechnung.json -o rechnung.pdf

Das Skript installiert Brevier in einem eigenen Ordner und legt den Befehl Brevier in ~/.local/bin ab. Unter macOS installiert es auch Pango.

  1. Brevier installieren
    curl -fsSL https://get.brevier.dev | bash
  2. Prüfen, ob es läuft
    brevier --version
  3. Schlüssel setzen
    export BREVIER_LICENCE_KEY="<your-licence-key>"
  4. Die Musterrechnung erzeugen
    brevier pdf rechnung.html --data rechnung.json -o rechnung.pdf

Das PowerShell-Skript installiert Pango über MSYS2, dann Brevier für Ihren Benutzer, und trägt es in Ihren PATH ein.

  1. Brevier installieren
    irm https://get.brevier.dev/ps | iex
  2. Prüfen, ob es läuft
    brevier --version
  3. Schlüssel setzen
    $env:BREVIER_LICENCE_KEY = "<your-licence-key>"
  4. Die Musterrechnung erzeugen
    brevier pdf rechnung.html --data rechnung.json -o rechnung.pdf

Außer Docker ist nichts zu installieren. Das Image führt Brevier in dem Ordner aus, den Sie unter /work einbinden.

  1. Brevier installieren
    docker pull brevier/brevier:latest
  2. Prüfen, ob es läuft
    docker run --rm brevier/brevier --version
  3. Schlüssel setzen
    export BREVIER_LICENCE_KEY="<your-licence-key>"
  4. Die Musterrechnung erzeugen
    docker run --rm -v "$PWD:/work" -e BREVIER_LICENCE_KEY="$BREVIER_LICENCE_KEY" brevier/brevier pdf rechnung.html --data rechnung.json -o rechnung.pdf