Some test text!

Discord Logo

Chat with us

PDFTron is now Apryse, learn more here.

Go / Guides / Sign a document



PDFTron is now Apryse, learn more here.

Sign a PDF document in Go

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

doc := NewPDFDoc(docpath)

// Retrieve the unsigned approval signature field.
foundApprovalField := doc.GetField(inApprovalFieldName)
foundApprovalSignatureDigsigField := NewDigitalSignatureField(foundApprovalField)

// (OPTIONAL) Add more information to the signature dictionary.
foundApprovalSignatureDigsigField.SetLocation("Vancouver, BC")
foundApprovalSignatureDigsigField.SetReason("Document approval.")

// (OPTIONAL) Add an appearance to the signature field.
img := ImageCreate(doc.GetSDFDoc(), inAppearanceImgPath)
foundApprovalSignatureWidget := NewSignatureWidget(foundApprovalField.GetSDFObj())

// Prepare the signature and signature handler for signing.
foundApprovalSignatureDigsigField.SignOnNextSave(inPrivateKeyFilePath, inKeyfilePassword)

// The actual approval signing will be done during the following incremental save operation.
doc.Save(inOutpath, uint(SDFDocE_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

Get the answers you need: Support