java.lang.Object
com.aspose.words.SignatureLineOptions
public class SignatureLineOptions
To learn more, visit the Work with Digital Signatures documentation article. Example:
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"));
Assert.assertFalse(signatureLine.isSigned());
Assert.assertFalse(signatureLine.isValid());
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);
// Re-open our saved document, and verify that the "IsSigned" and "IsValid" properties both equal "true",
// indicating that the signature line contains a signature.
doc = new Document(getArtifactsDir() + "DocumentBuilder.SignatureLineProviderId.Signed.docx");
Shape shape = (Shape) doc.getChild(NodeType.SHAPE, 0, true);
signatureLine = shape.getSignatureLine();
Assert.assertTrue(signatureLine.isSigned());
Assert.assertTrue(signatureLine.isValid());
| Constructor Summary |
|---|
SignatureLineOptions()
|
| Property Getters/Setters Summary | ||
|---|---|---|
boolean | getAllowComments() | |
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.
|
||
boolean | getDefaultInstructions() | |
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.
|
||
java.lang.String | getEmail() | |
void | setEmail(java.lang.String value) | |
| Gets or sets suggested signer's e-mail address. Default value for this property is empty string. | ||
java.lang.String | getInstructions() | |
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. | ||
boolean | getShowDate() | |
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.
|
||
java.lang.String | getSigner() | |
void | setSigner(java.lang.String value) | |
| Gets or sets suggested signer of the signature line. Default value for this property is empty string. | ||
java.lang.String | getSignerTitle() | |
void | setSignerTitle(java.lang.String value) | |
| Gets or sets suggested signer's title. Default value for this property is empty string. | ||
| Constructor Detail |
|---|
public SignatureLineOptions()
| Property Getters/Setters Detail |
|---|
getAllowComments/setAllowComments | |
public boolean getAllowComments() / public void setAllowComments(boolean value) | |
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"));
Assert.assertFalse(signatureLine.isSigned());
Assert.assertFalse(signatureLine.isValid());
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);
// Re-open our saved document, and verify that the "IsSigned" and "IsValid" properties both equal "true",
// indicating that the signature line contains a signature.
doc = new Document(getArtifactsDir() + "DocumentBuilder.SignatureLineProviderId.Signed.docx");
Shape shape = (Shape) doc.getChild(NodeType.SHAPE, 0, true);
signatureLine = shape.getSignatureLine();
Assert.assertTrue(signatureLine.isSigned());
Assert.assertTrue(signatureLine.isValid());getDefaultInstructions/setDefaultInstructions | |
public boolean getDefaultInstructions() / public void setDefaultInstructions(boolean value) | |
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"));
Assert.assertFalse(signatureLine.isSigned());
Assert.assertFalse(signatureLine.isValid());
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);
// Re-open our saved document, and verify that the "IsSigned" and "IsValid" properties both equal "true",
// indicating that the signature line contains a signature.
doc = new Document(getArtifactsDir() + "DocumentBuilder.SignatureLineProviderId.Signed.docx");
Shape shape = (Shape) doc.getChild(NodeType.SHAPE, 0, true);
signatureLine = shape.getSignatureLine();
Assert.assertTrue(signatureLine.isSigned());
Assert.assertTrue(signatureLine.isValid());getEmail/setEmail | |
public java.lang.String getEmail() / public void setEmail(java.lang.String value) | |
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"));
Assert.assertFalse(signatureLine.isSigned());
Assert.assertFalse(signatureLine.isValid());
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);
// Re-open our saved document, and verify that the "IsSigned" and "IsValid" properties both equal "true",
// indicating that the signature line contains a signature.
doc = new Document(getArtifactsDir() + "DocumentBuilder.SignatureLineProviderId.Signed.docx");
Shape shape = (Shape) doc.getChild(NodeType.SHAPE, 0, true);
signatureLine = shape.getSignatureLine();
Assert.assertTrue(signatureLine.isSigned());
Assert.assertTrue(signatureLine.isValid());getInstructions/setInstructions | |
public java.lang.String getInstructions() / public void setInstructions(java.lang.String value) | |
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"));
Assert.assertFalse(signatureLine.isSigned());
Assert.assertFalse(signatureLine.isValid());
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);
// Re-open our saved document, and verify that the "IsSigned" and "IsValid" properties both equal "true",
// indicating that the signature line contains a signature.
doc = new Document(getArtifactsDir() + "DocumentBuilder.SignatureLineProviderId.Signed.docx");
Shape shape = (Shape) doc.getChild(NodeType.SHAPE, 0, true);
signatureLine = shape.getSignatureLine();
Assert.assertTrue(signatureLine.isSigned());
Assert.assertTrue(signatureLine.isValid());getShowDate/setShowDate | |
public boolean getShowDate() / public void setShowDate(boolean value) | |
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"));
Assert.assertFalse(signatureLine.isSigned());
Assert.assertFalse(signatureLine.isValid());
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);
// Re-open our saved document, and verify that the "IsSigned" and "IsValid" properties both equal "true",
// indicating that the signature line contains a signature.
doc = new Document(getArtifactsDir() + "DocumentBuilder.SignatureLineProviderId.Signed.docx");
Shape shape = (Shape) doc.getChild(NodeType.SHAPE, 0, true);
signatureLine = shape.getSignatureLine();
Assert.assertTrue(signatureLine.isSigned());
Assert.assertTrue(signatureLine.isValid());getSigner/setSigner | |
public java.lang.String getSigner() / public void setSigner(java.lang.String value) | |
Example:
Shows how to add a signature line to a document, and then sign it using a digital certificate.
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) | |
Example:
Shows how to add a signature line to a document, and then sign it using a digital certificate.
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;