Sign documents with standard QR-code entries

GroupDocs.Signature provides ability to embed into QR-code signature standard entries like email, contact v-card, address etc. This feature supports standard QR-code representation of entries. At this moment following standard QR-code entries are supported

  • Email entry that allows to specify in QR-code standard email information with recipient, subject and body.
  • Address entry contains address information.
  • V-Card entry implements standard of visit card 3.0 specification. More details could be found here.
  • Me-Card entry implements similar to V-Card contact details standard. More details could be found here.
  • EPC implements standard of the European Payments Council guidelines define the content of a QR code that can be used to initiate SEPA credit transfer. More details could be found here.
  • Event entry implements event standard.
  • CryptoCurrencyTransfer entry implements event standard.
  • WiFi entry implements WiFI settings standard.
  • SMS entry implements sms properties.

Here are the steps to embed standard entry into QR-code with GroupDocs.Signature:

  • Create new instance of  Signature class and pass source document path as a constructor parameter.
  • Create new instance of one of standard entries class.
  • Create one or several objects of QrCodeSignOptions object with getData value assigned with initialized standard object before.
  • Instantiate the  QrCodeSignOptions  object according to your requirements and custom object to getData property.
  • Call sign method of  Signature  class instance and pass QrCodeSignOptions to it.

Sign PDF with email QR-code object

This example shows how to esign PDF with Email QR-code object.

Signature signature = new Signature("sample.pdf"))

    // create Email object
    Email email = new Email();
	email.setAddress("sherlock@holmes.com");
	email.setSubject("Very important e-mail");
	email.setBody("Hello, Watson. Reach me ASAP!");


	// create options
	// create options
	QrCodeSignOptions options = new QrCodeSignOptions();
	options.setEncodeType(QrCodeTypes.QR);
	// setup Data property to Address instance
	options.setData(email);
	// set right bottom corner
	options.setHorizontalAlignment(HorizontalAlignment.Right);
	options.setVerticalAlignment(VerticalAlignment.Bottom);
	options.setMargin(new Padding(10));
	options.setWidth(100);
	options.setHeight(100);

    // sign document to file
    signature.sign("output.pdf", options);

Sign PDF with Address inside the QR-Code image

This example shows how to esign PDF with address inside the QR-code image.

Signature signature = new Signature("sample.pdf"))
{
    // create Address object
    Address address = new Address();
	address.setStreet("221B Baker Street");
	address.setCity("London");
	address.setState("NW");
	address.setZIP("NW16XE");
	address.setCountry("England");


	// create options
	QrCodeSignOptions options = new QrCodeSignOptions();
	options.setEncodeType(QrCodeTypes.QR);
		// setup Data property to Address instance
	options.setData(address);
		// set right bottom corner
	options.setHorizontalAlignment(HorizontalAlignment.Right);
	options.setVerticalAlignment(VerticalAlignment.Bottom);
	options.setMargin(new Padding(10));
	options.setWidth(100);
	options.setHeight(100);
    // sign document to file
    signature.sign("output.pdf", options);
}

Sign PDF with V-Card (VCF) information in the QR-Code image

This example shows how to esign PDF with V-Card inside the QR-code image.

Signature signature = new Signature("sample.pdf"))
{
    // create VCard object
    VCard vCard = new VCard();

	vCard.setFirstName("Sherlock");
	vCard.setMidddleName("Jay");
	vCard.setLastName("Holmes");
	vCard.setInitials("Mr.");
	vCard.setCompany("Watson Inc.");
	vCard.setJobTitle("Detective");
	vCard.setHomePhone("0333 003 3577");
	vCard.setWorkPhone("0333 003 3512");
	vCard.setEmail("watson@sherlockholmes.com");
	vCard.setUrl("http://sherlockholmes.com/");
	vCard.setBirthDay(new Date(1854, 1, 6));
	Address address = new Address();
	address.setStreet("221B Baker Street");
	address.setCity("London");
	address.setState("NW");
	address.setZIP("NW16XE");
	address.setCountry("England");
	vCard.setHomeAddress(address);


	// create options
	QrCodeSignOptions options = new QrCodeSignOptions();
	options.setEncodeType(QrCodeTypes.QR);
	// setup Data property to Address instance
	options.setData(vCard);
	// set right bottom corner
	options.setHorizontalAlignment(HorizontalAlignment.Right);
	options.setVerticalAlignment(VerticalAlignment.Bottom);
	options.setMargin(new Padding(10));
	options.setWidth(100);
	options.setHeight(100);

    // sign document to file
    signature.sign("output.pdf", options);
}

