Sign documents with standard QR-code entries
Leave feedback
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.
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.
This example shows how to esign PDF with Email QR-code object.
Signaturesignature=newSignature("sample.pdf");try{// create Email object
Emailemail=newEmail();email.setAddress("sherlock@holmes.com");email.setSubject("Very important e-mail");email.setBody("Hello, Watson. Reach me ASAP!");// create options
QrCodeSignOptionsoptions=newQrCodeSignOptions();options.setEncodeType(QrCodeTypes.QR);// setup Data property to the Email instance
options.setData(email);// set right bottom corner
options.setHorizontalAlignment(HorizontalAlignment.Right);options.setVerticalAlignment(VerticalAlignment.Bottom);options.setMargin(newPadding(10));options.setWidth(100);options.setHeight(100);// sign document to file
signature.sign("output.pdf",options);}finally{signature.dispose();}
Sign PDF with Address inside the QR-Code image
This example shows how to esign PDF with address inside the QR-code image.
Signaturesignature=newSignature("sample.pdf");try{// create Address object
Addressaddress=newAddress();address.setStreet("221B Baker Street");address.setCity("London");address.setState("NW");address.setZIP("NW16XE");address.setCountry("England");// create options
QrCodeSignOptionsoptions=newQrCodeSignOptions();options.setEncodeType(QrCodeTypes.QR);// setup Data property to the Address instance
options.setData(address);// set right bottom corner
options.setHorizontalAlignment(HorizontalAlignment.Right);options.setVerticalAlignment(VerticalAlignment.Bottom);options.setMargin(newPadding(10));options.setWidth(100);options.setHeight(100);// sign document to file
signature.sign("output.pdf",options);}finally{signature.dispose();}
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.
Signaturesignature=newSignature("sample.pdf");try{// create VCard object
VCardvCard=newVCard();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(newGregorianCalendar(1854,Calendar.JANUARY,6).getTime());Addressaddress=newAddress();address.setStreet("221B Baker Street");address.setCity("London");address.setState("NW");address.setZIP("NW16XE");address.setCountry("England");vCard.setHomeAddress(address);// create options
QrCodeSignOptionsoptions=newQrCodeSignOptions();options.setEncodeType(QrCodeTypes.QR);// setup Data property to the VCard instance
options.setData(vCard);// set right bottom corner
options.setHorizontalAlignment(HorizontalAlignment.Right);options.setVerticalAlignment(VerticalAlignment.Bottom);options.setMargin(newPadding(10));options.setWidth(100);options.setHeight(100);// sign document to file
signature.sign("output.pdf",options);}finally{signature.dispose();}
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.
Signaturesignature=newSignature("sample.pdf");try{// create MeCard object
MeCardmeCard=newMeCard();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(newGregorianCalendar(1854,Calendar.JANUARY,6).getTime());Addressaddress=newAddress();address.setStreet("221B Baker Street");address.setCity("London");address.setState("NW");address.setZIP("NW16XE");address.setCountry("England");meCard.setAddress(address);// create options
QrCodeSignOptionsoptions=newQrCodeSignOptions();options.setEncodeType(QrCodeTypes.QR);// setup Data property to the MeCard instance
options.setData(meCard);// set right bottom corner
options.setHorizontalAlignment(HorizontalAlignment.Right);options.setVerticalAlignment(VerticalAlignment.Bottom);options.setMargin(newPadding(10));options.setWidth(100);options.setHeight(100);// sign document to file
signature.sign("output.pdf",options);}finally{signature.dispose();}
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.
Signaturesignature=newSignature("sample.pdf");try{// create EPC object
EPCepc=newEPC();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
QrCodeSignOptionsoptions=newQrCodeSignOptions();options.setEncodeType(QrCodeTypes.QR);// setup Data property to the EPC instance
options.setData(epc);// set right bottom corner
options.setHorizontalAlignment(HorizontalAlignment.Right);options.setVerticalAlignment(VerticalAlignment.Bottom);options.setMargin(newPadding(10));options.setWidth(100);options.setHeight(100);// sign document to file
signature.sign("output.pdf",options);}finally{signature.dispose();}
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.
Signaturesignature=newSignature("sample.pdf");try{// create Event object: a meeting tomorrow from 9:00 to 9:30
Calendarstart=Calendar.getInstance();start.add(Calendar.DATE,1);start.set(Calendar.HOUR_OF_DAY,9);start.set(Calendar.MINUTE,0);Calendarend=(Calendar)start.clone();end.add(Calendar.MINUTE,30);Eventevent=newEvent();event.setTitle("GTM(9-00)");event.setDescription("General Team Meeting");event.setLocation("Conference-Room");event.setStartDate(start.getTime());event.setEndDate(end.getTime());// create options
QrCodeSignOptionsoptions=newQrCodeSignOptions();options.setEncodeType(QrCodeTypes.QR);// setup Data property to the Event instance
options.setData(event);// set right bottom corner
options.setHorizontalAlignment(HorizontalAlignment.Right);options.setVerticalAlignment(VerticalAlignment.Bottom);options.setMargin(newPadding(10));options.setWidth(100);options.setHeight(100);// sign document to file
signature.sign("output.pdf",options);}finally{signature.dispose();}
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.
Signaturesignature=newSignature("sample.pdf");try{// create crypto currency object
CryptoCurrencyTransfertransfer=newCryptoCurrencyTransfer();transfer.setType(CryptoCurrencyType.Bitcoin);transfer.setAddress("1JHG2qjdk5Khiq7X5xQrr1wfigepJEK3t");transfer.setAmount(newBigDecimal("1234.56"));transfer.setMessage("Consulting services");// create alternative crypto currency object
CryptoCurrencyTransfercustomTransfer=newCryptoCurrencyTransfer();customTransfer.setType(CryptoCurrencyType.Custom);customTransfer.setCustomType("SuperCoin");customTransfer.setAddress("15N3yGu3UFHeyUNdzQ5sS3aRFRzu5Ae7EZ");customTransfer.setAmount(newBigDecimal("6543.21"));customTransfer.setMessage("Accounting services");// create QR-code options
QrCodeSignOptionsoptions1=newQrCodeSignOptions();options1.setData(transfer);options1.setLeft(10);options1.setTop(10);// create alternative QR-code options
QrCodeSignOptionsoptions2=newQrCodeSignOptions();options2.setData(customTransfer);options2.setLeft(10);options2.setTop(400);List<SignOptions>listOptions=newArrayList<SignOptions>();listOptions.add(options1);listOptions.add(options2);// sign document to file
signature.sign("output.pdf",listOptions);}finally{signature.dispose();}
Create an image with the WiFi QR Code information
This example shows how to create an image with the WiFi QR Code object.
Signaturesignature=newSignature("sample.png");try{// create WiFi object
WiFiwifi=newWiFi();wifi.setSSID("GuestNetwork!");wifi.setEncryption(WiFiEncryptionType.WPAWPA2);wifi.setPassword("guest");wifi.setHidden(false);// create options
QrCodeSignOptionsoptions=newQrCodeSignOptions();options.setEncodeType(QrCodeTypes.QR);// setup Data property to the WiFi instance
options.setData(wifi);// set right bottom corner
options.setHorizontalAlignment(HorizontalAlignment.Right);options.setVerticalAlignment(VerticalAlignment.Bottom);options.setMargin(newPadding(10));options.setWidth(100);options.setHeight(100);// sign document to file
signature.sign("output.png",options);}finally{signature.dispose();}
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.
Signaturesignature=newSignature("sample.pdf");try{// create SMS object
SMSsms=newSMS();sms.setNumber("0800 048 0408");sms.setMessage("Document approval automatic SMS message");// create options
QrCodeSignOptionsoptions=newQrCodeSignOptions();options.setEncodeType(QrCodeTypes.QR);// setup Data property to the SMS instance
options.setData(sms);// set right bottom corner
options.setHorizontalAlignment(HorizontalAlignment.Right);options.setVerticalAlignment(VerticalAlignment.Bottom);options.setMargin(newPadding(10));options.setWidth(100);options.setHeight(100);// sign document to file
signature.sign("output.pdf",options);}finally{signature.dispose();}
More resources
GitHub Examples
You may easily run the code above and see the feature in action in our GitHub examples: