aspose_slides_cloud 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (82) hide show
  1. checksums.yaml +7 -0
  2. data/LICENSE +22 -0
  3. data/README.md +42 -0
  4. data/aspose_slides_cloud.gemspec +26 -0
  5. data/lib/aspose_slides_cloud.rb +94 -0
  6. data/lib/aspose_slides_cloud/api/slides_api.rb +3420 -0
  7. data/lib/aspose_slides_cloud/api_client.rb +335 -0
  8. data/lib/aspose_slides_cloud/api_error.rb +24 -0
  9. data/lib/aspose_slides_cloud/configuration.rb +166 -0
  10. data/lib/aspose_slides_cloud/models/arrow_head_properties.rb +53 -0
  11. data/lib/aspose_slides_cloud/models/base_object.rb +86 -0
  12. data/lib/aspose_slides_cloud/models/base_response.rb +53 -0
  13. data/lib/aspose_slides_cloud/models/color.rb +29 -0
  14. data/lib/aspose_slides_cloud/models/color_scheme.rb +153 -0
  15. data/lib/aspose_slides_cloud/models/color_scheme_response.rb +61 -0
  16. data/lib/aspose_slides_cloud/models/common_response.rb +53 -0
  17. data/lib/aspose_slides_cloud/models/custom_dash_pattern.rb +39 -0
  18. data/lib/aspose_slides_cloud/models/document.rb +81 -0
  19. data/lib/aspose_slides_cloud/models/document_properties.rb +67 -0
  20. data/lib/aspose_slides_cloud/models/document_properties_response.rb +61 -0
  21. data/lib/aspose_slides_cloud/models/document_property.rb +81 -0
  22. data/lib/aspose_slides_cloud/models/document_property_response.rb +61 -0
  23. data/lib/aspose_slides_cloud/models/document_response.rb +61 -0
  24. data/lib/aspose_slides_cloud/models/fill_format.rb +37 -0
  25. data/lib/aspose_slides_cloud/models/font_scheme.rb +81 -0
  26. data/lib/aspose_slides_cloud/models/font_scheme_response.rb +61 -0
  27. data/lib/aspose_slides_cloud/models/font_set.rb +53 -0
  28. data/lib/aspose_slides_cloud/models/format_scheme.rb +97 -0
  29. data/lib/aspose_slides_cloud/models/format_scheme_response.rb +61 -0
  30. data/lib/aspose_slides_cloud/models/html_export_options.rb +53 -0
  31. data/lib/aspose_slides_cloud/models/image.rb +73 -0
  32. data/lib/aspose_slides_cloud/models/images.rb +67 -0
  33. data/lib/aspose_slides_cloud/models/images_response.rb +61 -0
  34. data/lib/aspose_slides_cloud/models/line_format.rb +117 -0
  35. data/lib/aspose_slides_cloud/models/new_shape_response.rb +61 -0
  36. data/lib/aspose_slides_cloud/models/ordered_merge_request.rb +39 -0
  37. data/lib/aspose_slides_cloud/models/paragraph.rb +67 -0
  38. data/lib/aspose_slides_cloud/models/paragraph_portion_response.rb +61 -0
  39. data/lib/aspose_slides_cloud/models/paragraphs.rb +67 -0
  40. data/lib/aspose_slides_cloud/models/pdf_export_options.rb +101 -0
  41. data/lib/aspose_slides_cloud/models/placeholder.rb +97 -0
  42. data/lib/aspose_slides_cloud/models/placeholder_response.rb +61 -0
  43. data/lib/aspose_slides_cloud/models/placeholders.rb +67 -0
  44. data/lib/aspose_slides_cloud/models/placeholders_response.rb +61 -0
  45. data/lib/aspose_slides_cloud/models/portion.rb +81 -0
  46. data/lib/aspose_slides_cloud/models/presentation_string_replace_response.rb +69 -0
  47. data/lib/aspose_slides_cloud/models/presentation_to_merge.rb +47 -0
  48. data/lib/aspose_slides_cloud/models/presentations_merge_request.rb +39 -0
  49. data/lib/aspose_slides_cloud/models/resource_uri.rb +61 -0
  50. data/lib/aspose_slides_cloud/models/resource_uri_element.rb +37 -0
  51. data/lib/aspose_slides_cloud/models/shape.rb +169 -0
  52. data/lib/aspose_slides_cloud/models/shape_list.rb +67 -0
  53. data/lib/aspose_slides_cloud/models/shape_paragraph_response.rb +61 -0
  54. data/lib/aspose_slides_cloud/models/shape_paragraphs_response.rb +61 -0
  55. data/lib/aspose_slides_cloud/models/shape_response.rb +61 -0
  56. data/lib/aspose_slides_cloud/models/slide.rb +121 -0
  57. data/lib/aspose_slides_cloud/models/slide_background.rb +73 -0
  58. data/lib/aspose_slides_cloud/models/slide_background_response.rb +61 -0
  59. data/lib/aspose_slides_cloud/models/slide_comment.rb +53 -0
  60. data/lib/aspose_slides_cloud/models/slide_comments.rb +67 -0
  61. data/lib/aspose_slides_cloud/models/slide_comments_response.rb +61 -0
  62. data/lib/aspose_slides_cloud/models/slide_list_response.rb +61 -0
  63. data/lib/aspose_slides_cloud/models/slide_response.rb +61 -0
  64. data/lib/aspose_slides_cloud/models/slide_string_replace_response.rb +69 -0
  65. data/lib/aspose_slides_cloud/models/slides.rb +67 -0
  66. data/lib/aspose_slides_cloud/models/split_document_response.rb +61 -0
  67. data/lib/aspose_slides_cloud/models/split_document_result.rb +67 -0
  68. data/lib/aspose_slides_cloud/models/text_item.rb +45 -0
  69. data/lib/aspose_slides_cloud/models/text_items.rb +67 -0
  70. data/lib/aspose_slides_cloud/models/text_items_response.rb +61 -0
  71. data/lib/aspose_slides_cloud/models/theme.rb +89 -0
  72. data/lib/aspose_slides_cloud/models/theme_response.rb +61 -0
  73. data/lib/aspose_slides_cloud/models/tiff_export_options.rb +77 -0
  74. data/lib/aspose_slides_cloud/version.rb +3 -0
  75. data/test/data/ReadMe.html +48 -0
  76. data/test/data/Test.html +6 -0
  77. data/test/data/demo.pptx +0 -0
  78. data/test/data/sample-input.pptx +0 -0
  79. data/test/data/sample.pptx +0 -0
  80. data/test/data/welcome.pptx +0 -0
  81. data/test/slides_tests.rb +570 -0
  82. metadata +200 -0
