com.aspose.words

Class SignatureLineOptions

  • java.lang.Object
    • com.aspose.words.SignatureLineOptions
public class SignatureLineOptions 
extends java.lang.Object

Allows to specify options for signature line being inserted. Used in DocumentBuilder.

Constructor Summary
 
Property Getters/Setters Summary
booleangetAllowComments()
void
setAllowComments(booleanvalue)
           Gets or sets a value indicating that the signer can add comments in the Sign dialog. Default value for this property is false.
booleangetDefaultInstructions()
void
           Gets or sets a value indicating that default instructions is shown in the Sign dialog. Default value for this property is true.
java.lang.StringgetEmail()
void
setEmail(java.lang.Stringvalue)
           Gets or sets suggested signer's e-mail address. Default value for this property is empty string.
java.lang.StringgetInstructions()
void
setInstructions(java.lang.Stringvalue)
           Gets or sets instructions to the signer that are displayed on signing the signature line. Default value for this property is empty string.
booleangetShowDate()
void
setShowDate(booleanvalue)
           Gets or sets a value indicating that sign date is shown in the signature line. Default value for this property is true.
java.lang.StringgetSigner()
void
setSigner(java.lang.Stringvalue)
           Gets or sets suggested signer of the signature line. Default value for this property is empty string.
