GroupDocs.Signature for Java 17.6.0 Release Notes

Major Features

There are more than 20 improvements, new features and fixes in this regular release. The most notable are:

  • Introduced new Barcode Signature type for all supported Document formats. This version contains implementation of following encoding Barcode types EAN8, EAN13, EAN14, UPCA, UPCE, ITF14, Code39 Standard, Code39 Extended, Code 128.
  • Implemented all existing standard properties support for Barcode Signature like Alignment, Fonts, positioning, border options etc
  • Introduced Barcode verification features for all supported Document formats. Trial version supports only Code39 verification feature. Barcode verification supports only implemented types from Barcode signature. More encode types and verification decode types will be provided in next releases.
  • Introduced new QRCode Signature type for all supported Document formats. This version contains implementation of most used QRCode types like QR, Aztec, Data Matrix
  • Implemented all existing standard properties support for QRCode Signature like Alignment, Fonts, positioning, border options etc.
  • Introduced QRCode verification features for all supported Document formats. Trial version supports only standard QR verification feature.
  • Improved validation messages with detailed information
  • Updated Watermark implementations features and object positioning
  • Optimized Signature processing for Cells Documents

Full List of Issues Covering all Changes in this Release

KeySummaryIssue Type
SIGNATURENET-2906Implement QRCode Signature Verification for Words DocumentsNew Feature
SIGNATURENET-2905Implement QRCode Signature Verification for Cells DocumentsNew Feature
SIGNATURENET-2904Implement QRCode Signature Verification for Pdf DocumentsNew Feature
SIGNATURENET-2903Implement QRCode Signature Verification for Slides DocumentsNew Feature
SIGNATURENET-2896Implement Barcode Signature Verification for Words DocumentsNew Feature
SIGNATURENET-2893Implement Barcode Signature Verification for Slides DocumentsNew Feature
SIGNATURENET-2890Implement Barcode Signature Verification for Cells DocumentsNew Feature
SIGNATURENET-2887Implement Barcode Signature Verification for Pdf DocumentsNew Feature
SIGNATURENET-2872Implement QR-code Signature features for Slides DocumentsNew Feature
SIGNATURENET-2869Implement QR-code Signature features for Words DocumentsNew Feature
SIGNATURENET-2866Implement QR-code Signature features for Cells DocumentsNew Feature
SIGNATURENET-2863Implement QR-code Signature features for PDF DocumentsNew Feature
SIGNATURENET-2857Implement Barcode Signature features for Slides DocumentsNew Feature
SIGNATURENET-2854Implement Barcode Signature features for Words DocumentsNew Feature
SIGNATURENET-2851Implement Barcode Signature features for Cells DocumentsNew Feature
SIGNATURENET-2848Implement Barcode Signature features for PDF DocumentsNew Feature
SIGNATURENET-2267Digital Signature for Open Document files format supportNew Feature
SIGNATURENET-2879Improve validation messages with detailed informationImprovement
SIGNATURENET-2826Implement positioning subsystem for watermarks signaturesImprovement
SIGNATURENET-2539Error occurred when passing Digital PFX Certificate file rendered by DSA AlgorithmBug

Public API and Backward Incompatible Changes

1. Added new classes that describe Barcode types. Class BarcodeType contains description of Barcode encoding type, name and index in list of supported types. Newly added static class BarcodeTypes contains static objects of each supported Barcode type, same as list of all registered types in AllTypes array property. See common examples here: Working with Barcode Signature

Adding Barcode Signature

Barcode Signature options are listed in classes PdfBarcodeSignOptionsCellsBarcodeSignOptionsWordsBarcodeSignOptions and SlidesBarcodeSignOptions for corresponding document type

Java Setup Pdf Signature Text Options

// setup text signature options
PdfBarcodeSignOptions signOptions = new PdfBarcodeSignOptions();
// barcode type
signOptions.setEncodeType(BarcodeTypes.EAN_14);
// signature text
signOptions.setText("12345678901234");
// text position
signOptions.setHorizontalAlignment(HorizontalAlignment.Right);
signOptions.setVerticalAlignment(VerticalAlignment.Bottom);

2. Base class BarcodeSignOptions was added. This class inherits from SignTextOptions and implements all inherited properties and interfaces like Alignment, Opacity, etc. For each supported Document Type appropriate Signature Options were added CellsBarcodeSignOptionsPdfBarcodeSignOptionsSlidesBarcodeSignOptions and WordsBarcodeSignOptions.

See examples of using new Signature type per each Document Format on these links 

eSign document with Barcode signature