@@ -0,0 +1,77 @@
1
+ module AsposeSlidesCloud
2
+ #
3
+ class TiffExportOptions < BaseObject
4
+ attr_accessor :width, :height, :dpi_x, :dpi_y, :compression, :export_format
5
+ # attribute mapping from ruby-style variable name to JSON key
6
+ def self.attribute_map
7
+ {
8
+
9
+ #
10
+ :'width' => :'Width',
11
+
12
+ #
13
+ :'height' => :'Height',
14
+
15
+ #
16
+ :'dpi_x' => :'DpiX',
17
+
18
+ #
19
+ :'dpi_y' => :'DpiY',
20
+
21
+ #
22
+ :'compression' => :'Compression',
23
+
24
+ #
25
+ :'export_format' => :'ExportFormat'
26
+
27
+ }
28
+ end
29
+
30
+ # attribute type
31
+ def self.swagger_types
32
+ {
33
+ :'width' => :'Integer',
34
+ :'height' => :'Integer',
35
+ :'dpi_x' => :'Integer',
36
+ :'dpi_y' => :'Integer',
37
+ :'compression' => :'String',
38
+ :'export_format' => :'String'
39
+
40
+ }
41
+ end
42
+
43
+ def initialize(attributes = {})
44
+ return if !attributes.is_a?(Hash) || attributes.empty?
45
+
46
+ # convert string to symbol for hash key
47
+ attributes = attributes.inject({}){|memo,(k,v)| memo[k.to_sym] = v; memo}
48
+
49
+
50
+ if attributes[:'Width']
51
+ self.width = attributes[:'Width']
52
+ end
53
+
54
+ if attributes[:'Height']
55
+ self.height = attributes[:'Height']
56
+ end
57
+
58
+ if attributes[:'DpiX']
59
+ self.dpi_x = attributes[:'DpiX']
60
+ end
61
+
62
+ if attributes[:'DpiY']
63
+ self.dpi_y = attributes[:'DpiY']
64
+ end
65
+
66
+ if attributes[:'Compression']
67
+ self.compression = attributes[:'Compression']
68
+ end
69
+
70
+ if attributes[:'ExportFormat']
71
+ self.export_format = attributes[:'ExportFormat']
72
+ end
73
+
74
+ end
75
+
76
+ end
77
+ end
@@ -0,0 +1,3 @@
1
+ module AsposeSlidesCloud
2
+ VERSION = "1.0.0"
3
+ end
@@ -0,0 +1,48 @@
1
+ <html>
2
+ <head></head>
3
+ <body>
4
+ <h2><a id="user-content-asposepdf-for-cloud" class="anchor" href="#asposepdf-for-cloud" aria-hidden="true"><span class="octicon octicon-link"></span></a>Aspose.Pdf for Cloud</h2>
5
+
6
+ <p>This repository contains examples and SDKs for <a href="http://www.aspose.com/cloud/pdf-api.aspx">Aspose.Pdf for Cloud</a>.</p>
7
+
8
+ <h2><a id="user-content-why-sdks" class="anchor" href="#why-sdks" aria-hidden="true"><span class="octicon octicon-link"></span></a>Why SDKs?</h2>
9
+
10
+ <p>Aspose.Pdf for Cloud is implemented as a REST API. If you use SDK, it hides the REST API calls and lets you use Aspose.Pdf features in a native way for your preferred language.</p>
11
+
12
+ <p align="center">
13
+ <a title="Download complete Aspose.Pdf for Cloud source code" href="https://github.com/asposepdf/Aspose_Pdf_Cloud/archive/master.zip">
14
+ <img src="https://camo.githubusercontent.com/11839cd752a2d367f3149c7bee1742b68e4a4d37/68747470733a2f2f7261772e6769746875622e636f6d2f4173706f73654578616d706c65732f6a6176612d6578616d706c65732d64617368626f6172642f6d61737465722f696d616765732f646f776e6c6f61645a69702d427574746f6e2d4c617267652e706e67" data-canonical-src="https://raw.github.com/AsposeExamples/java-examples-dashboard/master/images/downloadZip-Button-Large.png" style="max-width:100%;">
15
+ </a>
16
+ </p>
17
+
18
+ <table><thead>
19
+ <tr>
20
+ <th>Directory</th>
21
+ <th>Description</th>
22
+ </tr>
23
+ </thead><tbody>
24
+ <tr>
25
+ <td><a href="https://github.com/asposepdf/Aspose_Pdf_Cloud/tree/master/SDKs/Aspose.Pdf_Cloud_SDK_for_Java">Java SDK</a></td>
26
+ <td>Aspose.Pdf Cloud SDK for Java.</td>
27
+ </tr>
28
+ <tr>
29
+ <td><a href="https://github.com/asposepdf/Aspose_Pdf_Cloud/tree/master/SDKs/Aspose.Pdf_Cloud_SDK_for_PHP">PHP SDK</a></td>
30
+ <td>Aspose.Pdf Cloud SDK for PHP.</td>
31
+ </tr>
32
+ <tr>
33
+ <td><a href="https://github.com/asposepdf/Aspose_Pdf_Cloud/tree/master/SDKs/Aspose.Pdf_Cloud_SDK_for_Python">Python SDK</a></td>
34
+ <td>Aspose.Pdf Cloud SDK for Python.</td>
35
+ </tr>
36
+ </tbody></table>
37
+
38
+ <h2><a id="user-content-resources" class="anchor" href="#resources" aria-hidden="true"><span class="octicon octicon-link"></span></a>Resources</h2>
39
+
40
+ <ul>
41
+ <li><strong>Website:</strong> <a href="http://www.aspose.com">www.aspose.com</a></li>
42
+ <li><strong>Product Home:</strong> <a href="http://www.aspose.com/cloud/pdf-api.aspx">Aspose.Pdf for Cloud</a></li>
43
+ <li><strong>Documentation:</strong> <a href="http://www.aspose.com/docs/display/pdfcloud/Home">Aspose.Pdf for Cloud Documentation</a></li>
44
+ <li><strong>Forum:</strong> <a href="http://www.aspose.com/community/forums/aspose.pdf-product-family/75/showforum.aspx">Aspose.Pdf for Cloud Forum</a></li>
45
+ <li><strong>Blog:</strong> <a href="http://www.aspose.com/blogs/aspose-products/aspose-pdf-product-family.html">Aspose.Pdf for Cloud Blog</a></li>
46
+ </ul>
47
+ </body>
48
+ </html>
@@ -0,0 +1,6 @@
1
+ <html>
2
+ <head></head>
3
+ <body>
4
+ <h2>Aspose.Slides for Cloud</h2>
5
+ </body>
6
+ </html>
Binary file
Binary file
Binary file
@@ -0,0 +1,570 @@
1
+ require "minitest/autorun"
2
+ require "minitest/unit"
3
+
4
+ require_relative '../lib/aspose_slides_cloud'
5
+
6
+ class SlidesTests < Minitest::Test
7
+ include MiniTest::Assertions
8
+ include AsposeSlidesCloud
9
+ include AsposeStorageCloud
10
+
11
+ def setup
12
+ #Get App key and App SID from https://cloud.aspose.com
13
+ AsposeApp.app_key_and_sid("", "")
14
+ @slides_api = SlidesApi.new
15
+ end
16
+
17
+ def teardown
18
+ end
19
+
20
+ def upload_file(file_name)
21
+ @storage_api = StorageApi.new
22
+ response = @storage_api.put_create(file_name, File.open("data/" << file_name,"r") { |io| io.read } )
23
+ assert(response, message="Failed to upload {file_name} file.")
24
+ end
25
+
26
+ def test_put_slides_convert
27
+ file_name = "sample.pptx"
28
+ convert_to_format = "pdf"
29
+ response = @slides_api.put_slides_convert(File.open("data/" << file_name,"r") { |io| io.read }, {format: convert_to_format})
30
+ assert(response, message="Failed to convert presentation from request content to format specified.")
31
+ end
32
+
33
+ def test_get_slides_document_with_format
34
+ file_name = "sample.pptx"
35
+ upload_file(file_name)
36
+ format = "tiff"
37
+ response = @slides_api.get_slides_document_with_format(file_name, format)
38
+ assert(response, message="Failed to get slides document in specified format.")
39
+ end
40
+
41
+ def test_put_new_presentation_from_stored_template
42
+ file_name = "newPresentation.pptx"
43
+ template_path = "sample.pptx"
44
+ upload_file(template_path)
45
+
46
+ response = @slides_api.put_new_presentation_from_stored_template(file_name, template_path, File.open("data/Test.html","r") { |io| io.read })
47
+ assert(response, message="Failed to add new presentation from stored template.")
48
+ end
49
+
50
+ def test_post_slides_document
51
+ file_name = "newPresentation.pptx"
52
+ template_path = "sample.pptx"
53
+ upload_file(template_path)
54
+
55
+ response = @slides_api.post_slides_document(file_name, template_path, File.open("data/Test.html","r") { |io| io.read })
56
+ assert(response, message="Failed to create presentation.")
57
+ end
58
+
59
+ def test_get_slides_document_properties
60
+ file_name = "sample-input.pptx"
61
+ upload_file(file_name)
62
+
63
+ response = @slides_api.get_slides_document_properties(file_name)
64
+ assert(response, message="Failed to read presentation document properties.")
65
+ end
66
+
67
+ def test_post_slides_set_document_properties
68
+ file_name = "sample-input.pptx"
69
+ upload_file(file_name)
70
+
71
+ document_properties = DocumentProperties.new
72
+ document_property = DocumentProperty.new
73
+ document_property.name = "Author"
74
+ document_property.value = "Elon Musk"
75
+
76
+ document_properties.list = [document_property]
77
+
78
+ response = @slides_api.post_slides_set_document_properties(file_name, document_properties)
79
+ assert(response, message="Failed to set document properties.")
80
+ end
81
+
82
+ def test_delete_slides_document_properties
83
+ file_name = "sample-input.pptx"
84
+ upload_file(file_name)
85
+
86
+ response = @slides_api.delete_slides_document_properties(file_name)
87
+ assert(response, message="Failed to clean document properties.")
88
+ end
89
+
90
+ def test_get_slides_document_property
91
+ file_name = "sample.pptx"
92
+ upload_file(file_name)
93
+
94
+ property_name = "Author"
95
+ response = @slides_api.get_slides_document_property(file_name, property_name)
96
+ assert(response, message="Failed to read presentation document property.")
97
+ end
98
+
99
+ def test_put_slides_set_document_property
100
+ file_name = "sample-input.pptx"
101
+ upload_file(file_name)
102
+
103
+ property_name = "Author"
104
+ document_property = DocumentProperty.new
105
+ document_property.name = property_name
106
+ document_property.value = "Elon Musk"
107
+ response = @slides_api.put_slides_set_document_property(file_name, property_name, document_property)
108
+ assert(response, message="Failed to set document property.")
109
+ end
110
+
111
+ def test_delete_slides_document_property
112
+ file_name = "sample-input.pptx"
113
+ upload_file(file_name)
114
+
115
+ property_name = "AsposeAuthor"
116
+ response = @slides_api.delete_slides_document_property(file_name, property_name)
117
+ assert(response, message="Failed to delete document property.")
118
+ end
119
+
120
+ def test_put_slides_document_from_html
121
+ file_name = "newPresentation.pptx"
122
+
123
+ response = @slides_api.put_slides_document_from_html(file_name, File.open("data/ReadMe.html","r") { |io| io.read })
124
+ assert(response, message="Failed to create presentation document from html.")
125
+ end
126
+
127
+ def test_get_slides_images
128
+ file_name = "sample-input.pptx"
129
+ upload_file(file_name)
130
+
131
+ response = @slides_api.get_slides_images(file_name)
132
+ assert(response, message="Failed to read presentation images info")
133
+ end
134
+
135
+ def test_put_presentation_merge
136
+ file_name = "sample.pptx"
137
+ upload_file(file_name)
138
+ merge_file_name_1 = "welcome.pptx"
139
+ upload_file(merge_file_name_1)
140
+ merge_file_name_2 = "demo.pptx"
141
+ upload_file(merge_file_name_2)
142
+
143
+ ordered_merge_request = OrderedMergeRequest.new
144
+
145
+ presentation_to_merge_1 = PresentationToMerge.new
146
+ presentation_to_merge_1.path = merge_file_name_1
147
+ presentation_to_merge_1.slides = 1
148
+
149
+ presentation_to_merge_2 = PresentationToMerge.new
150
+ presentation_to_merge_2.path = merge_file_name_2
151
+ presentation_to_merge_2.slides = 1
152
+
153
+ ordered_merge_request.presentations = [presentation_to_merge_1, presentation_to_merge_2]
154
+
155
+ response = @slides_api.put_presentation_merge(file_name, ordered_merge_request)
156
+ assert(response, message="Failed to merge presentations.")
157
+ end
158
+
159
+ def test_post_presentation_merge
160
+ file_name = "sample.pptx"
161
+ upload_file(file_name)
162
+ merge_file_name_1 = "welcome.pptx"
163
+ upload_file(merge_file_name_1)
164
+ merge_file_name_2 = "demo.pptx"
165
+ upload_file(merge_file_name_2)
166
+
167
+ merge_request = PresentationsMergeRequest.new
168
+ merge_request.presentation_paths = [merge_file_name_1, merge_file_name_2]
169
+
170
+ response = @slides_api.post_presentation_merge(file_name, merge_request)
171
+ assert(response, message="Failed to merge presentations.")
172
+ end
173
+
174
+ def test_post_slides_presentation_replace_text
175
+ file_name = "sample.pptx"
176
+ upload_file(file_name)
177
+
178
+ old_value = "aspose"
179
+ new_value = "Aspose File Format APIs"
180
+ response = @slides_api.post_slides_presentation_replace_text(file_name, old_value, new_value)
181
+ assert(response, message="Failed to replace text by a new value.")
182
+ end
183
+
184
+ def test_post_slides_save_as_html
185
+ file_name = "sample.pptx"
186
+ upload_file(file_name)
187
+
188
+ html_export_options = HtmlExportOptions.new
189
+ html_export_options.save_as_zip = true
190
+
191
+ response = @slides_api.post_slides_save_as_html(file_name, html_export_options)
192
+ assert(response, message="Failed to save presentation in html format with options.")
193
+ end
194
+
195
+ def test_post_slides_save_as_pdf
196
+ file_name = "sample.pptx"
197
+ upload_file(file_name)
198
+
199
+ pdf_export_options = PdfExportOptions.new
200
+ pdf_export_options.jpeg_quality = "50"
201
+
202
+ response = @slides_api.post_slides_save_as_pdf(file_name, pdf_export_options)
203
+ assert(response, message="Failed to save presentation in pdf format with options.")
204
+ end
205
+
206
+ def test_post_slides_save_as_tiff
207
+ file_name = "sample.pptx"
208
+ upload_file(file_name)
209
+
210
+ tiff_export_options = TiffExportOptions.new
211
+ tiff_export_options.export_format = "tiff"
212
+
213
+ response = @slides_api.post_slides_save_as_tiff(file_name, tiff_export_options)
214
+ assert(response, message="Failed to saves presentation in tiff format with options.")
215
+ end
216
+
217
+ def test_get_slides_slides_list
218
+ file_name = "sample.pptx"
219
+ upload_file(file_name)
220
+
221
+ response = @slides_api.get_slides_slides_list(file_name)
222
+ assert(response, message="Failed to read presentation slides info.")
223
+ end
224
+
225
+ def test_post_add_slide_copy
226
+ file_name = "sample.pptx"
227
+ upload_file(file_name)
228
+
229
+ slide_to_clone = 1
230
+ response = @slides_api.post_add_slide_copy(file_name, slide_to_clone)
231
+ assert(response, message="Failed to add slide copy.")
232
+ end
233
+
234
+ def test_delete_slides_clean_slides_list
235
+ file_name = "sample.pptx"
236
+ upload_file(file_name)
237
+
238
+ response = @slides_api.delete_slides_clean_slides_list(file_name)
239
+ assert(response, message="Failed to delete presentation slides.")
240
+ end
241
+
242
+ def test_get_slide_with_format
243
+ file_name = "sample.pptx"
244
+ upload_file(file_name)
245
+
246
+ slide_index = 1
247
+ format = "pdf"
248
+ response = @slides_api.get_slide_with_format(file_name, slide_index, format)
249
+ assert(response, message="Failed to get slide in specified format")
250
+ end
251
+
252
+ def test_delete_slide_by_index
253
+ file_name = "sample.pptx"
254
+ upload_file(file_name)
255
+
256
+ slide_index = 1
257
+ response = @slides_api.delete_slide_by_index(file_name, slide_index)
258
+ assert(response, message="Failed to delete presentation slide by its index.")
259
+ end
260
+
261
+ def test_get_slides_slide_background
262
+ file_name = "sample.pptx"
263
+ upload_file(file_name)
264
+
265
+ slide_index = 1
266
+ response = @slides_api.get_slides_slide_background(file_name, slide_index)
267
+ assert(response, message="Failed to read presentation slide background color type.")
268
+ end
269
+
270
+ def test_put_slides_slide_background
271
+ file_name = "sample.pptx"
272
+ upload_file(file_name)
273
+
274
+ slide_index = 1
275
+ color = "FFFF0000"
276
+ response = @slides_api.put_slides_slide_background(file_name, slide_index, color)
277
+ assert(response, message="Failed to set presentation slide background color.")
278
+ end
279
+
280
+ def test_delete_slides_slide_background
281
+ file_name = "sample.pptx"
282
+ upload_file(file_name)
283
+
284
+ slide_index = 1
285
+ response = @slides_api.delete_slides_slide_background(file_name, slide_index)
286
+ assert(response, message="Failed to remove presentation slide background color.")
287
+ end
288
+
289
+ def test_get_slides_slide_comments
290
+ file_name = "sample.pptx"
291
+ upload_file(file_name)
292
+ slide_index = 1
293
+ response = @slides_api.get_slides_slide_comments(file_name, slide_index)
294
+ assert(response, message="Failed to read presentation slide comments.")
295
+ end
296
+
297
+ def test_get_slides_slide_images
298
+ file_name = "sample.pptx"
299
+ upload_file(file_name)
300
+ slide_index = 1
301
+ response = @slides_api.get_slides_slide_images(file_name, slide_index)
302
+ assert(response, message="Failed to read slide images info.")
303
+ end
304
+
305
+ def test_get_slides_placeholders
306
+ file_name = "sample.pptx"
307
+ upload_file(file_name)
308
+ slide_index = 1
309
+ response = @slides_api.get_slides_placeholders(file_name, slide_index)
310
+ assert(response, message="Failed to read slide placeholders info.")
311
+ end
312
+
313
+ def test_get_slides_placeholder
314
+ file_name = "sample-input.pptx"
315
+ upload_file(file_name)
316
+ slide_index = 1
317
+ placeholder_index = 0
318
+ response = @slides_api.get_slides_placeholder(file_name, slide_index, placeholder_index)
319
+ assert(response, message="Failed to read slide placeholder info.")
320
+ end
321
+
322
+ def test_post_slides_slide_replace_text
323
+ file_name = "sample.pptx"
324
+ upload_file(file_name)
325
+
326
+ slide_index = 1
327
+ old_value = "aspose"
328
+ new_value = "Aspose File Format APIs"
329
+ response = @slides_api.post_slides_slide_replace_text(file_name, slide_index, old_value, new_value)
330
+ assert(response, message="Failed to replace text by a new value.")
331
+ end
332
+
333
+ def test_get_slides_slide_shapes
334
+ file_name = "sample.pptx"
335
+ upload_file(file_name)
336
+
337
+ slide_index = 1
338
+ response = @slides_api.get_slides_slide_shapes(file_name, slide_index)
339
+ assert(response, message="Failed to read slides shapes info.")
340
+ end
341
+
342
+ def test_post_add_new_shape
343
+ file_name = "sample-input.pptx"
344
+ upload_file(file_name)
345
+
346
+ slide_index = 1
347
+ shape = Shape.new
348
+ shape.alternative_text = "Aspose"
349
+ shape.shape_type = "Line"
350
+ response = @slides_api.post_add_new_shape(file_name, slide_index, shape)
351
+ puts response
352
+ assert(response, message="Failed to creates new shape.")
353
+ end
354
+
355
+ def test_get_shape_with_format
356
+ file_name = "sample.pptx"
357
+ upload_file(file_name)
358
+
359
+ slide_index = 1
360
+ shape_index = 1
361
+ format = "png"
362
+ response = @slides_api.get_shape_with_format(file_name, slide_index, shape_index, format)
363
+ assert(response, message="Failed to render shape to specified picture format.")
364
+ end
365
+
366
+ def test_get_slide_shape_paragraphs
367
+ file_name = "sample.pptx"
368
+ upload_file(file_name)
369
+
370
+ slide_index = 1
371
+ shape_index = 1
372
+ response = @slides_api.get_slide_shape_paragraphs(file_name, slide_index, shape_index)
373
+ assert(response, message="Failed to reads a list of paragraphs in shape's textBody.")
374
+ end
375
+
376
+ def test_get_shape_paragraph
377
+ file_name = "sample.pptx"
378
+ upload_file(file_name)
379
+
380
+ slide_index = 1
381
+ shape_index = 1
382
+ paragraph_index = 1
383
+ response = @slides_api.get_shape_paragraph(file_name, slide_index, shape_index, paragraph_index)
384
+ assert(response, message="Failed to reads paragraph in shape's textBody.")
385
+ end
386
+
387
+ def test_get_paragraph_portion
388
+ file_name = "sample.pptx"
389
+ upload_file(file_name)
390
+
391
+ slide_index = 1
392
+ shape_index = 1
393
+ paragraph_index = 1
394
+ portion_index = 1
395
+ response = @slides_api.get_paragraph_portion(file_name, slide_index, shape_index, paragraph_index, portion_index)
396
+ assert(response, message="Failed to reads paragraph portion in shape's textBody.")
397
+ end
398
+
399
+ def test_put_set_paragraph_portion_properties
400
+ file_name = "sample.pptx"
401
+ upload_file(file_name)
402
+
403
+ slide_index = 1
404
+ shape_index = 1
405
+ paragraph_index = 1
406
+ portion_index = 1
407
+ portion = Portion.new
408
+ portion.text = "Aspose.Slides for iOS"
409
+ portion.font_color = "FFFF0000"
410
+ response = @slides_api.put_set_paragraph_portion_properties(file_name, slide_index, shape_index, paragraph_index, portion_index, portion)
411
+ assert(response, message="Failed to updates paragraph portion properties.")
412
+ end
413
+
414
+ def test_get_slides_slide_shapes_parent
415
+ file_name = "sample-input.pptx"
416
+ upload_file(file_name)
417
+
418
+ slide_index = 1
419
+ shape_path = "1"
420
+ response = @slides_api.get_slides_slide_shapes_parent(file_name, slide_index, shape_path)
421
+ assert(response, message="Failed to read slide shapes or shape info.")
422
+ end
423
+
424
+ def test_put_slide_shape_info
425
+ file_name = "sample.pptx"
426
+ upload_file(file_name)
427
+
428
+ slide_index = 1
429
+ shape_path = "1"
430
+ shape = Shape.new
431
+ shape.alternative_text = "Aspose"
432
+
433
+ response = @slides_api.put_slide_shape_info(file_name, slide_index, shape_path, shape)
434
+ assert(response, message="Failed to updates shape properties.")
435
+ end
436
+
437
+ def test_get_slides_slide_text_items
438
+ file_name = "sample.pptx"
439
+ upload_file(file_name)
440
+
441
+ slide_index = 1
442
+ response = @slides_api.get_slides_slide_text_items(file_name, slide_index)
443
+ assert(response, message="Failed to extract slide text items.")
444
+ end
445
+
446
+ def test_get_slides_theme
447
+ file_name = "sample.pptx"
448
+ upload_file(file_name)
449
+ slide_index = 1
450
+ response = @slides_api.get_slides_theme(file_name, slide_index)
451
+ assert(response, message="Failed to read slide theme info.")
452
+ end
453
+
454
+ def test_get_slides_theme_color_scheme
455
+ file_name = "sample.pptx"
456
+ upload_file(file_name)
457
+
458
+ slide_index = 1
459
+ response = @slides_api.get_slides_theme_color_scheme(file_name, slide_index)
460
+ assert(response, message="Failed to read slide theme color scheme info.")
461
+ end
462
+
463
+ def test_get_slides_theme_font_scheme
464
+ file_name = "sample.pptx"
465
+ upload_file(file_name)
466
+
467
+ slide_index = 1
468
+ response = @slides_api.get_slides_theme_font_scheme(file_name, slide_index)
469
+ assert(response, message="Failed to read slide theme font scheme info.")
470
+ end
471
+
472
+ def test_get_slides_theme_format_scheme
473
+ file_name = "sample.pptx"
474
+ upload_file(file_name)
475
+
476
+ slide_index = 1
477
+ response = @slides_api.get_slides_theme_format_scheme(file_name, slide_index)
478
+ assert(response, message="Failed to read slide theme color scheme info.")
479
+ end
480
+
481
+ def test_post_slides_split
482
+ file_name = "sample-input.pptx"
483
+ upload_file(file_name)
484
+
485
+ response = @slides_api.post_slides_split(file_name, {to: 3, from: 2, format: "png"})
486
+ assert(response, message="Failed to split presentation.")
487
+ end
488
+
489
+ def test_get_slides_presentation_text_items
490
+ file_name = "sample.pptx"
491
+ upload_file(file_name)
492
+
493
+ response = @slides_api.get_slides_presentation_text_items(file_name)
494
+ assert(response, message="Failed to extract presentation text items.")
495
+ end
496
+
497
+ def test_put_new_presentation
498
+ file_name = "newPresentation.pptx"
499
+
500
+ response = @slides_api.put_new_presentation(file_name, File.open("data/sample.pptx","r") { |io| io.read })
501
+ assert(response, message="Failed to create presentation")
502
+ end
503
+
504
+ def test_get_slides_document
505
+ file_name = "sample.pptx"
506
+ upload_file(file_name)
507
+
508
+ response = @slides_api.get_slides_document(file_name)
509
+ assert(response, message="Failed to read presentation info.")
510
+ end
511
+
512
+ def test_get_slides_slide
513
+ file_name = "sample.pptx"
514
+ upload_file(file_name)
515
+
516
+ slide_index = 1
517
+ response = @slides_api.get_slides_slide(file_name, slide_index)
518
+ assert(response, message="Failed to read slide info.")
519
+ end
520
+
521
+ def test_post_slides_reorder_position
522
+ file_name = "sample-input.pptx"
523
+ upload_file(file_name)
524
+
525
+ old_position = 1
526
+ new_position = 2
527
+ response = @slides_api.post_slides_reorder_position(file_name, old_position, new_position)
528
+ assert(response, message="Failed to reorder presentation slide position.")
529
+ end
530
+
531
+ def test_post_add_empty_slide
532
+ file_name = "sample.pptx"
533
+ upload_file(file_name)
534
+
535
+ response = @slides_api.post_add_empty_slide(file_name)
536
+ assert(response, message="Failed to add empty slide")
537
+ end
538
+
539
+ def test_post_add_empty_slide_at_position
540
+ file_name = "sample.pptx"
541
+ upload_file(file_name)
542
+
543
+ position = 1
544
+ response = @slides_api.post_add_empty_slide_at_position(file_name, position)
545
+ assert(response, message="Failed to add empty slide at position")
546
+ end
547
+
548
+ def test_post_clone_presentation_slide
549
+ file_name = "sample.pptx"
550
+ upload_file(file_name)
551
+
552
+ position = 1
553
+ slide_to_clone = 1
554
+ response = @slides_api.post_clone_presentation_slide(file_name, position, slide_to_clone)
555
+ assert(response, message="Failed to clone presentation slide")
556
+ end
557
+
558
+ def test_post_copy_slide_from_source_presentation
559
+ file_name = "sample.pptx"
560
+ upload_file(file_name)
561
+ source_file = "sample-input.pptx"
562
+ upload_file(source_file)
563
+
564
+ slide_to_copy = 1
565
+ position = 1
566
+ response = @slides_api.post_copy_slide_from_source_presentation(file_name, slide_to_copy, source_file, position)
567
+ assert(response, message="Failed to copy slide from source presentation.")
568
+ end
569
+
570
+ end