Signing a PDF from PHP so that Adobe Reader shows the green tick — "Signed and all signatures are valid" — with a trusted timestamp and long-term validation (LTV) is normally a lot of work.
ATick does it in one call — free under AGPL-3.0.
Install
composer require aniketc068/atick
Sign with a green tick, timestamp and LTV
<?php
require 'vendor/autoload.php';
use Aniketc068\ATick\Atick;
$pdf = file_get_contents("doc.pdf");
$pfx = file_get_contents("my.pfx");
$signed = Atick::signPfx($pdf, $pfx, [
"password" => "your-password", "cn" => "Axonate Tech", "reason" => "Approved",
"green_tick" => true, "page" => 1, "rect" => [300, 55, 575, 175],
"pades" => true, "timestamp" => true, "ltv" => true, // PAdES-B-LT
]);
file_put_contents("signed.pdf", $signed);
Open signed.pdf in Adobe Reader — with a trusted certificate it shows the green tick and "Signed and all signatures are valid."
-
green_tick→ the validity mark Adobe greens for a valid + trusted certificate -
pades/timestamp/ltv→ PAdES-B-LT (addltafor B-LTA)
More than the basics
-
USB token / smart-card / HSM via PKCS#11 —
Atick::signPkcs11(...). -
Deferred / remote-key / eSign —
Atick::prepareDeferred(...)thenAtick::embed(...). - Certified (no-changes) signatures, encrypted output, and a fully customizable appearance.
The same API exists in Python, Java, .NET and Node.js — one engine, five languages.
Links
- Docs: https://atick.readthedocs.io/docs/php/
- PAdES & LTV: https://atick.readthedocs.io/docs/php/pades/
ATick is free under AGPL-3.0 (a commercial license is only needed to resell it). A product by Axonate Tech.


Top comments (0)