From da6d744208ee91c6beabd6e1bd735d17c951e393 Mon Sep 17 00:00:00 2001 From: "mihailo.vojinovic" Date: Wed, 11 Feb 2026 16:56:14 +0100 Subject: Add generate invlice server action --- src/lib/generate.ts | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 src/lib/generate.ts (limited to 'src/lib/generate.ts') diff --git a/src/lib/generate.ts b/src/lib/generate.ts new file mode 100644 index 0000000..4787f56 --- /dev/null +++ b/src/lib/generate.ts @@ -0,0 +1,21 @@ +"use server"; + +import { Invoice } from "@/models/invoice"; +import PDFDocument from "pdfkit"; +import blobStream from "blob-stream"; + +export async function generateInvoice(invoice: Invoice): Promise { + const doc = new PDFDocument(); + const stream = doc.pipe(blobStream()); + + doc.text("Invoice from " + invoice.from); + + doc.end(); + return new Promise((resolve, reject) => { + stream.on("finish", () => { + const blob = stream.toBlob(); + resolve(blob); + }); + stream.on("error", reject); + }); +} -- cgit v1.3.1