3. Added new classes that describe QR-code types. Class QRCodeType contains description of QR-code encoding type, name and index in list of supported types. Newly added static class **QRCodeTypes **contains static objects of each supported QRCode type, same as list of all registered types in AllTypes array property. See common examples here Working with QR-code Signature

Adding QR-code to Documents 

Barcode Signature options are listed in classes PdfQRCodeodeSignOptionsCellsQRCodeSignOptionsWordsQRCodeSignOptions and SlidesQRCodeSignOptions for corresponding document type

Java Setup Pdf Signature Text Options

// setup text signature options
PdfQRCodeSignOptions signOptions = new PdfQRCodeSignOptions();
//QR-code type
signOptions.setEncodeType(QRCodeTypes.QR);
// signature text
signOptions.setText("12345678901234");
// text position
signOptions.setHorizontalAlignment(HorizontalAlignment.Right);
signOptions.setVerticalAlignment(VerticalAlignment.Bottom);

4. Base class QRCodeSignOptions was added. This class inherits from SignTextOptions and implements all inherited properties and interfaces like Alignment, Opacity, etc. For each supported Document Type appropriate Signature Options were added CellsQRCodeSignOptionsPdfQRCodeSignOptionsSlidesQRCodeSignOptions and WordsQRCodeSignOptions.

See examples of using new Signature type per each Document Format on these links

eSign document with QR-code signature

5. For verification purposes of newly added Signature types new classes were added. Base class VerifyBarcodeOptions. This class inherits from VerifyTextOptions and implements all inherited properties like Text, VerifyPages, PagesSetup etc.

Verification of  Barcode Signature

String storagePath = "c:/Aspose/Test/Storage";
String outputPath = "c:/Aspose/Test/Output";
// setup Signature configuration
SignatureConfig signConfig = new SignatureConfig();
signConfig.setStoragePath(storagePath);
signConfig.setOutputPath(outputPath);
// instantiating the conversion handler
SignatureHandler handler = new SignatureHandler(signConfig);
// setup verification options
PDFVerifyBarcodeOptions verifyOptions = new PDFVerifyBarcodeOptions();
// verify only page with specified number
verifyOptions.setDocumentPageNumber(1);
// verify all pages of a document if true
verifyOptions.setVerifyAllPages(true);
// barcode type
verifyOptions.setEncodeType(BarcodeTypes.CODE_39_STANDARD);
//If verify option Text is set, it will be searched in Title, Subject and Contents
verifyOptions.setText("12345678");
//verify document
VerificationResult result = handler.verify("SignedBarCode.pdf", verifyOptions);
System.out.println("Verification pdf file with Barcode signature " + result.isValid());

For each supported Document Type appropriate Signature Options were added CellsVerifyBarcodeOptionsPdfVerifyBarcodeOptionsSlidesVerifyBarcodeOptions and WordsVerifyBarcodeOptions.

See examples of using new Signature type per each Document Format on these links - Verify Barcode signatures in the document

 
6. For verification purposes of newly added QR-code Signature types new classes were added. Base class VerifyQRCodeOptions. This class inherits from VerifyTextOptions and implements all inherited properties like Text, VerifyPages, PagesSetup etc. 

Verification of QR-code located on Document

String storagePath = "c:/Aspose/Test/Storage";
String outputPath = "c:/Aspose/Test/Output";
// setup Signature configuration
SignatureConfig signConfig = new SignatureConfig();
signConfig.setStoragePath(storagePath);
signConfig.setOutputPath(outputPath);
// instantiating the conversion handler
SignatureHandler handler = new SignatureHandler(signConfig);
// setup verification options
PDFVerifyQRCodeOptions verifyOptions = new PDFVerifyQRCodeOptions();
// verify only page with specified number
verifyOptions.setDocumentPageNumber(1);
// verify all pages of a document if true
verifyOptions.setVerifyAllPages(true);
// barcode type
verifyOptions.setEncodeType(QRCodeTypes.AZTEC);
//If verify option Text is set, it will be searched in Title, Subject and Contents
verifyOptions.setText("12345678");
//verify document
VerificationResult result = handler.verify("SignedQRCode.pdf", verifyOptions);
System.out.println("Verification pdf file with Qrcode signature " + result.isValid());

For each supported Document Type appropriate Signature Options were added CellsVerifyQRCodeOptionsPdfVerifyQRCodeOptionsSlidesVerifyQRCodeOptions and WordsVerifyQRCodeOptions. See examples of using new Signature type per each Document Format on these links

Verification documents signed with QR-code Signature