Sample code for 30+ languages & platforms
Lua Requires Chilkat v9.5.0.85+

Sign PDF with Invisible Signature

See more PDF Signatures Examples

Demonstrates how to sign a PDF with an invisible signature.

Chilkat Lua Downloads

Lua
local chilkat = require("chilkat")

-- This example requires the Chilkat API to have been previously unlocked.
-- See Global Unlock Sample for sample code.

local pdf = chilkat.Pdf.new()

-- Load a PDF to be signed.
-- The "hello.pdf" is available at https://chilkatsoft.com/hello.pdf
local success = pdf:load_file("qa_data/pdf/hello.pdf")
if not success then
    print(pdf.last_error_text)
    return
end

-- Options for signing are specified in JSON.
local json = chilkat.JsonObject.new()

-- In most cases, the signingCertificateV2 and signingTime attributes are required.
json:update_int("signingCertificateV2", 1)
json:update_int("signingTime", 1)

-- Indicate that the signature will be invisible.
json:update_bool("invisibleSignature", true)

-- Load the signing certificate. (Use your own certificate.)
local cert = chilkat.Cert.new()
success = cert:load_pfx_file("qa_data/pfx/myPdfSigningCert.pfx", "secret")
if not success then
    print(cert.last_error_text)
    return
end

-- Tell the pdf object to use the certificate for signing.
success = pdf:set_signing_cert(cert)
if not success then
    print(pdf.last_error_text)
    return
end

success = pdf:sign_pdf(json, "qa_output/hello_signed.pdf")
if not success then
    print(pdf.last_error_text)
    return
end

print("PDF successfully signed with an invisible signature.")

-- An invisible signature has no appearance within the PDF document itself,
-- but Adobe Acrobat will indicate the document is signed in a toolbar, as shown here:
-- image