Sample code for 30+ languages & platforms
Ruby

Sign PDF with Invisible Signature

See more PDF Signatures Examples

Demonstrates how to sign a PDF with an invisible signature.

Note: This example requires Chilkat v9.5.0.85 or greater.

Chilkat Ruby Downloads

Ruby
require 'chilkat'

success = false

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

pdf = Chilkat::CkPdf.new()

# Load a PDF to be signed.
# The "hello.pdf" is available at https://chilkatsoft.com/hello.pdf
success = pdf.LoadFile("qa_data/pdf/hello.pdf")
if (success == false)
    print pdf.lastErrorText() + "\n";
    exit
end

# Options for signing are specified in JSON.
json = Chilkat::CkJsonObject.new()

# In most cases, the signingCertificateV2 and signingTime attributes are required.
json.UpdateInt("signingCertificateV2",1)
json.UpdateInt("signingTime",1)

# Indicate that the signature will be invisible.
json.UpdateBool("invisibleSignature",true)

# Load the signing certificate. (Use your own certificate.)
cert = Chilkat::CkCert.new()
success = cert.LoadPfxFile("qa_data/pfx/myPdfSigningCert.pfx","secret")
if (success == false)
    print cert.lastErrorText() + "\n";
    exit
end

# Tell the pdf object to use the certificate for signing.
success = pdf.SetSigningCert(cert)
if (success == false)
    print pdf.lastErrorText() + "\n";
    exit
end

success = pdf.SignPdf(json,"qa_output/hello_signed.pdf")
if (success == false)
    print pdf.lastErrorText() + "\n";
    exit
end

print "PDF successfully signed with an invisible signature." + "\n";

# 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:https://example-code.com/images/invisible_signature.jpg/endImage)