esm.run swissqrbill demo

JavaScript

// See https://www.npmjs.com/package/swissqrbill documentation.
import generateQRCode from 'https://esm.run/swissqrbill/lib/browser/esm/shared/qr-code.js';
import { cleanData, validateData } from 'https://esm.run/swissqrbill/lib/browser/esm/shared/shared.js';
import { mm2px } from 'https://esm.run/swissqrbill/lib/browser/esm/shared/utils.js';

let data = {
  currency: "CHF",
  amount: 1199.95,
  reference: "210000000003139471430009017",
  creditor: {
    name: "Robert Schneider AG",
    address: "Rue du Lac",
    buildingNumber: "1268",
    zip: 2501,
    city: "Biel",
    account: "CH4431999123000889012",
    country: "CH"
  },
  debtor: {
    name: "Pia-Maria Rutschmann-Schnyder",
    address: "Grosse Marktgasse",
    buildingNumber: "28",
    zip: 9400,
    city: "Rorschach",
    country: "CH"
  }
}


//-- Clean data

data = cleanData(data);


//-- Validate data

validateData(data)

const qrcode = generateQRCode(data, mm2px(46))

const svg = `<svg xmlns="http://www.w3.org/2000/svg" width="46mm" height="46mm" y="17mm" x="67mm"><path d="${qrcode}" fill="black"/><rect x="19mm" y="19mm" width="8mm" height="8mm" fill="white"/><rect x="19.5mm" y="19.5mm" width="7mm" height="7mm" fill="black"/><rect x="22.415mm" y="21.055mm" width="1.17mm" height="3.89mm" fill="white"/><rect x="21.055mm" y="22.415mm" width="3.89mm" height="1.17mm" fill="white"/></svg>`

document.body.innerHTML = svg