Sign PDF with Me-Card information in the QR-Code image

This example shows how to esign PDF with Me-Card inside the QR-code image.

Signature signature = new Signature("sample.pdf")
{
    // create MeCard object
    MeCard meCard = new MeCard();
	meCard.setName("Sherlock");
	meCard.setNickname("Jay");
	meCard.setReading("Holmes");
	meCard.setNote("Base Detective");
	meCard.setPhone("0333 003 3577");
	meCard.setAltPhone("0333 003 3512");
	meCard.setEmail("watson@sherlockholmes.com");
	meCard.setUrl("http://sherlockholmes.com/");
	meCard.setBirthDay(new Date(1854, 1, 6));
	Address address = new Address();
	address.setStreet("221B Baker Street");
	address.setCity("London");
	address.setState("NW");
	address.setZIP("NW16XE");
	address.setCountry("England");
	meCard.setAddress(address);

	// create options
	QrCodeSignOptions options = new QrCodeSignOptions();
	options.setEncodeType(QrCodeTypes.QR);
	// setup Data property to MeCard instance
	options.setData(meCard);
	// set right bottom corner
	options.setHorizontalAlignment(HorizontalAlignment.Right);
	options.setVerticalAlignment(VerticalAlignment.Bottom);
	options.setMargin(new Padding(10));
	options.setWidth(100);
	options.setHeight(100);

    // sign document to file
    signature.Sign("output.pdf", options);
}

Sign PDF with EPC payment in the QR-Code image

This example shows how to esign PDF with EPC / SEPA payment inside the QR-code image.

Signature signature = new Signature("sample.pdf")
{
    // create EPC object
	EPC epc = new EPC();
	epc.setName("Sherlock");
	epc.setBIC("MrSherlockH");
	epc.setIBAN("BE72000000001616");
	epc.setAmount(123456.78D);
	epc.setCode("SHRL");
	epc.setReference("Private service");
	epc.setInformation("Thanks for help");

	// create options
	QrCodeSignOptions options = new QrCodeSignOptions();
	options.setEncodeType(QrCodeTypes.QR);
	// setup Data property to EPC instance
	options.setData(epc);
	// set right bottom corner
	options.setHorizontalAlignment(HorizontalAlignment.Right);
	options.setVerticalAlignment(VerticalAlignment.Bottom);
	options.setMargin(new Padding(10));
	options.setWidth(100);
	options.setHeight(100);

    // sign document to file
    signature.sign("output.pdf", options);
}

Sign PDF with Event information in the QR-Code image

This example shows how to esign PDF with event data inside the QR-code image.

Signature signature = new Signature("sample.pdf")
{
    // create Event object
    Event evnt = new Event();

	evnt.setTitle("GTM(9-00)");
	evnt.setDescription("General Team Meeting");
	evnt.setLocation("Conference-Room");
	Calendar c1 = Calendar.getInstance();
	c1.setTime(new Date());
	c1.add(Calendar.DATE, 1);
	c1.add(Calendar.HOUR, 9);
	Calendar c2 = Calendar.getInstance();
	c2.setTime(new Date());
	c2.add(Calendar.DATE, 1);
	c2.add(Calendar.HOUR, 9);
	c2.add(Calendar.MINUTE, 30);
	evnt.setStartDate(c1.getTime());
	evnt.setEndDate(c2.getTime());

	// create options
	QrCodeSignOptions options = new QrCodeSignOptions();
	options.setEncodeType(QrCodeTypes.QR);
	// setup Data property to Event instance
	options.setData(evnt);
	// set right bottom corner
	options.setHorizontalAlignment(HorizontalAlignment.Right);
	options.setVerticalAlignment(VerticalAlignment.Bottom);
	options.setMargin(new Padding(10));
	options.setWidth(100);
	options.setHeight(100);
    // sign document to file
    signature.sign("output.pdf", options);
}

