// import { PDFNet } from "@pdftron/pdfnet-node"; // export const TimestampAndEnableLTV = async ( // docBuffer: ArrayBuffer, // certPath: string, // certTSAUrl: string, // imgBytes: ArrayBuffer, // coords: any // ): Promise<ArrayBuffer> => { // const doc = await PDFNet.PDFDoc.createFromBuffer(docBuffer); // doc.initSecurityHandler(); // const tst_config = await PDFNet.TimestampingConfiguration.createFromURL( // certTSAUrl // ); // const opts = await PDFNet.VerificationOptions.create( // PDFNet.VerificationOptions.SecurityLevel.e_compatibility_and_archiving // ); // await opts.addTrustedCertificateUString(certPath); // const img = await PDFNet.Image.createFromMemory2(doc, imgBytes); // //make this dynamic with canvas lib // const imgWidth = 300; // const imgHeight = 300; // const pagesForSining = Object.keys(coords).map((k) => { // return parseInt(k); // }); // const pages = await doc.getPageCount(); // let result; // for (let p = 1; p <= pages; p++) { // if (!pagesForSining.includes(p)) { // continue; // } // const page = await doc.getPage(p); // const doctimestamp_signature_field = // await doc.createDigitalSignatureField(); // const widgetAnnot = // await PDFNet.SignatureWidget.createWithDigitalSignatureField( // doc, // new PDFNet.Rect( // parseFloat(coords[p].x), // parseFloat(coords[p].x + imgWidth), // parseFloat(coords[p].y), // parseFloat(coords[p].y + imgHeight) // ), // doctimestamp_signature_field // ); // await page.annotPushBack(widgetAnnot); // await widgetAnnot.createSignatureAppearance(img); // await doctimestamp_signature_field.timestampOnNextSave(tst_config, opts); // result = await doc.saveMemoryBuffer( // PDFNet.SDFDoc.SaveOptions.e_incremental // ); // } // return result.buffer; // };