Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

649
Views
how to digitally sign a PDF document with a certificat using Javascript?

i was looking for a solution to digitally sign a pdf with a self-signed certificat and came across a video in youtube explaining the process using pdf-lib and node-signpdf libraries. However, after following the instructions it didnt work as intended and encountered a problem:

  • i executed the command ( npm i ) and (npm start ) as shown in the github repo of the project.

repo : https://github.com/RichardBray/pdf_sign

Demo ( 8 mins video ) : https://www.youtube.com/watch?v=OFZK5lc70OI&list=PLXUfmx2SIgyICZP-rA84Sle_ghq30W89N&index=4&t=1s

import SignPDF from "./SignPDF";
import fs from "node:fs";
import path from "node:path";

async function main() {
  const pdfBuffer = new SignPDF(
    path.resolve("test_assets/minions.pdf"),
    path.resolve("test_assets/certificate.p12")
  );

  const signedDocs = await pdfBuffer.signPDF();
  const randomNumber = Math.floor(Math.random() * 5000);
  const pdfName = `./exports/exported_file_${randomNumber}.pdf`;

  fs.writeFileSync(pdfName, signedDocs);
  console.log(`New Signed PDF created called: ${pdfName}`);
}

main();
> pdf_sign@1.0.0 start
> npm run build && node dist/index.js

> pdf_sign@1.0.0 build
> ./node_modules/.bin/babel ./src -d ./dist

'.' is not recognized as an internal command
or external, an executable program or a batch file.
  • i tried to run the code using VScode debugger and it displayed the following error :
Uncaught SyntaxError c:\\Users\\ACER\\Documents\\GitHub\\pdf_sign\\src\\index.js:1
import SignPDF from "./SignPDF";
^^^^^^

SyntaxError: Cannot use import statement outside a module
at compileFunction (undefined:352:18)
at wrapSafe (undefined:1031:15)
at Module.\_compile (undefined:1065:27)
at Module.\_extensions..js (undefined:1153:10)
at Module.load (undefined:981:32)
at Module.\_load (undefined:822:12)
at executeUserEntryPoint (undefined:81:12)
at \<anonymous\> (undefined:17:47)

about 4 years ago · Juan Pablo Isaza
1 answers
Answer question

0

it appears that the problem is OS related. In fact , the code works fine under linux OS but have some issues with Windows OS related to import command. For windows OS replacing "import" commands with "require" commands solves the problem.

BEFORE:

import SignPDF from "./SignPDF";
import fs from "node:fs";
import path from "node:path";

AFTER :

const SignPDF =  require("./SignPDF");
const fs =  require("node:fs");
const path =  require("node:path");

Edit: Whenever imports are found in the project they should be replaced with require commands . https://jobs.czconsultants.com/utils/convert-imports-to-require-online/0 this website helps converting multiple commands fast

about 4 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!