Some test text!

Search
Hamburger Icon

Ruby / Guides / Sign a document

Sign a PDF document in Ruby

To sign an existing approval signature field in a PDF Document:

doc = PDFDoc.new(docpath);

# Retrieve the unsigned approval signature field.
found_approval_field = doc.GetField(approval_field_name);
approval_digsig_field = DigitalSignatureField.new(found_approval_field);

# (OPTIONAL) Add more information to the signature dictionary.
approval_digsig_field.SetLocation('Vancouver, BC');
approval_digsig_field.SetReason('Document approval.');
approval_digsig_field.SetContactInfo('www.pdftron.com');

# (OPTIONAL) Add an appearance to the signature field.
img = Image.Create(doc.GetSDFDoc, appearance_img_path);
found_approval_signature_widget = SignatureWidget.new(found_approval_field.GetSDFObj());
found_approval_signature_widget.CreateSignatureAppearance(img);

# Prepare the signature and signature handler for signing.
approval_digsig_field.SignOnNextSave(private_key_file_path, keyfile_password);

# The actual approval signing will be done during the following incremental save operation.
doc.Save(outpath, SDFDoc::E_incremental);

Digitally sign PDF files
Full code sample which demonstrates using the digital signature API to digitally sign and/or certify PDF documents.

About Adding An Approval Signature to a PDF Document

The Apryse SDK enables approval signatures in PDF documents using a Digital Certificate, in accordance with the latest PDF specification. By leveraging public key infrastructure (PKI) technology, with a certificate issued by a trusted certificate authority (CA), a signer can use a certificate-based digital ID to guarantee the authenticity of a signature. Placement of a digital signature using a certificate can also guarantee that a document was not modified since the signature was placed, ensuring the authenticity of the document.

Image taken from Apryse WebViewer

Above is an example of a document containing a certified signature, guaranteed by a certificate generated by Apryse.com.

Get the answers you need: Chat with us