groupdocs 1.9.0 → 2.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (57) hide show
  1. data/CHANGELOG.md +13 -0
  2. data/README.md +1 -1
  3. data/examples/api-samples/Gemfile +1 -1
  4. data/examples/api-samples/Gemfile.lock +29 -23
  5. data/examples/api-samples/public/css/style.css +10 -2
  6. data/examples/api-samples/public/docs/sample11.html +11 -7
  7. data/examples/api-samples/samples/sample11.rb +4 -6
  8. data/examples/api-samples/views/_others_samples.haml +231 -91
  9. data/examples/api-samples/views/index.haml +230 -92
  10. data/examples/api-samples/views/sample07.haml +1 -1
  11. data/examples/api-samples/web.rb +1 -0
  12. data/groupdocs.gemspec +2 -2
  13. data/lib/groupdocs/api.rb +1 -0
  14. data/lib/groupdocs/document.rb +12 -0
  15. data/lib/groupdocs/document/annotation.rb +5 -0
  16. data/lib/groupdocs/document/annotation/marker.rb +1 -1
  17. data/lib/groupdocs/document/editor.rb +13 -1
  18. data/lib/groupdocs/document/metadata.rb +6 -0
  19. data/lib/groupdocs/document/option.rb +9 -0
  20. data/lib/groupdocs/signature/form.rb +4 -6
  21. data/lib/groupdocs/storage/file.rb +1 -2
  22. data/lib/groupdocs/version.rb +1 -1
  23. data/spec/groupdocs/api/helpers/access_rights_helper_spec.rb +3 -3
  24. data/spec/groupdocs/api/helpers/byte_flag_helper_spec.rb +2 -2
  25. data/spec/groupdocs/datasource_spec.rb +5 -46
  26. data/spec/groupdocs/document/annotation/reply_spec.rb +5 -5
  27. data/spec/groupdocs/document/annotation/reviewer_spec.rb +2 -2
  28. data/spec/groupdocs/document/annotation_spec.rb +11 -43
  29. data/spec/groupdocs/document_spec.rb +61 -298
  30. data/spec/groupdocs/job_spec.rb +20 -74
  31. data/spec/groupdocs/questionnaire/collector_spec.rb +8 -8
  32. data/spec/groupdocs/questionnaire/execution_spec.rb +6 -6
  33. data/spec/groupdocs/questionnaire_spec.rb +28 -58
  34. data/spec/groupdocs/signature/contact_spec.rb +7 -7
  35. data/spec/groupdocs/signature/envelope_spec.rb +30 -34
  36. data/spec/groupdocs/signature/field_spec.rb +5 -5
  37. data/spec/groupdocs/signature/form_spec.rb +28 -16
  38. data/spec/groupdocs/signature/list_spec.rb +3 -3
  39. data/spec/groupdocs/signature/role_spec.rb +2 -2
  40. data/spec/groupdocs/signature/template_spec.rb +4 -4
  41. data/spec/groupdocs/signature_spec.rb +7 -20
  42. data/spec/groupdocs/storage/file_spec.rb +24 -80
  43. data/spec/groupdocs/storage/folder_spec.rb +14 -14
  44. data/spec/groupdocs/storage/package_spec.rb +2 -2
  45. data/spec/groupdocs/storage_spec.rb +1 -1
  46. data/spec/groupdocs/subscription_spec.rb +4 -123
  47. data/spec/groupdocs/user_spec.rb +14 -243
  48. data/spec/spec_helper.rb +4 -0
  49. data/spec/support/json/annotation_marker_move.json +11 -0
  50. data/spec/support/json/envelope_recipient_add.json +27 -0
  51. data/spec/support/json/job_documents.json +35 -103
  52. data/spec/support/shared_examples/signature/shared/document_methods.rb +4 -4
  53. data/spec/support/shared_examples/signature/shared/entity_methods.rb +10 -10
  54. data/spec/support/shared_examples/signature/shared/field_methods.rb +14 -18
  55. data/spec/support/shared_examples/signature/shared/recipient_methods.rb +3 -3
  56. data/spec/support/shared_examples/signature/shared/resource_methods.rb +2 -2
  57. metadata +13 -7
@@ -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,4 +1,4 @@
1
- ## GroupDocs [![Build Status](https://secure.travis-ci.org/groupdocs/groupdocs-ruby.png)](http://travis-ci.org/groupdocs/groupdocs-ruby)
1
+ ## GroupDocs
2
2
 
3
3
  Ruby SDK for [GroupDocs](http://groupdocs.com) REST API.
4
4
 
@@ -1,5 +1,5 @@
1
1
  source 'https://rubygems.org'
2
2
 
3
3
  gem 'sinatra', '1.3.6'
4
- gem 'groupdocs', "1.5.7"
4
+ gem 'groupdocs', '2.0.0'
5
5
  gem 'haml'
@@ -1,43 +1,49 @@
1
1
  GEM
2
2
  remote: https://rubygems.org/
3
3
  specs:
4
- activesupport (4.0.0)
5
- i18n (~> 0.6, >= 0.6.4)
6
- minitest (~> 4.2)
7
- multi_json (~> 1.3)
8
- thread_safe (~> 0.1)
9
- tzinfo (~> 0.3.37)
10
- atomic (1.1.14)
11
- groupdocs (1.5.9)
12
- activesupport (>= 3.0)
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.3)
16
+ haml (4.0.6)
17
17
  tilt
18
- i18n (0.6.5)
19
- json (1.8.1)
20
- mime-types (1.25)
21
- minitest (4.7.5)
22
- multi_json (1.8.2)
23
- rack (1.5.2)
24
- rack-protection (1.5.1)
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.6.7)
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.1.3)
33
- atomic
37
+ thread_safe (0.3.4)
34
38
  tilt (1.4.1)
