Quickstart#
Sign a PDF with a .pfx (or .p12 / .pem) and a visible green-tick appearance.
const atick = require("atick");
const fs = require("fs");
const pdf = fs.readFileSync("doc.pdf");
const pfx = fs.readFileSync("my.pfx");
const signed = atick.signPfx(pdf, pfx, JSON.stringify({
password: "••••", cn: "Aniket Chaturvedi", reason: "Approved",
green_tick: true, page: 1, rect: [300, 55, 575, 175],
pades: true, timestamp: true, ltv: true, // PAdES-B-LT
}));
fs.writeFileSync("signed.pdf", signed);
Open signed.pdf in Adobe Reader — for a trusted certificate it shows a valid green tick and
“Signed and all signatures are valid.”
TypeScript#
import * as atick from "atick";
import { readFileSync, writeFileSync } from "fs";
const signed = atick.signPfx(readFileSync("doc.pdf"), readFileSync("my.pfx"),
JSON.stringify({ password: "••••", cn: "Aniket", pades: true, page: 1, rect: [300, 55, 575, 175] }));
writeFileSync("signed.pdf", signed);
A minimal, invisible signature#
const signed = atick.signPfx(pdf, pfx, JSON.stringify({ password: "••••", placements: [], pades: true }));
Catching errors#
try {
atick.signPfx(pdf, pfx, JSON.stringify({ password: "wrong" }));
} catch (e) {
console.error("signing failed:", e.message);
}
Next: see Signing for all the options, or the API reference.