groupdocs 1.9.0 → 2.0.0

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.
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)