java.lang.StringgetSignerTitle()
void
setSignerTitle(java.lang.Stringvalue)
           Gets or sets suggested signer's title. Default value for this property is empty string.
 

    • Constructor Detail

      • SignatureLineOptions

        public SignatureLineOptions()
    • Property Getters/Setters Detail

      • getAllowComments/setAllowComments

        public boolean getAllowComments() / public void setAllowComments(boolean value)
        
        Gets or sets a value indicating that the signer can add comments in the Sign dialog. Default value for this property is false.

        Example:

        Shows how to sign a document with a personal certificate and a signature line.
        Document doc = new Document();
        DocumentBuilder builder = new DocumentBuilder(doc);
        
        SignatureLineOptions signatureLineOptions = new SignatureLineOptions();
        signatureLineOptions.setSigner("vderyushev");
        signatureLineOptions.setSignerTitle("QA");
        signatureLineOptions.setEmail("vderyushev@aspose.com");
        signatureLineOptions.setShowDate(true);
        signatureLineOptions.setDefaultInstructions(false);
        signatureLineOptions.setInstructions("Please sign here.");
        signatureLineOptions.setAllowComments(true);
        
        SignatureLine signatureLine = builder.insertSignatureLine(signatureLineOptions).getSignatureLine();
        signatureLine.setProviderId(UUID.fromString("CF5A7BB4-8F3C-4756-9DF6-BEF7F13259A2"));
        
        doc.save(getArtifactsDir() + "DocumentBuilder.SignatureLineProviderId.docx");
        
        Date currentDate = new Date();
        
        SignOptions signOptions = new SignOptions();
        signOptions.setSignatureLineId(signatureLine.getId());
        signOptions.setProviderId(signatureLine.getProviderId());
        signOptions.setComments("Document was signed by vderyushev");
        signOptions.setSignTime(currentDate);
        
        CertificateHolder certHolder = CertificateHolder.create(getMyDir() + "morzal.pfx", "aw");
        
        DigitalSignatureUtil.sign(getArtifactsDir() + "DocumentBuilder.SignatureLineProviderId.docx",
                getArtifactsDir() + "DocumentBuilder.SignatureLineProviderId.Signed.docx", certHolder, signOptions);
      • getDefaultInstructions/setDefaultInstructions

        public boolean getDefaultInstructions() / public void setDefaultInstructions(boolean value)
        
        Gets or sets a value indicating that default instructions is shown in the Sign dialog. Default value for this property is true.

        Example:

        Shows how to sign a document with a personal certificate and a signature line.
        Document doc = new Document();
        DocumentBuilder builder = new DocumentBuilder(doc);
        
        SignatureLineOptions signatureLineOptions = new SignatureLineOptions();
        signatureLineOptions.setSigner("vderyushev");
        signatureLineOptions.setSignerTitle("QA");
        signatureLineOptions.setEmail("vderyushev@aspose.com");
        signatureLineOptions.setShowDate(true);
        signatureLineOptions.setDefaultInstructions(false);
        signatureLineOptions.setInstructions("Please sign here.");
        signatureLineOptions.setAllowComments(true);
        
        SignatureLine signatureLine = builder.insertSignatureLine(signatureLineOptions).getSignatureLine();
        signatureLine.setProviderId(UUID.fromString("CF5A7BB4-8F3C-4756-9DF6-BEF7F13259A2"));
        
        doc.save(getArtifactsDir() + "DocumentBuilder.SignatureLineProviderId.docx");
        
        Date currentDate = new Date();
        
        SignOptions signOptions = new SignOptions();
        signOptions.setSignatureLineId(signatureLine.getId());
        signOptions.setProviderId(signatureLine.getProviderId());
        signOptions.setComments("Document was signed by vderyushev");
        signOptions.setSignTime(currentDate);
        
        CertificateHolder certHolder = CertificateHolder.create(getMyDir() + "morzal.pfx", "aw");
        
        DigitalSignatureUtil.sign(getArtifactsDir() + "DocumentBuilder.SignatureLineProviderId.docx",
                getArtifactsDir() + "DocumentBuilder.SignatureLineProviderId.Signed.docx", certHolder, signOptions);
      • getEmail/setEmail

        public java.lang.String getEmail() / public void setEmail(java.lang.String value)
        
        Gets or sets suggested signer's e-mail address. Default value for this property is empty string.

        Example:

        Shows how to sign a document with a personal certificate and a signature line.
        Document doc = new Document();
        DocumentBuilder builder = new DocumentBuilder(doc);
        
        SignatureLineOptions signatureLineOptions = new SignatureLineOptions();
        signatureLineOptions.setSigner("vderyushev");
        signatureLineOptions.setSignerTitle("QA");
        signatureLineOptions.setEmail("vderyushev@aspose.com");
        signatureLineOptions.setShowDate(true);
        signatureLineOptions.setDefaultInstructions(false);
        signatureLineOptions.setInstructions("Please sign here.");
        signatureLineOptions.setAllowComments(true);
        
        SignatureLine signatureLine = builder.insertSignatureLine(signatureLineOptions).getSignatureLine();
        signatureLine.setProviderId(UUID.fromString("CF5A7BB4-8F3C-4756-9DF6-BEF7F13259A2"));
        
        doc.save(getArtifactsDir() + "DocumentBuilder.SignatureLineProviderId.docx");
        
        Date currentDate = new Date();
        
        SignOptions signOptions = new SignOptions();
        signOptions.setSignatureLineId(signatureLine.getId());
        signOptions.setProviderId(signatureLine.getProviderId());
        signOptions.setComments("Document was signed by vderyushev");
        signOptions.setSignTime(currentDate);
        
        CertificateHolder certHolder = CertificateHolder.create(getMyDir() + "morzal.pfx", "aw");
        
        DigitalSignatureUtil.sign(getArtifactsDir() + "DocumentBuilder.SignatureLineProviderId.docx",
                getArtifactsDir() + "DocumentBuilder.SignatureLineProviderId.Signed.docx", certHolder, signOptions);
      • getInstructions/setInstructions

        public java.lang.String getInstructions() / public void setInstructions(java.lang.String value)
        
        Gets or sets instructions to the signer that are displayed on signing the signature line. Default value for this property is empty string.

        Example:

        Shows how to sign a document with a personal certificate and a signature line.
        Document doc = new Document();
        DocumentBuilder builder = new DocumentBuilder(doc);
        
        SignatureLineOptions signatureLineOptions = new SignatureLineOptions();
        signatureLineOptions.setSigner("vderyushev");
        signatureLineOptions.setSignerTitle("QA");
        signatureLineOptions.setEmail("vderyushev@aspose.com");
        signatureLineOptions.setShowDate(true);
        signatureLineOptions.setDefaultInstructions(false);
        signatureLineOptions.setInstructions("Please sign here.");
        signatureLineOptions.setAllowComments(true);
        
        SignatureLine signatureLine = builder.insertSignatureLine(signatureLineOptions).getSignatureLine();
        signatureLine.setProviderId(UUID.fromString("CF5A7BB4-8F3C-4756-9DF6-BEF7F13259A2"));
        
        doc.save(getArtifactsDir() + "DocumentBuilder.SignatureLineProviderId.docx");
        
        Date currentDate = new Date();
        
        SignOptions signOptions = new SignOptions();
        signOptions.setSignatureLineId(signatureLine.getId());
        signOptions.setProviderId(signatureLine.getProviderId());
        signOptions.setComments("Document was signed by vderyushev");
        signOptions.setSignTime(currentDate);
        
        CertificateHolder certHolder = CertificateHolder.create(getMyDir() + "morzal.pfx", "aw");
        
        DigitalSignatureUtil.sign(getArtifactsDir() + "DocumentBuilder.SignatureLineProviderId.docx",
                getArtifactsDir() + "DocumentBuilder.SignatureLineProviderId.Signed.docx", certHolder, signOptions);
      • getShowDate/setShowDate

        public boolean getShowDate() / public void setShowDate(boolean value)
        
        Gets or sets a value indicating that sign date is shown in the signature line. Default value for this property is true.

        Example:

        Shows how to sign a document with a personal certificate and a signature line.
        Document doc = new Document();
        DocumentBuilder builder = new DocumentBuilder(doc);
        
        SignatureLineOptions signatureLineOptions = new SignatureLineOptions();
        signatureLineOptions.setSigner("vderyushev");
        signatureLineOptions.setSignerTitle("QA");
        signatureLineOptions.setEmail("vderyushev@aspose.com");
        signatureLineOptions.setShowDate(true);
        signatureLineOptions.setDefaultInstructions(false);
        signatureLineOptions.setInstructions("Please sign here.");
        signatureLineOptions.setAllowComments(true);
        
        SignatureLine signatureLine = builder.insertSignatureLine(signatureLineOptions).getSignatureLine();
        signatureLine.setProviderId(UUID.fromString("CF5A7BB4-8F3C-4756-9DF6-BEF7F13259A2"));
        
        doc.save(getArtifactsDir() + "DocumentBuilder.SignatureLineProviderId.docx");
        
        Date currentDate = new Date();
        
        SignOptions signOptions = new SignOptions();
        signOptions.setSignatureLineId(signatureLine.getId());
        signOptions.setProviderId(signatureLine.getProviderId());
        signOptions.setComments("Document was signed by vderyushev");
        signOptions.setSignTime(currentDate);
        
        CertificateHolder certHolder = CertificateHolder.create(getMyDir() + "morzal.pfx", "aw");
        
        DigitalSignatureUtil.sign(getArtifactsDir() + "DocumentBuilder.SignatureLineProviderId.docx",
                getArtifactsDir() + "DocumentBuilder.SignatureLineProviderId.Signed.docx", certHolder, signOptions);
      • getSigner/setSigner

        public java.lang.String getSigner() / public void setSigner(java.lang.String value)
        
        Gets or sets suggested signer of the signature line. Default value for this property is empty string.

        Example:

        Demonstrates how to add new signature line to the document and sign it with personal signature using SignatureLineId.
        public static void sign() throws Exception {
            String signPersonName = "Ron Williams";
            String srcDocumentPath = getMyDir() + "Document.docx";
            String dstDocumentPath = getArtifactsDir() + "SignDocumentCustom.Sign.docx";
            String certificatePath = getMyDir() + "morzal.pfx";
            String certificatePassword = "aw";
        
            // We need to create simple list with test signers for this example
            createSignPersonData();
            System.out.println("Test data successfully added!");
        
            // Get sign person object by name of the person who must sign a document
            // This an example, in real use case you would return an object from a database
            SignPersonTestClass signPersonInfo = gSignPersonList.stream().filter(x -> x.getName() == signPersonName).findFirst().get();
        
            if (signPersonInfo != null) {
                signDocument(srcDocumentPath, dstDocumentPath, signPersonInfo, certificatePath, certificatePassword);
                System.out.println("Document successfully signed!");
            } else {
                System.out.println("Sign person does not exist, please check your parameters.");
            }
        
            // Now do something with a signed document, for example, save it to your database
            // Use 'new Document(dstDocumentPath)' for loading a signed document
        }
        
        /// <summary>
        /// Signs the document obtained at the source location and saves it to the specified destination.
        /// </summary>
        private static void signDocument(final String srcDocumentPath, final String dstDocumentPath,
                                         final SignPersonTestClass signPersonInfo, final String certificatePath,
                                         final String certificatePassword) throws Exception {
            // Create new document instance based on a test file that we need to sign
            Document document = new Document(srcDocumentPath);
            DocumentBuilder builder = new DocumentBuilder(document);
        
            // Add info about responsible person who sign a document
            SignatureLineOptions signatureLineOptions = new SignatureLineOptions();
            signatureLineOptions.setSigner(signPersonInfo.getName());
            signatureLineOptions.setSignerTitle(signPersonInfo.getPosition());
        
            // Add signature line for responsible person who sign a document
            SignatureLine signatureLine = builder.insertSignatureLine(signatureLineOptions).getSignatureLine();
            signatureLine.setId(signPersonInfo.getPersonId());
        
            // Save a document with line signatures into temporary file for future signing
            builder.getDocument().save(dstDocumentPath);
        
            // Create holder of certificate instance based on your personal certificate
            // This is the test certificate generated for this example
            CertificateHolder certificateHolder = CertificateHolder.create(certificatePath, certificatePassword);
        
            // Link our signature line with personal signature
            SignOptions signOptions = new SignOptions();
            signOptions.setSignatureLineId(signPersonInfo.getPersonId());
            signOptions.setSignatureLineImage(signPersonInfo.getImage());
        
            // Sign a document which contains signature line with personal certificate
            DigitalSignatureUtil.sign(dstDocumentPath, dstDocumentPath, certificateHolder, signOptions);
        }
        
        /// <summary>
        /// Create test data that contains info about sing persons.
        /// </summary>
        private static void createSignPersonData() throws IOException {
            InputStream inputStream = new FileInputStream(getImageDir() + "Logo.jpg");
        
            gSignPersonList = new ArrayList<>();
            gSignPersonList.add(new SignPersonTestClass(UUID.randomUUID(), "Ron Williams", "Chief Executive Officer",
                    DocumentHelper.getBytesFromStream(inputStream)));
            gSignPersonList.add(new SignPersonTestClass(UUID.randomUUID(), "Stephen Morse", "Head of Compliance",
                    DocumentHelper.getBytesFromStream(inputStream)));
        }
        
        private static ArrayList<SignPersonTestClass> gSignPersonList;
      • getSignerTitle/setSignerTitle

        public java.lang.String getSignerTitle() / public void setSignerTitle(java.lang.String value)
        
        Gets or sets suggested signer's title. Default value for this property is empty string.

        Example:

        Demonstrates how to add new signature line to the document and sign it with personal signature using SignatureLineId.
        public static void sign() throws Exception {
            String signPersonName = "Ron Williams";
            String srcDocumentPath = getMyDir() + "Document.docx";
            String dstDocumentPath = getArtifactsDir() + "SignDocumentCustom.Sign.docx";
            String certificatePath = getMyDir() + "morzal.pfx";
            String certificatePassword = "aw";
        
            // We need to create simple list with test signers for this example
            createSignPersonData();
            System.out.println("Test data successfully added!");
        
            // Get sign person object by name of the person who must sign a document
            // This an example, in real use case you would return an object from a database
            SignPersonTestClass signPersonInfo = gSignPersonList.stream().filter(x -> x.getName() == signPersonName).findFirst().get();
        
            if (signPersonInfo != null) {
                signDocument(srcDocumentPath, dstDocumentPath, signPersonInfo, certificatePath, certificatePassword);
                System.out.println("Document successfully signed!");
            } else {
                System.out.println("Sign person does not exist, please check your parameters.");
            }
        
            // Now do something with a signed document, for example, save it to your database
            // Use 'new Document(dstDocumentPath)' for loading a signed document
        }
        
        /// <summary>
        /// Signs the document obtained at the source location and saves it to the specified destination.
        /// </summary>
        private static void signDocument(final String srcDocumentPath, final String dstDocumentPath,
                                         final SignPersonTestClass signPersonInfo, final String certificatePath,
                                         final String certificatePassword) throws Exception {
            // Create new document instance based on a test file that we need to sign
            Document document = new Document(srcDocumentPath);
            DocumentBuilder builder = new DocumentBuilder(document);
        
            // Add info about responsible person who sign a document
            SignatureLineOptions signatureLineOptions = new SignatureLineOptions();
            signatureLineOptions.setSigner(signPersonInfo.getName());
            signatureLineOptions.setSignerTitle(signPersonInfo.getPosition());
        
            // Add signature line for responsible person who sign a document
            SignatureLine signatureLine = builder.insertSignatureLine(signatureLineOptions).getSignatureLine();
            signatureLine.setId(signPersonInfo.getPersonId());
        
            // Save a document with line signatures into temporary file for future signing
            builder.getDocument().save(dstDocumentPath);
        
            // Create holder of certificate instance based on your personal certificate
            // This is the test certificate generated for this example
            CertificateHolder certificateHolder = CertificateHolder.create(certificatePath, certificatePassword);
        
            // Link our signature line with personal signature
            SignOptions signOptions = new SignOptions();
            signOptions.setSignatureLineId(signPersonInfo.getPersonId());
            signOptions.setSignatureLineImage(signPersonInfo.getImage());
        
            // Sign a document which contains signature line with personal certificate
            DigitalSignatureUtil.sign(dstDocumentPath, dstDocumentPath, certificateHolder, signOptions);
        }
        
        /// <summary>
        /// Create test data that contains info about sing persons.
        /// </summary>
        private static void createSignPersonData() throws IOException {
            InputStream inputStream = new FileInputStream(getImageDir() + "Logo.jpg");
        
            gSignPersonList = new ArrayList<>();
            gSignPersonList.add(new SignPersonTestClass(UUID.randomUUID(), "Ron Williams", "Chief Executive Officer",
                    DocumentHelper.getBytesFromStream(inputStream)));
            gSignPersonList.add(new SignPersonTestClass(UUID.randomUUID(), "Stephen Morse", "Head of Compliance",
                    DocumentHelper.getBytesFromStream(inputStream)));
        }
        
        private static ArrayList<SignPersonTestClass> gSignPersonList;