Sign PDF with CryptoCurrencyTransfer information in the QR-Code image

This example shows how to esign PDF with Cryptocurrency transfer data inside the QR-code image.

Signature signature = new Signature("sample.pdf");

// create crypto currency object
CryptoCurrencyTransfer transfer = new CryptoCurrencyTransfer();
transfer.setType(CryptoCurrencyType.Bitcoin);
transfer.setAddress("1JHG2qjdk5Khiq7X5xQrr1wfigepJEK3t");
transfer.setAmount(1234.56M);
transfer.setMessage("Consulting services");

// create alternative crypto currency object
CryptoCurrencyTransfer customTransfer = new CryptoCurrencyTransfer();
customTransfer.setType(CryptoCurrencyType.Custom);
customTransfer.setCustomType("SuperCoin");
customTransfer.setAddress("15N3yGu3UFHeyUNdzQ5sS3aRFRzu5Ae7EZ");
customTransfer.setAmount(6543.21M);
customTransfer.setMessage("Accounting services");

// create QR-code options
QrCodeSignOptions options1 = new QrCodeSignOptions();

// setup Data property to Address instance
options1.setData(transfer);
options1.setLeft(10);
options1.setTop(10);

// create alternative QR-code options
QrCodeSignOptions options2 = new QrCodeSignOptions();

// setup Data property to Address instance
options2.setData(customTransfer);
options2.setLeft(10);
options2.setTop(200);

List<SignOptions> listOptions = new List<SignOptions>();
listOptions.add(options1);
listOptions.add(options2);
// sign document to file
signature.sign("output.pdf", listOptions);

Create an image with the WiFi QR Code information

This example shows how to create an image with the WiFi QR Code object.

Signature signature = new Signature("sample.png");

// create WiFi object
WiFi wifi  = new WiFi();
wifi.setSSID("GuestNetwork!");
wifi.setEncryption(WiFiEncryptionType.WPAWPA2);
wifi.setPassword("guest");
wifi.setHidden(false);

// create options
QrCodeSignOptions options = new QrCodeSignOptions();

options.setEncodeType(QrCodeTypes.QR);
// setup Data property to WiFi object instance
options.setData(wifi);
// set right bottom corner
options.setHorizontalAlignment(HorizontalAlignment.Right);
options.setVerticalAlignment(VerticalAlignment.Bottom);
options.setWidth(100);
options.setHeight(100);
options.setMargin(new Padding(10));


// sign document to image file
signature.sign("output.png", options);

Sign PDF with SMS data information in the QR-Code

This example shows how to esign PDF with QR Code SMS data on the PDF page. This could be used for automatic document verification or subscription.

Signature signature = new Signature("sample.pdf");

// create SMS object
SMS sms = new SMS();
sms.setNumber("0800 048 0408");
sms.setMessage("Document approval automatic SMS message");

// create options
QrCodeSignOptions options = new QrCodeSignOptions();
options.setEncodeType(QrCodeTypes.QR);
	// setup Data property to Address instance
options.setData(sms);
	// set right bottom corner
options.setHorizontalAlignment(HorizontalAlignment.Right);
options.setVerticalAlignment(VerticalAlignment.Bottom);
options.setWidth(100);
options.setHeight(100);
options.setMargin(new Padding(10));

// sign document to file
signature.sign("output.pdf", options);

More resources

GitHub Examples

You may easily run the code above and see the feature in action in our GitHub examples:

Free Online App

Along with full-featured .NET library we provide simple, but powerful free Apps.

You are welcome to eSign PDF, Word, Excel, PowerPoint documents with free to use online GroupDocs Signature App.

Close
Loading

Analyzing your prompt, please hold on...

An error occurred while retrieving the results. Please refresh the page and try again.