InsertSignatureLine

InsertSignatureLine(SignatureLineOptions)

在当前位置插入签名行。

public Shape InsertSignatureLine(SignatureLineOptions signatureLineOptions)
范围类型描述
signatureLineOptionsSignatureLineOptions存储创建签名行参数的对象。

返回值

刚刚插入的签名行节点。

例子

演示如何使用个人证书和签名行签署文档。

Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);

SignatureLineOptions signatureLineOptions = new SignatureLineOptions
{
    Signer = "vderyushev",
    SignerTitle = "QA",
    Email = "vderyushev@aspose.com",
    ShowDate = true,
    DefaultInstructions = false,
    Instructions = "Please sign here.",
    AllowComments = true
};

SignatureLine signatureLine = builder.InsertSignatureLine(signatureLineOptions).SignatureLine;
signatureLine.ProviderId = Guid.Parse("CF5A7BB4-8F3C-4756-9DF6-BEF7F13259A2");

Assert.False(signatureLine.IsSigned);
Assert.False(signatureLine.IsValid);

doc.Save(ArtifactsDir + "DocumentBuilder.SignatureLineProviderId.docx");

SignOptions signOptions = new SignOptions
{
    SignatureLineId = signatureLine.Id,
    ProviderId = signatureLine.ProviderId,
    Comments = "Document was signed by vderyushev",
    SignTime = DateTime.Now
};

CertificateHolder certHolder = CertificateHolder.Create(MyDir + "morzal.pfx", "aw");

DigitalSignatureUtil.Sign(ArtifactsDir + "DocumentBuilder.SignatureLineProviderId.docx", 
    ArtifactsDir + "DocumentBuilder.SignatureLineProviderId.Signed.docx", certHolder, signOptions);

// 重新打开我们保存的文档,并验证“IsSigned”和“IsValid”属性都等于“true”,
// 表示签名行包含签名。
doc = new Document(ArtifactsDir + "DocumentBuilder.SignatureLineProviderId.Signed.docx");
Shape shape = (Shape)doc.GetChild(NodeType.Shape, 0, true);
signatureLine = shape.SignatureLine;

Assert.True(signatureLine.IsSigned);
Assert.True(signatureLine.IsValid);

也可以看看


InsertSignatureLine(SignatureLineOptionsRelativeHorizontalPosition, double, RelativeVerticalPosition, double, WrapType)

在指定位置插入签名行。

public Shape InsertSignatureLine(SignatureLineOptions signatureLineOptions, 
    RelativeHorizontalPosition horzPos, double left, RelativeVerticalPosition vertPos, double top, 
    WrapType wrapType)
范围类型描述
signatureLineOptionsSignatureLineOptions存储创建签名行参数的对象。
horzPosRelativeHorizontalPosition指定从何处测量到签名线的距离。
leftDouble从原点到签名线左侧的距离(以磅为单位)。
vertPosRelativeVerticalPosition指定从何处测量到签名线的距离。
topDouble从原点到签名线顶边的距离(以磅为单位)。
wrapTypeWrapType指定如何将文本环绕签名行。

返回值

刚刚插入的签名行节点。

评论

您可以使用 更改图像大小、位置、定位方法和其他设置Shape该方法返回的对象。

例子

演示如何将内嵌签名行插入到文档中。

Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);

SignatureLineOptions options = new SignatureLineOptions
{
    Signer = "John Doe",
    SignerTitle = "Manager",
    Email = "johndoe@aspose.com",
    ShowDate = true,
    DefaultInstructions = false,
    Instructions = "Please sign here.",
    AllowComments = true
};

builder.InsertSignatureLine(options, RelativeHorizontalPosition.RightMargin, 2.0,
    RelativeVerticalPosition.Page, 3.0, WrapType.Inline);

// 签名行可以在 Microsoft Word 中双击签名。
doc.Save(ArtifactsDir + "DocumentBuilder.SignatureLineInline.docx");

也可以看看