/
AddTextAnnotationsToDocument.cs
131 lines (110 loc) · 2.9 KB
/
AddTextAnnotationsToDocument.cs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
using System;
using System.IO;
using Bulksign.Api;
namespace Bulksign.ApiSamples
{
public class AddTextAnnotationsToDocument
{
public void RunSample()
{
try
{
AuthenticationApiModel token = new Authentication().GetAuthenticationModel();
if (string.IsNullOrEmpty(token.Key))
{
Console.WriteLine("Please edit Authentication.cs and set your own API key there");
return;
}
BulksignApiClient client = new BulksignApiClient();
EnvelopeApiModel envelope = new EnvelopeApiModel();
envelope.EnvelopeType = EnvelopeTypeApi.Serial;
envelope.DaysUntilExpire = 10;
envelope.DisableSignerEmailNotifications = false;
envelope.ReminderOptions = new ReminderOptionsApiModel()
{
EnableReminders = true,
RecurrentEachDays = 2
};
envelope.Recipients = new[]
{
new RecipientApiModel()
{
Name = "Bulksign Test",
Email = "contact@bulksign.com",
Index = 1,
RecipientType = RecipientTypeApi.Signer
}
};
DocumentApiModel document = new DocumentApiModel();
document.Index = 1;
document.FileName = "singlepage.pdf";
document.NewSignatures = new[]
{
new NewSignatureApiModel()
{
Height = 100,
Width = 250,
PageIndex = 1,
Left = 100,
Top = 500
}
};
//add new text annotations
document.NewAnnotations = new[]
{
//width,height, left and top values are in pixels
new NewAnnotationApiModel
{
PageIndex = 1,
Left = 10,
Top = 650,
FontSize = 28,
Type = AnnotationTypeApi.SenderCustom,
CustomText = "Annotation with custom text spanning multiple lines of text because the text is too long"
},
new NewAnnotationApiModel
{
PageIndex = 1,
Left = 10,
Top = 900,
FontSize = 28,
Type = AnnotationTypeApi.SenderName
},
new NewAnnotationApiModel
{
PageIndex = 1,
Left = 10,
Top = 940,
FontSize = 28,
Type = AnnotationTypeApi.SenderOrganizationName
}
};
envelope.Documents = new[]
{
new DocumentApiModel()
{
FileContentByteArray = new FileContentByteArray()
{
ContentBytes = File.ReadAllBytes(Environment.CurrentDirectory + @"\Files\forms.pdf")
},
FileName = "forms.pdf"
}
};
BulksignResult<SendEnvelopeResultApiModel> result = client.SendEnvelope(token, envelope);
if (result.IsSuccessful)
{
Console.WriteLine("Access code for recipient " + result.Result.RecipientAccess[0].RecipientEmail + " is " + result.Result.RecipientAccess[0].AccessCode);
Console.WriteLine("Envelope id is : " + result.Result.EnvelopeId);
}
else
{
Console.WriteLine("ERROR : " + result.ErrorCode + " " + result.ErrorMessage);
}
}
catch (BulksignException bex)
{
Console.WriteLine(bex.Message + Environment.NewLine + bex.Response);
}
}
}
}