groupdocs 1.9.0 → 2.0.0
Sign up to get free protection for your applications and to get access to all the features.
- data/CHANGELOG.md +13 -0
- data/README.md +1 -1
- data/examples/api-samples/Gemfile +1 -1
- data/examples/api-samples/Gemfile.lock +29 -23
- data/examples/api-samples/public/css/style.css +10 -2
- data/examples/api-samples/public/docs/sample11.html +11 -7
- data/examples/api-samples/samples/sample11.rb +4 -6
- data/examples/api-samples/views/_others_samples.haml +231 -91
- data/examples/api-samples/views/index.haml +230 -92
- data/examples/api-samples/views/sample07.haml +1 -1
- data/examples/api-samples/web.rb +1 -0
- data/groupdocs.gemspec +2 -2
- data/lib/groupdocs/api.rb +1 -0
- data/lib/groupdocs/document.rb +12 -0
- data/lib/groupdocs/document/annotation.rb +5 -0
- data/lib/groupdocs/document/annotation/marker.rb +1 -1
- data/lib/groupdocs/document/editor.rb +13 -1
- data/lib/groupdocs/document/metadata.rb +6 -0
- data/lib/groupdocs/document/option.rb +9 -0
- data/lib/groupdocs/signature/form.rb +4 -6
- data/lib/groupdocs/storage/file.rb +1 -2
- data/lib/groupdocs/version.rb +1 -1
- data/spec/groupdocs/api/helpers/access_rights_helper_spec.rb +3 -3
- data/spec/groupdocs/api/helpers/byte_flag_helper_spec.rb +2 -2
- data/spec/groupdocs/datasource_spec.rb +5 -46
- data/spec/groupdocs/document/annotation/reply_spec.rb +5 -5
- data/spec/groupdocs/document/annotation/reviewer_spec.rb +2 -2
- data/spec/groupdocs/document/annotation_spec.rb +11 -43
- data/spec/groupdocs/document_spec.rb +61 -298
- data/spec/groupdocs/job_spec.rb +20 -74
- data/spec/groupdocs/questionnaire/collector_spec.rb +8 -8
- data/spec/groupdocs/questionnaire/execution_spec.rb +6 -6
- data/spec/groupdocs/questionnaire_spec.rb +28 -58
- data/spec/groupdocs/signature/contact_spec.rb +7 -7
- data/spec/groupdocs/signature/envelope_spec.rb +30 -34
- data/spec/groupdocs/signature/field_spec.rb +5 -5
- data/spec/groupdocs/signature/form_spec.rb +28 -16
- data/spec/groupdocs/signature/list_spec.rb +3 -3
- data/spec/groupdocs/signature/role_spec.rb +2 -2
- data/spec/groupdocs/signature/template_spec.rb +4 -4
- data/spec/groupdocs/signature_spec.rb +7 -20
- data/spec/groupdocs/storage/file_spec.rb +24 -80
- data/spec/groupdocs/storage/folder_spec.rb +14 -14
- data/spec/groupdocs/storage/package_spec.rb +2 -2
- data/spec/groupdocs/storage_spec.rb +1 -1
- data/spec/groupdocs/subscription_spec.rb +4 -123
- data/spec/groupdocs/user_spec.rb +14 -243
- data/spec/spec_helper.rb +4 -0
- data/spec/support/json/annotation_marker_move.json +11 -0
- data/spec/support/json/envelope_recipient_add.json +27 -0
- data/spec/support/json/job_documents.json +35 -103
- data/spec/support/shared_examples/signature/shared/document_methods.rb +4 -4
- data/spec/support/shared_examples/signature/shared/entity_methods.rb +10 -10
- data/spec/support/shared_examples/signature/shared/field_methods.rb +14 -18
- data/spec/support/shared_examples/signature/shared/recipient_methods.rb +3 -3
- data/spec/support/shared_examples/signature/shared/resource_methods.rb +2 -2
- metadata +13 -7
data/CHANGELOG.md
CHANGED
@@ -1,3 +1,16 @@
|
|
1
|
+
## v.2.0.0
|
2
|
+
|
3
|
+
**Changes**
|
4
|
+
*`Signature::Form#fields!` renamed to `Signature::Form#get_fields!`
|
5
|
+
*`Signature::Form#get_fields!` the updates in request path
|
6
|
+
*`Document.self.metadata!` added
|
7
|
+
|
8
|
+
**New**
|
9
|
+
* Added new attribute `Document` - "documentDescription"
|
10
|
+
* Added new attribute `Document::MetaData` - "type" and "url"
|
11
|
+
* Added new attribute `Document::Annotation` - "text"
|
12
|
+
* Added new attributes `Document::TemplateEditorFields` - "tableNumber" "tableRow" "tableColumn" "tableCell"
|
13
|
+
|
1
14
|
## v.1.9.0
|
2
15
|
|
3
16
|
**Changes**
|
data/README.md
CHANGED
@@ -1,43 +1,49 @@
|
|
1
1
|
GEM
|
2
2
|
remote: https://rubygems.org/
|
3
3
|
specs:
|
4
|
-
activesupport (4.
|
5
|
-
i18n (~> 0.
|
6
|
-
|
7
|
-
|
8
|
-
thread_safe (~> 0.
|
9
|
-
tzinfo (~>
|
10
|
-
|
11
|
-
groupdocs (
|
12
|
-
activesupport (
|
4
|
+
activesupport (4.2.0)
|
5
|
+
i18n (~> 0.7)
|
6
|
+
json (~> 1.7, >= 1.7.7)
|
7
|
+
minitest (~> 5.1)
|
8
|
+
thread_safe (~> 0.3, >= 0.3.4)
|
9
|
+
tzinfo (~> 1.1)
|
10
|
+
ffi (1.9.6-x86-mingw32)
|
11
|
+
groupdocs (2.0.0)
|
12
|
+
activesupport (~> 4.2)
|
13
13
|
json (~> 1.7)
|
14
14
|
mime-types (~> 1.19)
|
15
15
|
rest-client (~> 1.6)
|
16
|
-
haml (4.0.
|
16
|
+
haml (4.0.6)
|
17
17
|
tilt
|
18
|
-
i18n (0.
|
19
|
-
json (1.8.
|
20
|
-
mime-types (1.25)
|
21
|
-
minitest (
|
22
|
-
|
23
|
-
rack (1.
|
24
|
-
rack-protection (1.5.
|
18
|
+
i18n (0.7.0)
|
19
|
+
json (1.8.2)
|
20
|
+
mime-types (1.25.1)
|
21
|
+
minitest (5.5.1)
|
22
|
+
netrc (0.10.2)
|
23
|
+
rack (1.6.0)
|
24
|
+
rack-protection (1.5.3)
|
25
25
|
rack
|
26
|
-
rest-client (1.
|
27
|
-
mime-types (>= 1.16)
|
26
|
+
rest-client (1.7.2)
|
27
|
+
mime-types (>= 1.16, < 3.0)
|
28
|
+
netrc (~> 0.7)
|
29
|
+
rest-client (1.7.2-x86-mingw32)
|
30
|
+
ffi (~> 1.9)
|
31
|
+
mime-types (>= 1.16, < 3.0)
|
32
|
+
netrc (~> 0.7)
|
28
33
|
sinatra (1.3.6)
|
29
34
|
rack (~> 1.4)
|
30
35
|
rack-protection (~> 1.3)
|
31
36
|
tilt (~> 1.3, >= 1.3.3)
|
32
|
-
thread_safe (0.
|
33
|
-
atomic
|
37
|
+
thread_safe (0.3.4)
|
34
38
|
tilt (1.4.1)
|
35
|
-
tzinfo (
|
39
|
+
tzinfo (1.2.2)
|
40
|
+
thread_safe (~> 0.1)
|
36
41
|
|
37
42
|
PLATFORMS
|
43
|
+
ruby
|
38
44
|
x86-mingw32
|
39
45
|
|
40
46
|
DEPENDENCIES
|
41
|
-
groupdocs (=
|
47
|
+
groupdocs (= 2.0.0)
|
42
48
|
haml
|
43
49
|
sinatra (= 1.3.6)
|
@@ -90,7 +90,7 @@ p:last-child { margin-bottom:0; }
|
|
90
90
|
|
91
91
|
ul,ol { margin:0 45px 15px 45px; }
|
92
92
|
|
93
|
-
li { list-style-type:disc; }
|
93
|
+
li.samples { list-style-type:disc; }
|
94
94
|
|
95
95
|
pre,code,tt {
|
96
96
|
font-family:monaco;
|
@@ -116,7 +116,9 @@ small { font-size:0.6em; }
|
|
116
116
|
a { text-decoration:none; }
|
117
117
|
a:link,a:visited { color:#069; }
|
118
118
|
a:hover { color:#09c; }
|
119
|
-
|
119
|
+
a.links {text-decoration:none;}
|
120
|
+
a.links:link,a.links:visited { color:#000000; }
|
121
|
+
a.links:hover {color:#069;}
|
120
122
|
table {
|
121
123
|
margin-bottom:15px;
|
122
124
|
width:100%;
|
@@ -219,4 +221,10 @@ div.footer h5 {
|
|
219
221
|
float: right;
|
220
222
|
background: url(../images/help.png) no-repeat left;
|
221
223
|
padding-left: 20px;
|
224
|
+
}
|
225
|
+
.box {
|
226
|
+
display: none;
|
227
|
+
}
|
228
|
+
.box.visible {
|
229
|
+
display: block;
|
222
230
|
}
|
@@ -31,7 +31,7 @@
|
|
31
31
|
|
32
32
|
</div>
|
33
33
|
|
34
|
-
<div class="content"><div class='highlight'><pre>get <span class="hljs-string">'/sample-11-how-
|
34
|
+
<div class="content"><div class='highlight'><pre>get <span class="hljs-string">'/sample-11-how-programmatically-create-and-post-an-annotation-into-document'</span> <span class="hljs-keyword">do</span>
|
35
35
|
haml <span class="hljs-symbol">:sample11</span>
|
36
36
|
<span class="hljs-keyword">end</span></pre></div></div>
|
37
37
|
|
@@ -48,7 +48,7 @@
|
|
48
48
|
|
49
49
|
</div>
|
50
50
|
|
51
|
-
<div class="content"><div class='highlight'><pre>post <span class="hljs-string">'/sample-11-how-
|
51
|
+
<div class="content"><div class='highlight'><pre>post <span class="hljs-string">'/sample-11-how-programmatically-create-and-post-an-annotation-into-document'</span> <span class="hljs-keyword">do</span></pre></div></div>
|
52
52
|
|
53
53
|
</li>
|
54
54
|
|
@@ -210,7 +210,8 @@
|
|
210
210
|
all_params = all_params | [<span class="hljs-string">'boxWidth'</span>, <span class="hljs-string">'boxHeight'</span>, <span class="hljs-string">'annotationPositionX'</span>, <span class="hljs-string">'annotationPositionY'</span>, <span class="hljs-string">'rangePosition'</span>, <span class="hljs-string">'rangeLength'</span>]
|
211
211
|
<span class="hljs-keyword">elsif</span> settings.annotation_type == <span class="hljs-string">'area'</span>
|
212
212
|
all_params = all_params | [<span class="hljs-string">'boxWidth'</span>, <span class="hljs-string">'boxHeight'</span>]
|
213
|
-
<span class="hljs-keyword">end</span
|
213
|
+
<span class="hljs-keyword">end</span>
|
214
|
+
pp <span class="hljs-string">"test"</span></pre></div></div>
|
214
215
|
|
215
216
|
</li>
|
216
217
|
|
@@ -221,7 +222,8 @@
|
|
221
222
|
<div class="pilwrap ">
|
222
223
|
<a class="pilcrow" href="#section-12">¶</a>
|
223
224
|
</div>
|
224
|
-
<p>
|
225
|
+
<p>raise all_params.to_yaml
|
226
|
+
Checking required parameters</p>
|
225
227
|
|
226
228
|
</div>
|
227
229
|
|
@@ -278,10 +280,10 @@ Text annotation</p>
|
|
278
280
|
</div>
|
279
281
|
|
280
282
|
<div class="content"><div class='highlight'><pre> <span class="hljs-keyword">if</span> settings.annotation_type == <span class="hljs-string">'text'</span>
|
281
|
-
|
282
|
-
|
283
|
+
annotation_box = {<span class="hljs-symbol">x:</span> params[<span class="hljs-string">'boxX'</span>], <span class="hljs-symbol">y:</span> params[<span class="hljs-string">'boxY'</span>], <span class="hljs-symbol">width:</span> params[<span class="hljs-string">'boxWidth'</span>], <span class="hljs-symbol">height:</span> params[<span class="hljs-string">'boxHeight'</span>]}
|
284
|
+
annotation_position = {<span class="hljs-symbol">x:</span> params[<span class="hljs-string">'annotationPositionX'</span>], <span class="hljs-symbol">y:</span> params[<span class="hljs-string">'annotationPositionY'</span>]}
|
283
285
|
range = {<span class="hljs-symbol">position:</span> params[<span class="hljs-string">'rangePosition'</span>], <span class="hljs-symbol">length:</span> params[<span class="hljs-string">'rangeLength'</span>]}
|
284
|
-
info = {<span class="hljs-symbol">:box</span> => annotation_box, <span class="hljs-symbol">:annotationPosition</span> =>
|
286
|
+
info = { <span class="hljs-symbol">:box</span> => annotation_box, <span class="hljs-symbol">:annotationPosition</span> => annotation_position, <span class="hljs-symbol">:range</span> => range, <span class="hljs-symbol">:type</span> => types[settings.annotation_type.to_sym], <span class="hljs-symbol">:replies</span> => [{<span class="hljs-symbol">:text</span> => params[<span class="hljs-string">'text'</span>]}]}</pre></div></div>
|
285
287
|
|
286
288
|
</li>
|
287
289
|
|
@@ -299,6 +301,7 @@ Text annotation</p>
|
|
299
301
|
<div class="content"><div class='highlight'><pre> <span class="hljs-keyword">elsif</span> settings.annotation_type == <span class="hljs-string">'area'</span>
|
300
302
|
annotation_box = {<span class="hljs-symbol">x:</span> params[<span class="hljs-string">'boxX'</span>], <span class="hljs-symbol">y:</span> params[<span class="hljs-string">'boxY'</span>], <span class="hljs-symbol">width:</span> params[<span class="hljs-string">'boxWidth'</span>], <span class="hljs-symbol">height:</span> params[<span class="hljs-string">'boxHeight'</span>]}
|
301
303
|
annotation_annotationPosition = {<span class="hljs-symbol">x:</span> <span class="hljs-number">0</span>, <span class="hljs-symbol">y:</span> <span class="hljs-number">0</span>}
|
304
|
+
raise <span class="hljs-string">"test"</span>
|
302
305
|
info = {<span class="hljs-symbol">:box</span> => annotation_box, <span class="hljs-symbol">:annotationPosition</span> => annotation_annotationPosition, <span class="hljs-symbol">:type</span> => types[settings.annotation_type.to_sym], <span class="hljs-symbol">:replies</span> => [{<span class="hljs-symbol">:text</span> => params[<span class="hljs-string">'text'</span>]}]}</pre></div></div>
|
303
306
|
|
304
307
|
</li>
|
@@ -335,6 +338,7 @@ Text annotation</p>
|
|
335
338
|
</div>
|
336
339
|
|
337
340
|
<div class="content"><div class='highlight'><pre> annotation.create!(info)
|
341
|
+
raise annotation.to_yaml
|
338
342
|
id = annotation.document.file.id</pre></div></div>
|
339
343
|
|
340
344
|
</li>
|
@@ -47,7 +47,6 @@ post '/sample-11-how-programmatically-create-and-post-an-annotation-into-documen
|
|
47
47
|
#Annotation types
|
48
48
|
types = {:text => "0", :area => "1", :point => "2"}
|
49
49
|
|
50
|
-
|
51
50
|
#Required parameters
|
52
51
|
all_params = all_params = ['annotationType', 'boxX', 'boxY', 'text']
|
53
52
|
|
@@ -57,7 +56,7 @@ post '/sample-11-how-programmatically-create-and-post-an-annotation-into-documen
|
|
57
56
|
elsif settings.annotation_type == 'area'
|
58
57
|
all_params = all_params | ['boxWidth', 'boxHeight']
|
59
58
|
end
|
60
|
-
|
59
|
+
#raise all_params.to_yaml
|
61
60
|
#Checking required parameters
|
62
61
|
all_params.each do |param|
|
63
62
|
raise 'Please enter all required parameters' if params[param].empty?
|
@@ -75,10 +74,10 @@ post '/sample-11-how-programmatically-create-and-post-an-annotation-into-documen
|
|
75
74
|
#Construct requestBody depends on annotation type
|
76
75
|
#Text annotation
|
77
76
|
if settings.annotation_type == 'text'
|
78
|
-
|
79
|
-
|
77
|
+
annotation_box = {x: params['boxX'], y: params['boxY'], width: params['boxWidth'], height: params['boxHeight']}
|
78
|
+
annotation_position = {x: params['annotationPositionX'], y: params['annotationPositionY']}
|
80
79
|
range = {position: params['rangePosition'], length: params['rangeLength']}
|
81
|
-
info = {:box => annotation_box, :annotationPosition =>
|
80
|
+
info = { :box => annotation_box, :annotationPosition => annotation_position, :range => range, :type => types[settings.annotation_type.to_sym], :replies => [{:text => params['text']}]}
|
82
81
|
#Area annotation
|
83
82
|
elsif settings.annotation_type == 'area'
|
84
83
|
annotation_box = {x: params['boxX'], y: params['boxY'], width: params['boxWidth'], height: params['boxHeight']}
|
@@ -91,7 +90,6 @@ post '/sample-11-how-programmatically-create-and-post-an-annotation-into-documen
|
|
91
90
|
|
92
91
|
info = {:box => annotation_box, :annotationPosition => annotation_annotationPosition, :type => types[settings.annotation_type.to_sym], :replies => [{:text => params['text']}] }
|
93
92
|
end
|
94
|
-
|
95
93
|
#Call create method
|
96
94
|
annotation.create!(info)
|
97
95
|
id = annotation.document.file.id
|
@@ -1,93 +1,233 @@
|
|
1
1
|
%div{:style => 'padding:10px;'}
|
2
2
|
Choose another one sample:
|
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
|
-
|
3
|
+
|
4
|
+
%div{:style => 'padding:10px;', :class => 'section'}
|
5
|
+
%ul{:class => 'tabs'}
|
6
|
+
%li{:class=>"current, samples"}
|
7
|
+
%a{:href =>'#', :class=>'links'} All samples
|
8
|
+
%li{:class=>"samples"}
|
9
|
+
%a{:href =>'#', :class=>'links'} Viewer samples
|
10
|
+
%li{:class=>"samples"}
|
11
|
+
%a{:href =>'#', :class=>'links'} Annotation samples
|
12
|
+
%li{:class=>"samples"}
|
13
|
+
%a{:href =>'#', :class=>'links'} Assembly samples
|
14
|
+
%li{:class=>"samples"}
|
15
|
+
%a{:href =>'#', :class=>'links'} Signature samples
|
16
|
+
%li{:class=>"samples"}
|
17
|
+
%a{:href =>'#', :class=>'links'} Comparison samples
|
18
|
+
%li{:class=>"samples"}
|
19
|
+
%a{:href =>'#', :class=>'links'} Conversion samples
|
20
|
+
%li{:class=>"samples"}
|
21
|
+
%a{:href =>'#', :class=>'links'} Others samples
|
22
|
+
%div{:class=>"box visible"}
|
23
|
+
%ul
|
24
|
+
%li
|
25
|
+
%a{:href => '/sample-1-how-to-login-to-groupdocs-using-the-api'} Sample 1 - How to login to GroupDocs using the API
|
26
|
+
%li
|
27
|
+
%a{:href => '/sample-2-how-to-list-files-within-groupdocs-storage-using-the-storage-api'} Sample 2 - How to list files within GroupDocs Storage using the Storage API
|
28
|
+
%li
|
29
|
+
%a{:href => '/sample-3-how-to-upload-a-file-to-groupdocs-using-the-storage-api'} Sample 3 - How to upload a file to GroupDocs using the Storage API
|
30
|
+
%li
|
31
|
+
%a{:href => '/sample-4-how-to-download-a-file-from-groupdocs-storage-using-the-storage-api'} Sample 4 - How to download a file from GroupDocs Storage using the Storage API
|
32
|
+
%li
|
33
|
+
%a{:href => '/sample-5-how-to-copy-move-a-file-using-the-groupdocs-storage-api'} Sample 5 - How to copy / move a file using the GroupDocs Storage API
|
34
|
+
%li
|
35
|
+
%a{:href => '/sample-6-how-to-add-a-signature-to-a-document-in-groupdocs-signature'} Sample 6 - How to add a Signature to a document in GroupDocs Signature
|
36
|
+
%li
|
37
|
+
%a{:href => '/sample-7-how-to-create-a-list-of-thumbnails-for-a-document'} Sample 7 - How to create a list of thumbnails for a document
|
38
|
+
%li
|
39
|
+
%a{:href => '/sample-8-how-to-return-a-url-representing-a-single-page-of-a-document'} Sample 8 - How to return a URL representing a single page of a Document
|
40
|
+
%li
|
41
|
+
%a{:href => '/sample-9-how-to-generate-an-embedded-viewer-annotation-url-for-a-document'} Sample 9 - How to generate an embedded Viewer URL for a Document
|
42
|
+
%li
|
43
|
+
%a{:href => '/sample-10-how-to-share-a-document-to-other-users'} Sample 10 - How to share a document to other users
|
44
|
+
%li
|
45
|
+
%a{:href => '/sample-11-how-programmatically-create-and-post-an-annotation-into-document'} Sample 11 - How to programmatically create and post an annotation into document. How to delete the annotation
|
46
|
+
%li
|
47
|
+
%a{:href => '/sample-12-how-to-list-all-annotations-from-document'} Sample 12 - How to list all annotations from document
|
48
|
+
%li
|
49
|
+
%a{:href => '/sample-13-how-to-add-collaborator-to-doc-with-annotations'} Sample 13 - How to add collaborator to doc with annotations
|
50
|
+
%li
|
51
|
+
%a{:href => '/sample-14-how-to-check-the-list-of-shares-for-a-folder'} Sample 14 - How to check the list of shares for a folder
|
52
|
+
%li
|
53
|
+
%a{:href => '/sample-15-how-to-check-the-number-of-document\'s-views'} Sample 15 - How to check the number of document's views
|
54
|
+
%li
|
55
|
+
%a{:href => '/sample-16-how-to-insert-Assembly-questionary-into-webpage'} Sample 16 - How to insert Assembly questionary into webpage
|
56
|
+
%li
|
57
|
+
%a{:href => '/sample-17-how-to-upload-a-file-into-the-storage-and-compress-it-into-zip-archive'} Sample 17 - How to upload a file into the storage and compress it into zip archive
|
58
|
+
%li
|
59
|
+
%a{:href => '/sample-18-how-to-convert-doc-to-docx-docx-to-doc-docx-to-pdf-and-ppt-to-pdf'} Sample 18 - How to convert Doc to Docx, Docx to Doc, Docx to PDF, PPT to PDF
|
60
|
+
%li
|
61
|
+
%a{:href => '/sample-19-how-to-compare-documents'} Sample 19 - How to Compare documents using Ruby SDK
|
62
|
+
%li
|
63
|
+
%a{:href => '/sample-20-how-to-get-compare-change-list-for-document'} Sample 20 - How to Get Compare Change list for document using Ruby SDK
|
64
|
+
%li
|
65
|
+
%a{:href => '/sample-21-how-to-create-and-upload-envelop-to-groupdocs-account'} Sample 21 - How to Create and Upload Envelop to GroupDocs account using Ruby SDK
|
66
|
+
%li
|
67
|
+
%a{:href => '/sample-22-how-to-create-or-update-user-and-add-him-to-collaborators'} Sample 22 - How to create or update user and add him to collaborators using Ruby SDK
|
68
|
+
%li
|
69
|
+
%a{:href => '/sample-23-how-to-view-document-pages-as-images'} Sample 23 - How to View Document pages as images using Ruby SDK
|
70
|
+
%li
|
71
|
+
%a{:href => '/sample-24-how-to-use-storageapi-to-upload-fil-from-url-to-groupdocs-account'} Sample 24 - How to use StorageApi to upload file from URL to GroupDocs account using Ruby SDK
|
72
|
+
%li
|
73
|
+
%a{:href => '/sample-25-how-to-merge-assemble-and-convert-documentt'} Sample 25 - How to merge and convert document using Ruby SDK
|
74
|
+
%li
|
75
|
+
%a{:href => '/sample-26-how-to-use-login-method-in-the-api'} Sample 26 - How to use login method in the API
|
76
|
+
%li
|
77
|
+
%a{:href => '/sample-27-how-to-create-your-own-questionnaire-using-forms-and-show-the-result-document'} Sample 27 - How to create your own questionnaire using forms and show the result document using Ruby SDK
|
78
|
+
%li
|
79
|
+
%a{:href => '/sample-28-how-to-delete-all-annotations-from-document'} Sample 28 - How to delete all annotations from document using Ruby SDK
|
80
|
+
%li
|
81
|
+
%a{:href => '/sample-29-how-to-use-filepicker-io-to-upload-document-and-get-it\'s-url'} Sample 29 - How to use Filepicker.io to upload document and get it's URL
|
82
|
+
%li
|
83
|
+
%a{:href => '/sample-30-how-to-delete-file-from-groupdocs-storage'} Sample 30 - How to delete file from GroupDocs Storage
|
84
|
+
%li
|
85
|
+
%a{:href => '/sample-31-how-to-dynamically-create-signature-form-using-data-from-html-form'} Sample 31 - How to dynamically create Signature Form using data from HTML form
|
86
|
+
%li
|
87
|
+
%a{:href => '/sample-32-how-to-create-signature-form-publish-it-and-configure-notification-when-it-was-signed'} Sample 32 - How to create signature form, publish it and configure notification via callback
|
88
|
+
%li
|
89
|
+
%a{:href => '/sample-33-how-to-convert-several-html-documents-to-pdf-and-merge-them-to-one-document'} Sample 33 - How to convert and merge/combine several HTML documents into one PDF Document
|
90
|
+
%li
|
91
|
+
%a{:href => '/sample-34-how-to-create-folder-in-the-groupdocs-account'} Sample 34 - How to create folder in the GroupDocs account
|
92
|
+
%li
|
93
|
+
%a{:href => '/sample-35-how-to-create-assembly-from-document-and-merge-fields'} Sample 35 - How to get fields and their data from PDF file
|
94
|
+
%li
|
95
|
+
%a{:href => '/sample-36-how-to-download-signed-documents-when-envelope-was-signed'} Sample 36 - How to download signed documents when envelope was signed using Ruby SDK
|
96
|
+
%li
|
97
|
+
%a{:href => '/sample-37-how-to-use-storage-api-to-create-and-upload-envelop-to-groupdocs-account-and-get-signed-document'} Sample 37 - How to create envelop and download signed document when envelop was signed using callback
|
98
|
+
%li
|
99
|
+
%a{:href => '/sample-38-how-to-create-new-user-and-add-him-as-collaborator-to-doc-with-annotations'} Sample 38 - How to create new user and add him as collaborator to doc with annotations
|
100
|
+
%li
|
101
|
+
%a{:href => '/sample-39-how-to-add-a-signature-to-a-document-and-redirect-after-signing-with-groupdocs-widget'} Sample 39 - How to add a Signature to a document and redirect after signing with GroupDocs widget
|
102
|
+
%li
|
103
|
+
%a{:href => '/sample-40-how-to-set-callback-for-signature-form-and-re-direct-when-it-was-signed'} Sample 40 - How to set callback for signature form and re-direct when it was signed
|
104
|
+
%li
|
105
|
+
%a{:href => '/sample-41-how-to-set-callback-for-annotation-and-manage-user-rights'} Sample 41 - How to set callback for Annotation and manage user rights using Ruby SDK
|
106
|
+
%li
|
107
|
+
%a{:href => '/sample-42-how-to-download-document-with-annotations-using-groupdocs'} Sample 42 - How to download document with annotations using GroupDocs Ruby SDK
|
108
|
+
%li
|
109
|
+
%a{:href => '/sample-43-how-to-add-numeration-in-the-doc-file'} Sample 43 - How to add numeration in the doc file using GroupDocs Ruby SDK
|
110
|
+
%li
|
111
|
+
%a{:href => '/sample-44-how-to-assemble-document-and-add-multiple-signatures-and-signers-to-a-document'} Sample 44 - How to assemble document and add multiple Signatures and Signers to a document using Ruby SDK
|
112
|
+
%li
|
113
|
+
%a{:href => '/sample-45-how-to-check-statistic-info-for-the-document'} Sample 45 - How to check statistic info for the document using Ruby SDK
|
114
|
+
%div{:class=>"box"}
|
115
|
+
%ul
|
116
|
+
%li
|
117
|
+
%a{:href => '/sample-8-how-to-return-a-url-representing-a-single-page-of-a-document'} Sample 8 - How to return a URL representing a single page of a Document
|
118
|
+
%li
|
119
|
+
%a{:href => '/sample-9-how-to-generate-an-embedded-viewer-annotation-url-for-a-document'} Sample 9 - How to generate an embedded Viewer URL for a Document
|
120
|
+
%li
|
121
|
+
%a{:href => '/sample-15-how-to-check-the-number-of-document\'s-views'} Sample 15 - How to check the number of document's views
|
122
|
+
%li
|
123
|
+
%a{:href => '/sample-23-how-to-view-document-pages-as-images'} Sample 23 - How to View Document pages as images using Ruby SDK
|
124
|
+
%div{:class=>"box"}
|
125
|
+
%ul
|
126
|
+
%li
|
127
|
+
%a{:href => '/sample-11-how-programmatically-create-and-post-an-annotation-into-document'} Sample 11 - How to programmatically create and post an annotation into document. How to delete the annotation
|
128
|
+
%li
|
129
|
+
%a{:href => '/sample-12-how-to-list-all-annotations-from-document'} Sample 12 - How to list all annotations from document
|
130
|
+
%li
|
131
|
+
%a{:href => '/sample-13-how-to-add-collaborator-to-doc-with-annotations'} Sample 13 - How to add collaborator to doc with annotations
|
132
|
+
%li
|
133
|
+
%a{:href => '/sample-22-how-to-create-or-update-user-and-add-him-to-collaborators'} Sample 22 - How to create or update user and add him to collaborators using Ruby SDK
|
134
|
+
%li
|
135
|
+
%a{:href => '/sample-28-how-to-delete-all-annotations-from-document'} Sample 28 - How to delete all annotations from document using Ruby SDK
|
136
|
+
%li
|
137
|
+
%a{:href => '/sample-38-how-to-create-new-user-and-add-him-as-collaborator-to-doc-with-annotations'} Sample 38 - How to create new user and add him as collaborator to doc with annotations
|
138
|
+
%li
|
139
|
+
%a{:href => '/sample-41-how-to-set-callback-for-annotation-and-manage-user-rights'} Sample 41 - How to set callback for Annotation and manage user rights using Ruby SDK
|
140
|
+
%div{:class=>"box"}
|
141
|
+
%ul
|
142
|
+
%li
|
143
|
+
%a{:href => '/sample-16-how-to-insert-Assembly-questionary-into-webpage'} Sample 16 - How to insert Assembly questionary into webpage
|
144
|
+
%li
|
145
|
+
%a{:href => '/sample-25-how-to-merge-assemble-and-convert-documentt'} Sample 25 - How to merge and convert document using Ruby SDK
|
146
|
+
%li
|
147
|
+
%a{:href => '/sample-27-how-to-create-your-own-questionnaire-using-forms-and-show-the-result-document'} Sample 27 - How to create your own questionnaire using forms and show the result document using Ruby SDK
|
148
|
+
%li
|
149
|
+
%a{:href => '/sample-35-how-to-create-assembly-from-document-and-merge-fields'} Sample 35 - How to get fields and their data from PDF file
|
150
|
+
%li
|
151
|
+
%a{:href => '/sample-44-how-to-assemble-document-and-add-multiple-signatures-and-signers-to-a-document'} Sample 44 - How to assemble document and add multiple Signatures and Signers to a document using Ruby SDK
|
152
|
+
%div{:class=>"box"}
|
153
|
+
%ul
|
154
|
+
%li
|
155
|
+
%a{:href => '/sample-6-how-to-add-a-signature-to-a-document-in-groupdocs-signature'} Sample 6 - How to add a Signature to a document in GroupDocs Signature
|
156
|
+
%li
|
157
|
+
%a{:href => '/sample-21-how-to-create-and-upload-envelop-to-groupdocs-account'} Sample 21 - How to Create and Upload Envelop to GroupDocs account using Ruby SDK
|
158
|
+
%li
|
159
|
+
%a{:href => '/sample-31-how-to-dynamically-create-signature-form-using-data-from-html-form'} Sample 31 - How to dynamically create Signature Form using data from HTML form
|
160
|
+
%li
|
161
|
+
%a{:href => '/sample-32-how-to-create-signature-form-publish-it-and-configure-notification-when-it-was-signed'} Sample 32 - How to create signature form, publish it and configure notification via callback
|
162
|
+
%li
|
163
|
+
%a{:href => '/sample-36-how-to-download-signed-documents-when-envelope-was-signed'} Sample 36 - How to download signed documents when envelope was signed using Ruby SDK
|
164
|
+
%li
|
165
|
+
%a{:href => '/sample-37-how-to-use-storage-api-to-create-and-upload-envelop-to-groupdocs-account-and-get-signed-document'} Sample 37 - How to create envelop and download signed document when envelop was signed using callback
|
166
|
+
%li
|
167
|
+
%a{:href => '/sample-39-how-to-add-a-signature-to-a-document-and-redirect-after-signing-with-groupdocs-widget'} Sample 39 - How to add a Signature to a document and redirect after signing with GroupDocs widget
|
168
|
+
%li
|
169
|
+
%a{:href => '/sample-40-how-to-set-callback-for-signature-form-and-re-direct-when-it-was-signed'} Sample 40 - How to set callback for signature form and re-direct when it was signed
|
170
|
+
%li
|
171
|
+
%a{:href => '/sample-44-how-to-assemble-document-and-add-multiple-signatures-and-signers-to-a-document'} Sample 44 - How to assemble document and add multiple Signatures and Signers to a document using Ruby SDK
|
172
|
+
%div{:class=>"box"}
|
173
|
+
%ul
|
174
|
+
%li
|
175
|
+
%a{:href => '/sample-19-how-to-compare-documents'} Sample 19 - How to Compare documents using Ruby SDK
|
176
|
+
%li
|
177
|
+
%a{:href => '/sample-20-how-to-get-compare-change-list-for-document'} Sample 20 - How to Get Compare Change list for document using Ruby SDK
|
178
|
+
%div{:class=>"box"}
|
179
|
+
%ul
|
180
|
+
%li
|
181
|
+
%a{:href => '/sample-18-how-to-convert-doc-to-docx-docx-to-doc-docx-to-pdf-and-ppt-to-pdf'} Sample 18 - How to convert Doc to Docx, Docx to Doc, Docx to PDF, PPT to PDF
|
182
|
+
%li
|
183
|
+
%a{:href => '/sample-25-how-to-merge-assemble-and-convert-documentt'} Sample 25 - How to merge and convert document using Ruby SDK
|
184
|
+
%li
|
185
|
+
%a{:href => '/sample-33-how-to-convert-several-html-documents-to-pdf-and-merge-them-to-one-document'} Sample 33 - How to convert and merge/combine several HTML documents into one PDF Document
|
186
|
+
%div{:class=>"box"}
|
187
|
+
%ul
|
188
|
+
%li
|
189
|
+
%a{:href => '/sample-1-how-to-login-to-groupdocs-using-the-api'} Sample 1 - How to login to GroupDocs using the API
|
190
|
+
%li
|
191
|
+
%a{:href => '/sample-2-how-to-list-files-within-groupdocs-storage-using-the-storage-api'} Sample 2 - How to list files within GroupDocs Storage using the Storage API
|
192
|
+
%li
|
193
|
+
%a{:href => '/sample-3-how-to-upload-a-file-to-groupdocs-using-the-storage-api'} Sample 3 - How to upload a file to GroupDocs using the Storage API
|
194
|
+
%li
|
195
|
+
%a{:href => '/sample-4-how-to-download-a-file-from-groupdocs-storage-using-the-storage-api'} Sample 4 - How to download a file from GroupDocs Storage using the Storage API
|
196
|
+
%li
|
197
|
+
%a{:href => '/sample-5-how-to-copy-move-a-file-using-the-groupdocs-storage-api'} Sample 5 - How to copy / move a file using the GroupDocs Storage API
|
198
|
+
%li
|
199
|
+
%a{:href => '/sample-7-how-to-create-a-list-of-thumbnails-for-a-document'} Sample 7 - How to create a list of thumbnails for a document
|
200
|
+
%li
|
201
|
+
%a{:href => '/sample-10-how-to-share-a-document-to-other-users'} Sample 10 - How to share a document to other users
|
202
|
+
%li
|
203
|
+
%a{:href => '/sample-14-how-to-check-the-list-of-shares-for-a-folder'} Sample 14 - How to check the list of shares for a folder
|
204
|
+
%li
|
205
|
+
%a{:href => '/sample-17-how-to-upload-a-file-into-the-storage-and-compress-it-into-zip-archive'} Sample 17 - How to upload a file into the storage and compress it into zip archive
|
206
|
+
%li
|
207
|
+
%a{:href => '/sample-24-how-to-use-storageapi-to-upload-fil-from-url-to-groupdocs-account'} Sample 24 - How to use StorageApi to upload file from URL to GroupDocs account using Ruby SDK
|
208
|
+
%li
|
209
|
+
%a{:href => '/sample-26-how-to-use-login-method-in-the-api'} Sample 26 - How to use login method in the API
|
210
|
+
%li
|
211
|
+
%a{:href => '/sample-29-how-to-use-filepicker-io-to-upload-document-and-get-it\'s-url'} Sample 29 - How to use Filepicker.io to upload document and get it's URL
|
212
|
+
%li
|
213
|
+
%a{:href => '/sample-30-how-to-delete-file-from-groupdocs-storage'} Sample 30 - How to delete file from GroupDocs Storage
|
214
|
+
%li
|
215
|
+
%a{:href => '/sample-34-how-to-create-folder-in-the-groupdocs-account'} Sample 34 - How to create folder in the GroupDocs account
|
216
|
+
%li
|
217
|
+
%a{:href => '/sample-42-how-to-download-document-with-annotations-using-groupdocs'} Sample 42 - How to download document with annotations using GroupDocs Ruby SDK
|
218
|
+
%li
|
219
|
+
%a{:href => '/sample-43-how-to-add-numeration-in-the-doc-file'} Sample 43 - How to add numeration in the doc file using GroupDocs Ruby SDK
|
220
|
+
%li
|
221
|
+
%a{:href => '/sample-45-how-to-check-statistic-info-for-the-document'} Sample 45 - How to check statistic info for the document using Ruby SDK
|
222
|
+
:javascript
|
223
|
+
|
224
|
+
(function($) {
|
225
|
+
$(function() {
|
226
|
+
|
227
|
+
$('ul.tabs').on('click', 'li:not(.current)', function() {
|
228
|
+
$(this).add()
|
229
|
+
$(this).addClass('current').siblings().removeClass('current')
|
230
|
+
.parents('div.section').find('div.box').eq($(this).index()).fadeIn(150).siblings('div.box').hide();
|
231
|
+
})
|
232
|
+
})
|
233
|
+
})(jQuery)
|