35
- tzinfo (0.3.38)
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 (= 1.5.9)
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-to-programmatically-create-and-post-an-annotation-into-document'</span> <span class="hljs-keyword">do</span>
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-to-programmatically-create-and-post-an-annotation-into-document'</span> <span class="hljs-keyword">do</span></pre></div></div>
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></pre></div></div>
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">&#182;</a>
223
224
  </div>
224
- <p>Checking required parameters</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
- annotation.box = <span class="hljs-constant">GroupDocs::Document::Rectangle</span>.new ({<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>]})
282
- annotation.annotationPosition = {<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
+ 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> =&gt; annotation_box, <span class="hljs-symbol">:annotationPosition</span> =&gt; annotation_annotationPosition, <span class="hljs-symbol">:range</span> =&gt; range, <span class="hljs-symbol">:type</span> =&gt; types[settings.annotation_type.to_sym], <span class="hljs-symbol">:replies</span> =&gt; [{<span class="hljs-symbol">:text</span> =&gt; params[<span class="hljs-string">'text'</span>]}]}</pre></div></div>
286
+ info = { <span class="hljs-symbol">:box</span> =&gt; annotation_box, <span class="hljs-symbol">:annotationPosition</span> =&gt; annotation_position, <span class="hljs-symbol">:range</span> =&gt; range, <span class="hljs-symbol">:type</span> =&gt; types[settings.annotation_type.to_sym], <span class="hljs-symbol">:replies</span> =&gt; [{<span class="hljs-symbol">:text</span> =&gt; 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> =&gt; annotation_box, <span class="hljs-symbol">:annotationPosition</span> =&gt; annotation_annotationPosition, <span class="hljs-symbol">:type</span> =&gt; types[settings.annotation_type.to_sym], <span class="hljs-symbol">:replies</span> =&gt; [{<span class="hljs-symbol">:text</span> =&gt; 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
- annotation.box = GroupDocs::Document::Rectangle.new ({x: params['boxX'], y: params['boxY'], width: params['boxWidth'], height: params['boxHeight']})
79
- annotation.annotationPosition = {x: params['annotationPositionX'], y: params['annotationPositionY']}
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 => annotation_annotationPosition, :range => range, :type => types[settings.annotation_type.to_sym], :replies => [{:text => params['text']}]}
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
- %ul
4
- %li
5
- %a{:href => '/sample-1-how-to-login-to-groupdocs-using-the-api'} Sample 1 - How to login to GroupDocs using the API
6
- %li
7
- %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
8
- %li
9
- %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
10
- %li
11
- %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
12
- %li
13
- %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
14
- %li
15
- %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
16
- %li
17
- %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
18
- %li
19
- %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
20
- %li
21
- %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
22
- %li
23
- %a{:href => '/sample-10-how-to-share-a-document-to-other-users'} Sample 10 - How to share a document to other users
24
- %li
25
- %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
26
- %li
27
- %a{:href => '/sample-12-how-to-list-all-annotations-from-document'} Sample 12 - How to list all annotations from document
28
- %li
29
- %a{:href => '/sample-13-how-to-add-collaborator-to-doc-with-annotations'} Sample 13 - How to add collaborator to doc with annotations
30
- %li
31
- %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
32
- %li
33
- %a{:href => '/sample-15-how-to-check-the-number-of-document\'s-views'} Sample 15 - How to check the number of document's views
34
- %li
35
- %a{:href => '/sample-16-how-to-insert-Assembly-questionary-into-webpage'} Sample 16 - How to insert Assembly questionary into webpage
36
- %li
37
- %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
38
- %li
39
- %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
40
- %li
41
- %a{:href => '/sample-19-how-to-compare-documents'} Sample 19 - How to Compare documents using Ruby SDK
42
- %li
43
- %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
44
- %li
45
- %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
46
- %li
47
- %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
48
- %li
49
- %a{:href => '/sample-23-how-to-view-document-pages-as-images'} Sample 23 - How to View Document pages as images using Ruby SDK
50
- %li
51
- %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
52
- %li
53
- %a{:href => '/sample-25-how-to-merge-assemble-and-convert-documentt'} Sample 25 - How to merge and convert document using Ruby SDK
54
- %li
55
- %a{:href => '/sample-26-how-to-use-login-method-in-the-api'} Sample 26 - How to use login method in the API
56
- %li
57
- %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
58
- %li
59
- %a{:href => '/sample-28-how-to-delete-all-annotations-from-document'} Sample 28 - How to delete all annotations from document using Ruby SDK
60
- %li
61
- %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
62
- %li
63
- %a{:href => '/sample-30-how-to-delete-file-from-groupdocs-storage'} Sample 30 - How to delete file from GroupDocs Storage
64
- %li
65
- %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
66
- %li
67
- %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
68
- %li
69
- %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
70
- %li
71
- %a{:href => '/sample-34-how-to-create-folder-in-the-groupdocs-account'} Sample 34 - How to create folder in the GroupDocs account
72
- %li
73
- %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
74
- %li
75
- %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
76
- %li
77
- %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
78
- %li
79
- %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
80
- %li
81
- %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
82
- %li
83
- %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
84
- %li
85
- %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
86
- %li
87
- %a{:href => '/sample-42-how-to-download-document-with-annotations-using-groupdocs'} Sample 42 - How to download document with annotations using GroupDocs Ruby SDK
88
- %li
89
- %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
90
- %li
91
- %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
92
- %li
93
- %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
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)