From eb38024c20942634bf19c5a45206761b5c40d262 Mon Sep 17 00:00:00 2001 From: Timur Ercan Date: Wed, 1 Mar 2023 18:04:59 +0100 Subject: [PATCH] =?UTF-8?q?=E2=9A=97=EF=B8=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- packages/signing/signDocument.ts | 28 +++++++++++++++++++++++++--- 1 file changed, 25 insertions(+), 3 deletions(-) diff --git a/packages/signing/signDocument.ts b/packages/signing/signDocument.ts index fba752b0a..69280acb8 100644 --- a/packages/signing/signDocument.ts +++ b/packages/signing/signDocument.ts @@ -1,4 +1,26 @@ -export const signDocument = (documentAsBase64: string): string => { - - return documentAsBase64; +const signer = require("../../node_modules/node-signpdf/dist/signpdf"); +const { + pdfkitAddPlaceholder, +} = require("../../node_modules/node-signpdf/dist/helpers/pdfkitAddPlaceholder"); +import * as fs from "fs"; + +export const signDocument = (documentAsBase64: string): any => { + const pdfBuffer = Buffer.from(documentAsBase64, "base64"); + const certBuffer = fs.readFileSync("public/certificate.p12"); + + console.log("adding placeholder.."); + console.log(signer.pdfkitAddPlaceholder); + const inputBuffer = signer.pdfkitAddPlaceholder({ + pdfBuffer, + reason: "Signed Certificate.", + contactInfo: "sign@example.com", + name: "Example", + location: "Jakarta", + signatureLength: certBuffer.length, + }); + + console.log("signing.."); + const signedPdf = new signer.SignPdf().sign(inputBuffer, certBuffer); + + return signedPdf; };