groupdocs 1.5.7 → 1.5.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/CHANGELOG.md +51 -0
- data/examples/api-samples/Gemfile +1 -1
- data/examples/api-samples/Gemfile.lock +43 -0
- data/examples/api-samples/public/docs/{sample2.html → sample01.html} +39 -19
- data/examples/api-samples/public/docs/{sample3.html → sample02.html} +28 -22
- data/examples/api-samples/public/docs/sample03.html +285 -0
- data/examples/api-samples/public/docs/{sample4.html → sample04.html} +30 -36
- data/examples/api-samples/public/docs/{sample5.html → sample05.html} +68 -31
- data/examples/api-samples/public/docs/sample06.html +299 -0
- data/examples/api-samples/public/docs/{sample7.html → sample07.html} +53 -18
- data/examples/api-samples/public/docs/{sample8.html → sample08.html} +64 -41
- data/examples/api-samples/public/docs/sample09.html +260 -0
- data/examples/api-samples/public/docs/sample10.html +67 -28
- data/examples/api-samples/public/docs/sample11.html +171 -55
- data/examples/api-samples/public/docs/sample12.html +53 -17
- data/examples/api-samples/public/docs/sample13.html +52 -16
- data/examples/api-samples/public/docs/sample14.html +51 -8
- data/examples/api-samples/public/docs/sample15.html +46 -10
- data/examples/api-samples/public/docs/sample16.html +81 -7
- data/examples/api-samples/public/docs/sample17.html +103 -15
- data/examples/api-samples/public/docs/sample18.html +117 -41
- data/examples/api-samples/public/docs/sample19.html +410 -36
- data/examples/api-samples/public/docs/sample20.html +46 -10
- data/examples/api-samples/public/docs/sample21.html +504 -45
- data/examples/api-samples/public/docs/sample22.html +166 -28
- data/examples/api-samples/public/docs/sample23.html +61 -25
- data/examples/api-samples/public/docs/sample24.html +100 -12
- data/examples/api-samples/public/docs/sample25.html +123 -49
- data/examples/api-samples/public/docs/sample26.html +41 -8
- data/examples/api-samples/public/docs/sample27.html +125 -50
- data/examples/api-samples/public/docs/sample28.html +27 -9
- data/examples/api-samples/public/docs/sample29.html +10 -10
- data/examples/api-samples/public/docs/sample30.html +70 -14
- data/examples/api-samples/public/docs/sample31.html +108 -67
- data/examples/api-samples/public/docs/sample32.html +71 -99
- data/examples/api-samples/public/docs/sample33.html +107 -32
- data/examples/api-samples/public/docs/{sample1.html → sample34.html} +58 -18
- data/examples/api-samples/public/docs/sample35.html +666 -0
- data/examples/api-samples/public/docs/{sample6.html → sample36.html} +56 -37
- data/examples/api-samples/public/docs/sample37.html +815 -0
- data/examples/api-samples/public/docs/sample38.html +508 -0
- data/examples/api-samples/public/docs/sample39.html +921 -0
- data/examples/api-samples/public/docs/sample40.html +510 -0
- data/examples/api-samples/public/docs/sample41.html +452 -0
- data/examples/api-samples/public/docs/sample42.html +311 -0
- data/examples/api-samples/public/templates/test_all_fields2.pdf +0 -0
- data/examples/api-samples/samples/sample01.rb +37 -0
- data/examples/api-samples/samples/sample02.rb +41 -0
- data/examples/api-samples/samples/sample03.rb +73 -0
- data/examples/api-samples/samples/sample04.rb +47 -0
- data/examples/api-samples/samples/{sample5.rb → sample05.rb} +26 -14
- data/examples/api-samples/samples/sample06.rb +80 -0
- data/examples/api-samples/samples/sample07.rb +52 -0
- data/examples/api-samples/samples/sample08.rb +69 -0
- data/examples/api-samples/samples/sample09.rb +83 -0
- data/examples/api-samples/samples/sample10.rb +29 -15
- data/examples/api-samples/samples/sample11.rb +89 -37
- data/examples/api-samples/samples/sample12.rb +22 -11
- data/examples/api-samples/samples/sample13.rb +22 -10
- data/examples/api-samples/samples/sample14.rb +23 -5
- data/examples/api-samples/samples/sample15.rb +18 -7
- data/examples/api-samples/samples/sample16.rb +28 -4
- data/examples/api-samples/samples/sample17.rb +31 -5
- data/examples/api-samples/samples/sample18.rb +36 -8
- data/examples/api-samples/samples/sample19.rb +138 -18
- data/examples/api-samples/samples/sample20.rb +14 -3
- data/examples/api-samples/samples/sample21.rb +162 -23
- data/examples/api-samples/samples/sample22.rb +73 -22
- data/examples/api-samples/samples/sample23.rb +17 -6
- data/examples/api-samples/samples/sample24.rb +34 -7
- data/examples/api-samples/samples/sample25.rb +37 -12
- data/examples/api-samples/samples/sample26.rb +12 -5
- data/examples/api-samples/samples/sample27.rb +38 -12
- data/examples/api-samples/samples/sample28.rb +25 -6
- data/examples/api-samples/samples/sample29.rb +12 -12
- data/examples/api-samples/samples/sample30.rb +27 -15
- data/examples/api-samples/samples/sample31.rb +44 -33
- data/examples/api-samples/samples/sample32.rb +43 -41
- data/examples/api-samples/samples/sample33.rb +42 -14
- data/examples/api-samples/samples/sample34.rb +40 -0
- data/examples/api-samples/samples/sample35.rb +224 -0
- data/examples/api-samples/samples/sample36.rb +58 -0
- data/examples/api-samples/samples/sample37.rb +229 -0
- data/examples/api-samples/samples/sample38.rb +128 -0
- data/examples/api-samples/samples/sample39.rb +252 -0
- data/examples/api-samples/samples/sample40.rb +164 -0
- data/examples/api-samples/samples/sample41.rb +118 -0
- data/examples/api-samples/samples/sample42.rb +97 -0
- data/examples/api-samples/views/_others_samples.haml +25 -11
- data/examples/api-samples/views/index.haml +23 -11
- data/examples/api-samples/views/popup.haml +32 -0
- data/examples/api-samples/views/{sample1.haml → sample01.haml} +12 -7
- data/examples/api-samples/views/{sample2.haml → sample02.haml} +20 -15
- data/examples/api-samples/views/sample03.haml +83 -0
- data/examples/api-samples/views/sample04.haml +49 -0
- data/examples/api-samples/views/{sample5.haml → sample05.haml} +19 -14
- data/examples/api-samples/views/sample06.haml +53 -0
- data/examples/api-samples/views/sample07.haml +47 -0
- data/examples/api-samples/views/{sample8.haml → sample08.haml} +17 -12
- data/examples/api-samples/views/{sample9.haml → sample09.haml} +19 -4
- data/examples/api-samples/views/sample10.haml +18 -13
- data/examples/api-samples/views/sample11.haml +48 -19
- data/examples/api-samples/views/sample12.haml +26 -21
- data/examples/api-samples/views/sample13.haml +18 -12
- data/examples/api-samples/views/sample14.haml +21 -15
- data/examples/api-samples/views/sample15.haml +16 -9
- data/examples/api-samples/views/sample16.haml +18 -5
- data/examples/api-samples/views/sample17.haml +14 -9
- data/examples/api-samples/views/sample18.haml +13 -7
- data/examples/api-samples/views/sample19.haml +37 -8
- data/examples/api-samples/views/sample20.haml +13 -8
- data/examples/api-samples/views/sample21.haml +71 -13
- data/examples/api-samples/views/sample22.haml +53 -16
- data/examples/api-samples/views/sample23.haml +9 -4
- data/examples/api-samples/views/sample24.haml +9 -4
- data/examples/api-samples/views/sample25.haml +18 -13
- data/examples/api-samples/views/sample26.haml +8 -3
- data/examples/api-samples/views/sample27.haml +20 -14
- data/examples/api-samples/views/sample28.haml +16 -10
- data/examples/api-samples/views/sample29.haml +4 -4
- data/examples/api-samples/views/sample30.haml +16 -10
- data/examples/api-samples/views/sample31.haml +39 -32
- data/examples/api-samples/views/sample32.haml +25 -36
- data/examples/api-samples/views/sample33.haml +14 -17
- data/examples/api-samples/views/sample34.haml +48 -0
- data/examples/api-samples/views/sample35.haml +95 -0
- data/examples/api-samples/views/sample36.haml +64 -0
- data/examples/api-samples/views/sample37.haml +124 -0
- data/examples/api-samples/views/sample38.haml +115 -0
- data/examples/api-samples/views/sample39.haml +236 -0
- data/examples/api-samples/views/sample40.haml +95 -0
- data/examples/api-samples/views/{sample4.haml → sample41.haml} +90 -72
- data/examples/api-samples/views/sample42.haml +59 -0
- data/lib/groupdocs/api/helpers/rest_helper.rb +13 -1
- data/lib/groupdocs/datasource.rb +2 -1
- data/lib/groupdocs/document.rb +101 -13
- data/lib/groupdocs/document/annotation.rb +28 -13
- data/lib/groupdocs/document/annotation/marker.rb +18 -0
- data/lib/groupdocs/document/annotation/reply.rb +9 -2
- data/lib/groupdocs/document/field.rb +5 -1
- data/lib/groupdocs/job.rb +12 -2
- data/lib/groupdocs/questionnaire.rb +174 -4
- data/lib/groupdocs/questionnaire/collector.rb +21 -0
- data/lib/groupdocs/questionnaire/question.rb +19 -0
- data/lib/groupdocs/questionnaire/question/answer.rb +5 -0
- data/lib/groupdocs/questionnaire/question/conditions.rb +20 -0
- data/lib/groupdocs/signature.rb +36 -308
- data/lib/groupdocs/signature/envelope.rb +146 -4
- data/lib/groupdocs/signature/field.rb +20 -1
- data/lib/groupdocs/signature/field/location.rb +18 -7
- data/lib/groupdocs/signature/form.rb +199 -10
- data/lib/groupdocs/signature/shared/document_methods.rb +38 -0
- data/lib/groupdocs/signature/shared/entity_methods.rb +0 -1
- data/lib/groupdocs/signature/shared/field_methods.rb +13 -38
- data/lib/groupdocs/signature/shared/recipient_methods.rb +8 -0
- data/lib/groupdocs/signature/template.rb +3 -1
- data/lib/groupdocs/storage.rb +4 -1
- data/lib/groupdocs/storage/file.rb +18 -1
- data/lib/groupdocs/subscription.rb +8 -3
- data/lib/groupdocs/user.rb +8 -0
- data/lib/groupdocs/version.rb +1 -1
- data/spec/groupdocs/document/annotation_spec.rb +1 -14
- data/spec/groupdocs/subscription_spec.rb +2 -2
- metadata +86 -32
- checksums.yaml +0 -15
- data/examples/api-samples/public/docs/sample9.html +0 -200
- data/examples/api-samples/samples/sample1.rb +0 -25
- data/examples/api-samples/samples/sample2.rb +0 -29
- data/examples/api-samples/samples/sample3.rb +0 -33
- data/examples/api-samples/samples/sample4.rb +0 -51
- data/examples/api-samples/samples/sample6.rb +0 -49
- data/examples/api-samples/samples/sample7.rb +0 -42
- data/examples/api-samples/samples/sample8.rb +0 -61
- data/examples/api-samples/samples/sample9.rb +0 -48
- data/examples/api-samples/views/sample3.haml +0 -44
- data/examples/api-samples/views/sample6.haml +0 -49
- data/examples/api-samples/views/sample7.haml +0 -42
|
@@ -59,14 +59,16 @@
|
|
|
59
59
|
<div class="pilwrap ">
|
|
60
60
|
<a class="pilcrow" href="#section-3">¶</a>
|
|
61
61
|
</div>
|
|
62
|
-
<p>
|
|
62
|
+
<p>Set variables</p>
|
|
63
63
|
|
|
64
64
|
</div>
|
|
65
65
|
|
|
66
|
-
<div class="content"><div class='highlight'><pre> set <span class="symbol">:client_id</span>, params[<span class="symbol">:
|
|
67
|
-
set <span class="symbol">:private_key</span>, params[<span class="symbol">:
|
|
66
|
+
<div class="content"><div class='highlight'><pre> set <span class="symbol">:client_id</span>, params[<span class="symbol">:clientId</span>]
|
|
67
|
+
set <span class="symbol">:private_key</span>, params[<span class="symbol">:privateKey</span>]
|
|
68
68
|
set <span class="symbol">:guid</span>, params[<span class="symbol">:fileId</span>]
|
|
69
69
|
set <span class="symbol">:email</span>, params[<span class="symbol">:email</span>]
|
|
70
|
+
set <span class="symbol">:source</span>, params[<span class="symbol">:source</span>]
|
|
71
|
+
set <span class="symbol">:base_path</span>, params[<span class="symbol">:basePath</span>]
|
|
70
72
|
|
|
71
73
|
<span class="keyword">begin</span></pre></div></div>
|
|
72
74
|
|
|
@@ -79,11 +81,14 @@
|
|
|
79
81
|
<div class="pilwrap ">
|
|
80
82
|
<a class="pilcrow" href="#section-4">¶</a>
|
|
81
83
|
</div>
|
|
82
|
-
<p>
|
|
84
|
+
<p>Check required variables</p>
|
|
83
85
|
|
|
84
86
|
</div>
|
|
85
87
|
|
|
86
|
-
<div class="content"><div class='highlight'><pre> raise <span class="string">'Please enter all required parameters'</span> <span class="keyword">if</span> settings.client_id.empty? <span class="keyword">or</span> settings.private_key.empty? <span class="keyword">or</span> settings.guid.empty? <span class="keyword">or</span> settings.email.empty
|
|
88
|
+
<div class="content"><div class='highlight'><pre> raise <span class="string">'Please enter all required parameters'</span> <span class="keyword">if</span> settings.client_id.empty? <span class="keyword">or</span> settings.private_key.empty? <span class="keyword">or</span> settings.guid.empty? <span class="keyword">or</span> settings.email.empty?
|
|
89
|
+
|
|
90
|
+
|
|
91
|
+
<span class="keyword">if</span> settings.base_path.empty? <span class="keyword">then</span> settings.base_path = <span class="string">'https://api.groupdocs.com'</span> <span class="keyword">end</span></pre></div></div>
|
|
87
92
|
|
|
88
93
|
</li>
|
|
89
94
|
|
|
@@ -94,15 +99,13 @@
|
|
|
94
99
|
<div class="pilwrap ">
|
|
95
100
|
<a class="pilcrow" href="#section-5">¶</a>
|
|
96
101
|
</div>
|
|
97
|
-
<p>
|
|
102
|
+
<p>Configure your access to API server</p>
|
|
98
103
|
|
|
99
104
|
</div>
|
|
100
105
|
|
|
101
|
-
<div class="content"><div class='highlight'><pre>
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
file = <span class="constant">GroupDocs::Storage::File</span>.new({<span class="symbol">:guid</span> => settings.guid})
|
|
105
|
-
<span class="keyword">when</span> <span class="string">'local'</span></pre></div></div>
|
|
106
|
+
<div class="content"><div class='highlight'><pre> <span class="constant">GroupDocs</span>.configure <span class="keyword">do</span> |groupdocs|
|
|
107
|
+
groupdocs.client_id = settings.client_id
|
|
108
|
+
groupdocs.private_key = settings.private_key</pre></div></div>
|
|
106
109
|
|
|
107
110
|
</li>
|
|
108
111
|
|
|
@@ -113,11 +116,12 @@
|
|
|
113
116
|
<div class="pilwrap ">
|
|
114
117
|
<a class="pilcrow" href="#section-6">¶</a>
|
|
115
118
|
</div>
|
|
116
|
-
<p>
|
|
119
|
+
<p>Optionally specify API server and version</p>
|
|
117
120
|
|
|
118
121
|
</div>
|
|
119
122
|
|
|
120
|
-
<div class="content"><div class='highlight'><pre>
|
|
123
|
+
<div class="content"><div class='highlight'><pre> groupdocs.api_server = settings.base_path <span class="comment"># default is 'https://api.groupdocs.com'</span>
|
|
124
|
+
<span class="keyword">end</span></pre></div></div>
|
|
121
125
|
|
|
122
126
|
</li>
|
|
123
127
|
|
|
@@ -128,11 +132,16 @@
|
|
|
128
132
|
<div class="pilwrap ">
|
|
129
133
|
<a class="pilcrow" href="#section-7">¶</a>
|
|
130
134
|
</div>
|
|
131
|
-
<p>
|
|
135
|
+
<p>Get document by file GUID</p>
|
|
132
136
|
|
|
133
137
|
</div>
|
|
134
138
|
|
|
135
|
-
<div class="content"><div class='highlight'><pre>
|
|
139
|
+
<div class="content"><div class='highlight'><pre> file = <span class="keyword">nil</span>
|
|
140
|
+
<span class="keyword">case</span> settings.source
|
|
141
|
+
<span class="keyword">when</span> <span class="string">'guid'</span>
|
|
142
|
+
file = <span class="constant">GroupDocs::Storage::File</span>.new({<span class="symbol">:guid</span> => settings.guid}).to_document.metadata!()
|
|
143
|
+
file = file.last_view.document.file
|
|
144
|
+
<span class="keyword">when</span> <span class="string">'local'</span></pre></div></div>
|
|
136
145
|
|
|
137
146
|
</li>
|
|
138
147
|
|
|
@@ -143,13 +152,43 @@
|
|
|
143
152
|
<div class="pilwrap ">
|
|
144
153
|
<a class="pilcrow" href="#section-8">¶</a>
|
|
145
154
|
</div>
|
|
146
|
-
<p>
|
|
155
|
+
<p>Construct path</p>
|
|
147
156
|
|
|
148
157
|
</div>
|
|
149
158
|
|
|
150
|
-
<div class="content"><div class='highlight'><pre>
|
|
159
|
+
<div class="content"><div class='highlight'><pre> filepath = <span class="string">"<span class="subst">#{<span class="constant">Dir</span>.tmpdir}</span>/<span class="subst">#{params[<span class="symbol">:file</span>][<span class="symbol">:filename</span>]}</span>"</span></pre></div></div>
|
|
160
|
+
|
|
161
|
+
</li>
|
|
162
|
+
|
|
163
|
+
|
|
164
|
+
<li id="section-9">
|
|
165
|
+
<div class="annotation">
|
|
166
|
+
|
|
167
|
+
<div class="pilwrap ">
|
|
168
|
+
<a class="pilcrow" href="#section-9">¶</a>
|
|
169
|
+
</div>
|
|
170
|
+
<p>Open file</p>
|
|
171
|
+
|
|
172
|
+
</div>
|
|
173
|
+
|
|
174
|
+
<div class="content"><div class='highlight'><pre> <span class="constant">File</span>.open(filepath, <span class="string">'wb'</span>) { |f| f.write(params[<span class="symbol">:file</span>][<span class="symbol">:tempfile</span>].read) }</pre></div></div>
|
|
175
|
+
|
|
176
|
+
</li>
|
|
177
|
+
|
|
178
|
+
|
|
179
|
+
<li id="section-10">
|
|
180
|
+
<div class="annotation">
|
|
181
|
+
|
|
182
|
+
<div class="pilwrap ">
|
|
183
|
+
<a class="pilcrow" href="#section-10">¶</a>
|
|
184
|
+
</div>
|
|
185
|
+
<p>Make a request to API using client_id and private_key</p>
|
|
186
|
+
|
|
187
|
+
</div>
|
|
188
|
+
|
|
189
|
+
<div class="content"><div class='highlight'><pre> file = <span class="constant">GroupDocs::Storage::File</span>.upload!(filepath, {})
|
|
151
190
|
<span class="keyword">when</span> <span class="string">'url'</span>
|
|
152
|
-
file = <span class="constant">GroupDocs::Storage::File</span>.upload_web!(settings.url
|
|
191
|
+
file = <span class="constant">GroupDocs::Storage::File</span>.upload_web!(settings.url)
|
|
153
192
|
<span class="keyword">else</span>
|
|
154
193
|
raise <span class="string">'Wrong GUID source.'</span>
|
|
155
194
|
<span class="keyword">end</span></pre></div></div>
|
|
@@ -157,28 +196,28 @@
|
|
|
157
196
|
</li>
|
|
158
197
|
|
|
159
198
|
|
|
160
|
-
<li id="section-
|
|
199
|
+
<li id="section-11">
|
|
161
200
|
<div class="annotation">
|
|
162
201
|
|
|
163
202
|
<div class="pilwrap ">
|
|
164
|
-
<a class="pilcrow" href="#section-
|
|
203
|
+
<a class="pilcrow" href="#section-11">¶</a>
|
|
165
204
|
</div>
|
|
166
205
|
<p>Share document. Make a request to API using client_id and private_key</p>
|
|
167
206
|
|
|
168
207
|
</div>
|
|
169
208
|
|
|
170
|
-
<div class="content"><div class='highlight'><pre> shared = file.to_document.sharers_set!(settings.email.split(<span class="string">' '</span>)
|
|
209
|
+
<div class="content"><div class='highlight'><pre> shared = file.to_document.sharers_set!(settings.email.split(<span class="string">' '</span>))</pre></div></div>
|
|
171
210
|
|
|
172
211
|
</li>
|
|
173
212
|
|
|
174
213
|
|
|
175
|
-
<li id="section-
|
|
214
|
+
<li id="section-12">
|
|
176
215
|
<div class="annotation">
|
|
177
216
|
|
|
178
217
|
<div class="pilwrap ">
|
|
179
|
-
<a class="pilcrow" href="#section-
|
|
218
|
+
<a class="pilcrow" href="#section-12">¶</a>
|
|
180
219
|
</div>
|
|
181
|
-
<p>
|
|
220
|
+
<p>Result</p>
|
|
182
221
|
|
|
183
222
|
</div>
|
|
184
223
|
|
|
@@ -192,17 +231,17 @@
|
|
|
192
231
|
</li>
|
|
193
232
|
|
|
194
233
|
|
|
195
|
-
<li id="section-
|
|
234
|
+
<li id="section-13">
|
|
196
235
|
<div class="annotation">
|
|
197
236
|
|
|
198
237
|
<div class="pilwrap ">
|
|
199
|
-
<a class="pilcrow" href="#section-
|
|
238
|
+
<a class="pilcrow" href="#section-13">¶</a>
|
|
200
239
|
</div>
|
|
201
|
-
<p>
|
|
240
|
+
<p>Set variables for template</p>
|
|
202
241
|
|
|
203
242
|
</div>
|
|
204
243
|
|
|
205
|
-
<div class="content"><div class='highlight'><pre> haml <span class="symbol">:sample10</span>, <span class="symbol">:locals</span> => {<span class="symbol">:
|
|
244
|
+
<div class="content"><div class='highlight'><pre> haml <span class="symbol">:sample10</span>, <span class="symbol">:locals</span> => {<span class="symbol">:clientId</span> => settings.client_id, <span class="symbol">:privateKey</span> => settings.private_key, <span class="symbol">:guid</span> => settings.guid, <span class="symbol">:email</span> => settings.email, <span class="symbol">:shared</span> => shared_emails, <span class="symbol">:err</span> => err}
|
|
206
245
|
<span class="keyword">end</span></pre></div></div>
|
|
207
246
|
|
|
208
247
|
</li>
|
|
@@ -59,14 +59,16 @@
|
|
|
59
59
|
<div class="pilwrap ">
|
|
60
60
|
<a class="pilcrow" href="#section-3">¶</a>
|
|
61
61
|
</div>
|
|
62
|
-
<p>
|
|
62
|
+
<p>Set variables</p>
|
|
63
63
|
|
|
64
64
|
</div>
|
|
65
65
|
|
|
66
|
-
<div class="content"><div class='highlight'><pre> set <span class="symbol">:client_id</span>, params[<span class="symbol">:
|
|
67
|
-
set <span class="symbol">:private_key</span>, params[<span class="symbol">:
|
|
66
|
+
<div class="content"><div class='highlight'><pre> set <span class="symbol">:client_id</span>, params[<span class="symbol">:clientId</span>]
|
|
67
|
+
set <span class="symbol">:private_key</span>, params[<span class="symbol">:privateKey</span>]
|
|
68
68
|
set <span class="symbol">:file_id</span>, params[<span class="symbol">:fileId</span>]
|
|
69
|
-
set <span class="symbol">:annotation_type</span>, params[<span class="symbol">:
|
|
69
|
+
set <span class="symbol">:annotation_type</span>, params[<span class="symbol">:annotationType</span>]
|
|
70
|
+
set <span class="symbol">:annotation_id</span>, params[<span class="symbol">:annotationId</span>]
|
|
71
|
+
set <span class="symbol">:base_path</span>, params[<span class="symbol">:basePath</span>]
|
|
70
72
|
|
|
71
73
|
<span class="keyword">begin</span></pre></div></div>
|
|
72
74
|
|
|
@@ -79,11 +81,13 @@
|
|
|
79
81
|
<div class="pilwrap ">
|
|
80
82
|
<a class="pilcrow" href="#section-4">¶</a>
|
|
81
83
|
</div>
|
|
82
|
-
<p>
|
|
84
|
+
<p>Check required variables</p>
|
|
83
85
|
|
|
84
86
|
</div>
|
|
85
87
|
|
|
86
|
-
<div class="content"><div class='highlight'><pre> raise <span class="string">'Please enter all required parameters'</span> <span class="keyword">if</span> settings.client_id.empty? <span class="keyword">or</span> settings.private_key.empty? <span class="keyword">or</span> settings.file_id.empty? <span class="keyword">or</span> settings.annotation_type.empty
|
|
88
|
+
<div class="content"><div class='highlight'><pre> raise <span class="string">'Please enter all required parameters'</span> <span class="keyword">if</span> settings.client_id.empty? <span class="keyword">or</span> settings.private_key.empty? <span class="keyword">or</span> settings.file_id.empty? <span class="keyword">or</span> settings.annotation_type.empty?
|
|
89
|
+
|
|
90
|
+
<span class="keyword">if</span> settings.base_path.empty? <span class="keyword">then</span> settings.base_path = <span class="string">'https://api.groupdocs.com'</span> <span class="keyword">end</span></pre></div></div>
|
|
87
91
|
|
|
88
92
|
</li>
|
|
89
93
|
|
|
@@ -94,11 +98,13 @@
|
|
|
94
98
|
<div class="pilwrap ">
|
|
95
99
|
<a class="pilcrow" href="#section-5">¶</a>
|
|
96
100
|
</div>
|
|
97
|
-
<p>
|
|
101
|
+
<p>Configure your access to API server</p>
|
|
98
102
|
|
|
99
103
|
</div>
|
|
100
104
|
|
|
101
|
-
<div class="content"><div class='highlight'><pre>
|
|
105
|
+
<div class="content"><div class='highlight'><pre> <span class="constant">GroupDocs</span>.configure <span class="keyword">do</span> |groupdocs|
|
|
106
|
+
groupdocs.client_id = settings.client_id
|
|
107
|
+
groupdocs.private_key = settings.private_key</pre></div></div>
|
|
102
108
|
|
|
103
109
|
</li>
|
|
104
110
|
|
|
@@ -109,11 +115,17 @@
|
|
|
109
115
|
<div class="pilwrap ">
|
|
110
116
|
<a class="pilcrow" href="#section-6">¶</a>
|
|
111
117
|
</div>
|
|
112
|
-
<p>
|
|
118
|
+
<p>Optionally specify API server and version</p>
|
|
113
119
|
|
|
114
120
|
</div>
|
|
115
121
|
|
|
116
|
-
<div class="content"><div class='highlight'><pre>
|
|
122
|
+
<div class="content"><div class='highlight'><pre> groupdocs.api_server = settings.base_path <span class="comment"># default is 'https://api.groupdocs.com'</span>
|
|
123
|
+
<span class="keyword">end</span>
|
|
124
|
+
|
|
125
|
+
<span class="keyword">if</span> settings.annotation_id != <span class="string">''</span>
|
|
126
|
+
|
|
127
|
+
file = <span class="constant">GroupDocs::Storage::File</span>.new({<span class="symbol">:guid</span> => settings.file_id}).to_document
|
|
128
|
+
annotation = file.annotations!()</pre></div></div>
|
|
117
129
|
|
|
118
130
|
</li>
|
|
119
131
|
|
|
@@ -124,12 +136,59 @@
|
|
|
124
136
|
<div class="pilwrap ">
|
|
125
137
|
<a class="pilcrow" href="#section-7">¶</a>
|
|
126
138
|
</div>
|
|
127
|
-
<p>
|
|
139
|
+
<p>Remove annotation from document</p>
|
|
140
|
+
|
|
141
|
+
</div>
|
|
142
|
+
|
|
143
|
+
<div class="content"><div class='highlight'><pre> remove = annotation.last.remove!()
|
|
144
|
+
message = <span class="string">"You delete the annotation id = <span class="subst">#{remove[<span class="symbol">:guid</span>]}</span> "</span>
|
|
145
|
+
<span class="keyword">else</span></pre></div></div>
|
|
146
|
+
|
|
147
|
+
</li>
|
|
148
|
+
|
|
149
|
+
|
|
150
|
+
<li id="section-8">
|
|
151
|
+
<div class="annotation">
|
|
152
|
+
|
|
153
|
+
<div class="pilwrap ">
|
|
154
|
+
<a class="pilcrow" href="#section-8">¶</a>
|
|
155
|
+
</div>
|
|
156
|
+
<p>Annotation types</p>
|
|
157
|
+
|
|
158
|
+
</div>
|
|
159
|
+
|
|
160
|
+
<div class="content"><div class='highlight'><pre> types = {<span class="symbol">:text</span> => <span class="string">"0"</span>, <span class="symbol">:area</span> => <span class="string">"1"</span>, <span class="symbol">:point</span> => <span class="string">"2"</span>}</pre></div></div>
|
|
161
|
+
|
|
162
|
+
</li>
|
|
163
|
+
|
|
164
|
+
|
|
165
|
+
<li id="section-9">
|
|
166
|
+
<div class="annotation">
|
|
167
|
+
|
|
168
|
+
<div class="pilwrap ">
|
|
169
|
+
<a class="pilcrow" href="#section-9">¶</a>
|
|
170
|
+
</div>
|
|
171
|
+
<p>Required parameters</p>
|
|
172
|
+
|
|
173
|
+
</div>
|
|
174
|
+
|
|
175
|
+
<div class="content"><div class='highlight'><pre> all_params = all_params = [<span class="string">'annotation_type'</span>, <span class="string">'box_x'</span>, <span class="string">'box_y'</span>, <span class="string">'text'</span>]</pre></div></div>
|
|
176
|
+
|
|
177
|
+
</li>
|
|
178
|
+
|
|
179
|
+
|
|
180
|
+
<li id="section-10">
|
|
181
|
+
<div class="annotation">
|
|
182
|
+
|
|
183
|
+
<div class="pilwrap ">
|
|
184
|
+
<a class="pilcrow" href="#section-10">¶</a>
|
|
185
|
+
</div>
|
|
186
|
+
<p>Added required parameters depends on annotation type ['text' or 'area']</p>
|
|
128
187
|
|
|
129
188
|
</div>
|
|
130
189
|
|
|
131
190
|
<div class="content"><div class='highlight'><pre> <span class="keyword">if</span> settings.annotation_type == <span class="string">'text'</span>
|
|
132
|
-
all_params = all_params | [<span class="string">'box_width'</span>, <span class="string">'box_height'</span>, <span class="string">'annotationPosition_x'</span>, <span class="string">'annotationPosition_y'</span>]
|
|
191
|
+
all_params = all_params | [<span class="string">'box_width'</span>, <span class="string">'box_height'</span>, <span class="string">'annotationPosition_x'</span>, <span class="string">'annotationPosition_y'</span>, <span class="string">'range-position'</span>, <span class="string">'range-length'</span>]
|
|
133
192
|
<span class="keyword">elsif</span> settings.annotation_type == <span class="string">'area'</span>
|
|
134
193
|
all_params = all_params | [<span class="string">'box_width'</span>, <span class="string">'box_height'</span>]
|
|
135
194
|
<span class="keyword">end</span></pre></div></div>
|
|
@@ -137,13 +196,13 @@
|
|
|
137
196
|
</li>
|
|
138
197
|
|
|
139
198
|
|
|
140
|
-
<li id="section-
|
|
199
|
+
<li id="section-11">
|
|
141
200
|
<div class="annotation">
|
|
142
201
|
|
|
143
202
|
<div class="pilwrap ">
|
|
144
|
-
<a class="pilcrow" href="#section-
|
|
203
|
+
<a class="pilcrow" href="#section-11">¶</a>
|
|
145
204
|
</div>
|
|
146
|
-
<p>
|
|
205
|
+
<p>Checking required parameters</p>
|
|
147
206
|
|
|
148
207
|
</div>
|
|
149
208
|
|
|
@@ -154,29 +213,30 @@
|
|
|
154
213
|
</li>
|
|
155
214
|
|
|
156
215
|
|
|
157
|
-
<li id="section-
|
|
216
|
+
<li id="section-12">
|
|
158
217
|
<div class="annotation">
|
|
159
218
|
|
|
160
219
|
<div class="pilwrap ">
|
|
161
|
-
<a class="pilcrow" href="#section-
|
|
220
|
+
<a class="pilcrow" href="#section-12">¶</a>
|
|
162
221
|
</div>
|
|
163
|
-
<p>
|
|
222
|
+
<p>Make a request to API using client_id and private_key</p>
|
|
164
223
|
|
|
165
224
|
</div>
|
|
166
225
|
|
|
167
|
-
<div class="content"><div class='highlight'><pre> files_list = <span class="constant">GroupDocs::Storage::Folder</span>.list!(<span class="string">'/'</span>, {}
|
|
226
|
+
<div class="content"><div class='highlight'><pre> files_list = <span class="constant">GroupDocs::Storage::Folder</span>.list!(<span class="string">'/'</span>, {})
|
|
227
|
+
|
|
168
228
|
document = <span class="string">''</span></pre></div></div>
|
|
169
229
|
|
|
170
230
|
</li>
|
|
171
231
|
|
|
172
232
|
|
|
173
|
-
<li id="section-
|
|
233
|
+
<li id="section-13">
|
|
174
234
|
<div class="annotation">
|
|
175
235
|
|
|
176
236
|
<div class="pilwrap ">
|
|
177
|
-
<a class="pilcrow" href="#section-
|
|
237
|
+
<a class="pilcrow" href="#section-13">¶</a>
|
|
178
238
|
</div>
|
|
179
|
-
<p>
|
|
239
|
+
<p>Get document by file ID</p>
|
|
180
240
|
|
|
181
241
|
</div>
|
|
182
242
|
|
|
@@ -191,103 +251,151 @@
|
|
|
191
251
|
</li>
|
|
192
252
|
|
|
193
253
|
|
|
194
|
-
<li id="section-
|
|
254
|
+
<li id="section-14">
|
|
195
255
|
<div class="annotation">
|
|
196
256
|
|
|
197
257
|
<div class="pilwrap ">
|
|
198
|
-
<a class="pilcrow" href="#section-
|
|
258
|
+
<a class="pilcrow" href="#section-14">¶</a>
|
|
199
259
|
</div>
|
|
200
|
-
<p>
|
|
260
|
+
<p>Start create new annotation</p>
|
|
201
261
|
|
|
202
262
|
</div>
|
|
203
263
|
|
|
204
264
|
<div class="content"><div class='highlight'><pre> annotation = <span class="constant">GroupDocs::Document::Annotation</span>.new(<span class="symbol">document:</span> document.to_document)
|
|
205
|
-
|
|
265
|
+
|
|
266
|
+
|
|
267
|
+
info = <span class="keyword">nil</span></pre></div></div>
|
|
206
268
|
|
|
207
269
|
</li>
|
|
208
270
|
|
|
209
271
|
|
|
210
|
-
<li id="section-
|
|
272
|
+
<li id="section-15">
|
|
211
273
|
<div class="annotation">
|
|
212
274
|
|
|
213
275
|
<div class="pilwrap ">
|
|
214
|
-
<a class="pilcrow" href="#section-
|
|
276
|
+
<a class="pilcrow" href="#section-15">¶</a>
|
|
215
277
|
</div>
|
|
216
|
-
<p>
|
|
217
|
-
|
|
278
|
+
<p>Construct requestBody depends on annotation type
|
|
279
|
+
Text annotation</p>
|
|
218
280
|
|
|
219
281
|
</div>
|
|
220
282
|
|
|
221
283
|
<div class="content"><div class='highlight'><pre> <span class="keyword">if</span> settings.annotation_type == <span class="string">'text'</span>
|
|
222
|
-
annotation.box = {<span class="symbol">x:</span> params[<span class="string">'box_x'</span>], <span class="symbol">y:</span> params[<span class="string">'box_y'</span>], <span class="symbol">width:</span> params[<span class="string">'box_width'</span>], <span class="symbol">height:</span> params[<span class="string">'box_height'</span>]}
|
|
223
|
-
annotation.annotationPosition = {<span class="symbol">x:</span> params[<span class="string">'annotationPosition_x'</span>], <span class="symbol">y:</span> params[<span class="string">'annotationPosition_y'</span>]}
|
|
284
|
+
annotation.box = <span class="constant">GroupDocs::Document::Rectangle</span>.new ({<span class="symbol">x:</span> params[<span class="string">'box_x'</span>], <span class="symbol">y:</span> params[<span class="string">'box_y'</span>], <span class="symbol">width:</span> params[<span class="string">'box_width'</span>], <span class="symbol">height:</span> params[<span class="string">'box_height'</span>]})
|
|
285
|
+
annotation.annotationPosition = {<span class="symbol">x:</span> params[<span class="string">'annotationPosition_x'</span>], <span class="symbol">y:</span> params[<span class="string">'annotationPosition_y'</span>]}
|
|
286
|
+
range = {<span class="symbol">position:</span> params[<span class="string">'range-position'</span>], <span class="symbol">length:</span> params[<span class="string">'range-length'</span>]}
|
|
287
|
+
info = {<span class="symbol">:box</span> => annotation_box, <span class="symbol">:annotationPosition</span> => annotation_annotationPosition, <span class="symbol">:range</span> => range, <span class="symbol">:type</span> => types[settings.annotation_type.to_sym], <span class="symbol">:replies</span> => [{<span class="symbol">:text</span> => params[<span class="string">'text'</span>]}]}</pre></div></div>
|
|
224
288
|
|
|
225
289
|
</li>
|
|
226
290
|
|
|
227
291
|
|
|
228
|
-
<li id="section-
|
|
292
|
+
<li id="section-16">
|
|
229
293
|
<div class="annotation">
|
|
230
294
|
|
|
231
295
|
<div class="pilwrap ">
|
|
232
|
-
<a class="pilcrow" href="#section-
|
|
296
|
+
<a class="pilcrow" href="#section-16">¶</a>
|
|
233
297
|
</div>
|
|
234
|
-
<p>
|
|
298
|
+
<p>Area annotation</p>
|
|
235
299
|
|
|
236
300
|
</div>
|
|
237
301
|
|
|
238
302
|
<div class="content"><div class='highlight'><pre> <span class="keyword">elsif</span> settings.annotation_type == <span class="string">'area'</span>
|
|
239
|
-
|
|
240
|
-
|
|
303
|
+
annotation_box = {<span class="symbol">x:</span> params[<span class="string">'box_x'</span>], <span class="symbol">y:</span> params[<span class="string">'box_y'</span>], <span class="symbol">width:</span> params[<span class="string">'box_width'</span>], <span class="symbol">height:</span> params[<span class="string">'box_height'</span>]}
|
|
304
|
+
annotation_annotationPosition = {<span class="symbol">x:</span> <span class="number">0</span>, <span class="symbol">y:</span> <span class="number">0</span>}
|
|
305
|
+
info = {<span class="symbol">:box</span> => annotation_box, <span class="symbol">:annotationPosition</span> => annotation_annotationPosition, <span class="symbol">:type</span> => types[settings.annotation_type.to_sym], <span class="symbol">:replies</span> => [{<span class="symbol">:text</span> => params[<span class="string">'text'</span>]}]}</pre></div></div>
|
|
241
306
|
|
|
242
307
|
</li>
|
|
243
308
|
|
|
244
309
|
|
|
245
|
-
<li id="section-
|
|
310
|
+
<li id="section-17">
|
|
246
311
|
<div class="annotation">
|
|
247
312
|
|
|
248
313
|
<div class="pilwrap ">
|
|
249
|
-
<a class="pilcrow" href="#section-
|
|
314
|
+
<a class="pilcrow" href="#section-17">¶</a>
|
|
250
315
|
</div>
|
|
251
|
-
<p>
|
|
316
|
+
<p>Point annotation</p>
|
|
252
317
|
|
|
253
318
|
</div>
|
|
254
319
|
|
|
255
320
|
<div class="content"><div class='highlight'><pre> <span class="keyword">elsif</span> settings.annotation_type == <span class="string">'point'</span>
|
|
256
|
-
|
|
257
|
-
|
|
321
|
+
annotation_box = {<span class="symbol">x:</span> params[<span class="string">'box_x'</span>], <span class="symbol">y:</span> params[<span class="string">'box_y'</span>], <span class="symbol">width:</span> <span class="number">0</span>, <span class="symbol">height:</span> <span class="number">0</span>}
|
|
322
|
+
annotation_annotationPosition = {<span class="symbol">x:</span> <span class="number">0</span>, <span class="symbol">y:</span> <span class="number">0</span>}
|
|
323
|
+
|
|
324
|
+
info = {<span class="symbol">:box</span> => annotation_box, <span class="symbol">:annotationPosition</span> => annotation_annotationPosition, <span class="symbol">:type</span> => types[settings.annotation_type.to_sym], <span class="symbol">:replies</span> => [{<span class="symbol">:text</span> => params[<span class="string">'text'</span>]}] }
|
|
258
325
|
<span class="keyword">end</span></pre></div></div>
|
|
259
326
|
|
|
260
327
|
</li>
|
|
261
328
|
|
|
262
329
|
|
|
263
|
-
<li id="section-
|
|
330
|
+
<li id="section-18">
|
|
264
331
|
<div class="annotation">
|
|
265
332
|
|
|
266
333
|
<div class="pilwrap ">
|
|
267
|
-
<a class="pilcrow" href="#section-
|
|
334
|
+
<a class="pilcrow" href="#section-18">¶</a>
|
|
268
335
|
</div>
|
|
269
|
-
<p>
|
|
336
|
+
<p>Call create method</p>
|
|
270
337
|
|
|
271
338
|
</div>
|
|
272
339
|
|
|
273
|
-
<div class="content"><div class='highlight'><pre> annotation.create!(
|
|
340
|
+
<div class="content"><div class='highlight'><pre> annotation.create!(info)
|
|
341
|
+
id = annotation.document.file.id</pre></div></div>
|
|
274
342
|
|
|
275
343
|
</li>
|
|
276
344
|
|
|
277
345
|
|
|
278
|
-
<li id="section-
|
|
346
|
+
<li id="section-19">
|
|
279
347
|
<div class="annotation">
|
|
280
348
|
|
|
281
349
|
<div class="pilwrap ">
|
|
282
|
-
<a class="pilcrow" href="#section-
|
|
350
|
+
<a class="pilcrow" href="#section-19">¶</a>
|
|
283
351
|
</div>
|
|
284
|
-
<p>
|
|
352
|
+
<p>Get document guid</p>
|
|
285
353
|
|
|
286
354
|
</div>
|
|
287
355
|
|
|
288
|
-
<div class="content"><div class='highlight'><pre>
|
|
289
|
-
|
|
290
|
-
|
|
356
|
+
<div class="content"><div class='highlight'><pre> guid = annotation.document.file.guid
|
|
357
|
+
|
|
358
|
+
<span class="keyword">case</span> settings.base_path
|
|
359
|
+
|
|
360
|
+
<span class="keyword">when</span> <span class="string">'https://stage-api-groupdocs.dynabic.com'</span>
|
|
361
|
+
url = <span class="string">"http://stage-apps-groupdocs.dynabic.com/document-annotation2/embed/<span class="subst">#{guid}</span>"</span>
|
|
362
|
+
<span class="keyword">when</span> <span class="string">'https://dev-api-groupdocs.dynabic.com'</span>
|
|
363
|
+
url = <span class="string">"http://dev-apps-groupdocs.dynabic.com/document-annotation2/embed/<span class="subst">#{guid}</span>"</span>
|
|
364
|
+
<span class="keyword">else</span>
|
|
365
|
+
url = <span class="string">"http://apps.groupdocs.com/document-annotation2/embed/<span class="subst">#{guid}</span>"</span>
|
|
366
|
+
<span class="keyword">end</span></pre></div></div>
|
|
367
|
+
|
|
368
|
+
</li>
|
|
369
|
+
|
|
370
|
+
|
|
371
|
+
<li id="section-20">
|
|
372
|
+
<div class="annotation">
|
|
373
|
+
|
|
374
|
+
<div class="pilwrap ">
|
|
375
|
+
<a class="pilcrow" href="#section-20">¶</a>
|
|
376
|
+
</div>
|
|
377
|
+
<p>Add the signature in url</p>
|
|
378
|
+
|
|
379
|
+
</div>
|
|
380
|
+
|
|
381
|
+
<div class="content"><div class='highlight'><pre> url = <span class="constant">GroupDocs::Api::Request</span>.new(<span class="symbol">:path</span> => url).prepare_and_sign_url</pre></div></div>
|
|
382
|
+
|
|
383
|
+
</li>
|
|
384
|
+
|
|
385
|
+
|
|
386
|
+
<li id="section-21">
|
|
387
|
+
<div class="annotation">
|
|
388
|
+
|
|
389
|
+
<div class="pilwrap ">
|
|
390
|
+
<a class="pilcrow" href="#section-21">¶</a>
|
|
391
|
+
</div>
|
|
392
|
+
<p>Set iframe with document GUID</p>
|
|
393
|
+
|
|
394
|
+
</div>
|
|
395
|
+
|
|
396
|
+
<div class="content"><div class='highlight'><pre> iframe = <span class="string">"<iframe src='<span class="subst">#{url}</span>' frameborder='0' width='720' height='600'></iframe>"</span>
|
|
397
|
+
|
|
398
|
+
<span class="keyword">end</span>
|
|
291
399
|
|
|
292
400
|
<span class="keyword">end</span>
|
|
293
401
|
|
|
@@ -298,17 +406,25 @@ text annotation</p>
|
|
|
298
406
|
</li>
|
|
299
407
|
|
|
300
408
|
|
|
301
|
-
<li id="section-
|
|
409
|
+
<li id="section-22">
|
|
302
410
|
<div class="annotation">
|
|
303
411
|
|
|
304
412
|
<div class="pilwrap ">
|
|
305
|
-
<a class="pilcrow" href="#section-
|
|
413
|
+
<a class="pilcrow" href="#section-22">¶</a>
|
|
306
414
|
</div>
|
|
307
415
|
<p>set variables for template</p>
|
|
308
416
|
|
|
309
417
|
</div>
|
|
310
418
|
|
|
311
|
-
<div class="content"><div class='highlight'><pre> haml <span class="symbol">:sample11</span>, <span class="symbol">:locals</span> => {<span class="symbol">:
|
|
419
|
+
<div class="content"><div class='highlight'><pre> haml <span class="symbol">:sample11</span>, <span class="symbol">:locals</span> => {<span class="symbol">:clientId</span> => settings.client_id,
|
|
420
|
+
<span class="symbol">:privateKey</span> => settings.private_key,
|
|
421
|
+
<span class="symbol">:fileId</span> => settings.file_id,
|
|
422
|
+
<span class="symbol">:annotationType</span> => settings.annotation_type,
|
|
423
|
+
<span class="symbol">:annotationId</span> => id,
|
|
424
|
+
<span class="symbol">:annotationText</span> => params[<span class="string">'text'</span>],
|
|
425
|
+
<span class="symbol">:err</span> => err,
|
|
426
|
+
<span class="symbol">:iframe</span> => iframe,
|
|
427
|
+
<span class="symbol">:message</span> => message}
|
|
312
428
|
<span class="keyword">end</span></pre></div></div>
|
|
313
429
|
|
|
314
430
|
</li>
|