aspose_slides_cloud 1.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.
- checksums.yaml +7 -0
- data/LICENSE +22 -0
- data/README.md +42 -0
- data/aspose_slides_cloud.gemspec +26 -0
- data/lib/aspose_slides_cloud.rb +94 -0
- data/lib/aspose_slides_cloud/api/slides_api.rb +3420 -0
- data/lib/aspose_slides_cloud/api_client.rb +335 -0
- data/lib/aspose_slides_cloud/api_error.rb +24 -0
- data/lib/aspose_slides_cloud/configuration.rb +166 -0
- data/lib/aspose_slides_cloud/models/arrow_head_properties.rb +53 -0
- data/lib/aspose_slides_cloud/models/base_object.rb +86 -0
- data/lib/aspose_slides_cloud/models/base_response.rb +53 -0
- data/lib/aspose_slides_cloud/models/color.rb +29 -0
- data/lib/aspose_slides_cloud/models/color_scheme.rb +153 -0
- data/lib/aspose_slides_cloud/models/color_scheme_response.rb +61 -0
- data/lib/aspose_slides_cloud/models/common_response.rb +53 -0
- data/lib/aspose_slides_cloud/models/custom_dash_pattern.rb +39 -0
- data/lib/aspose_slides_cloud/models/document.rb +81 -0
- data/lib/aspose_slides_cloud/models/document_properties.rb +67 -0
- data/lib/aspose_slides_cloud/models/document_properties_response.rb +61 -0
- data/lib/aspose_slides_cloud/models/document_property.rb +81 -0
- data/lib/aspose_slides_cloud/models/document_property_response.rb +61 -0
- data/lib/aspose_slides_cloud/models/document_response.rb +61 -0
- data/lib/aspose_slides_cloud/models/fill_format.rb +37 -0
- data/lib/aspose_slides_cloud/models/font_scheme.rb +81 -0
- data/lib/aspose_slides_cloud/models/font_scheme_response.rb +61 -0
- data/lib/aspose_slides_cloud/models/font_set.rb +53 -0
- data/lib/aspose_slides_cloud/models/format_scheme.rb +97 -0
- data/lib/aspose_slides_cloud/models/format_scheme_response.rb +61 -0
- data/lib/aspose_slides_cloud/models/html_export_options.rb +53 -0
- data/lib/aspose_slides_cloud/models/image.rb +73 -0
- data/lib/aspose_slides_cloud/models/images.rb +67 -0
- data/lib/aspose_slides_cloud/models/images_response.rb +61 -0
- data/lib/aspose_slides_cloud/models/line_format.rb +117 -0
- data/lib/aspose_slides_cloud/models/new_shape_response.rb +61 -0
- data/lib/aspose_slides_cloud/models/ordered_merge_request.rb +39 -0
- data/lib/aspose_slides_cloud/models/paragraph.rb +67 -0
- data/lib/aspose_slides_cloud/models/paragraph_portion_response.rb +61 -0
- data/lib/aspose_slides_cloud/models/paragraphs.rb +67 -0
- data/lib/aspose_slides_cloud/models/pdf_export_options.rb +101 -0
- data/lib/aspose_slides_cloud/models/placeholder.rb +97 -0
- data/lib/aspose_slides_cloud/models/placeholder_response.rb +61 -0
- data/lib/aspose_slides_cloud/models/placeholders.rb +67 -0
- data/lib/aspose_slides_cloud/models/placeholders_response.rb +61 -0
- data/lib/aspose_slides_cloud/models/portion.rb +81 -0
- data/lib/aspose_slides_cloud/models/presentation_string_replace_response.rb +69 -0
- data/lib/aspose_slides_cloud/models/presentation_to_merge.rb +47 -0
- data/lib/aspose_slides_cloud/models/presentations_merge_request.rb +39 -0
- data/lib/aspose_slides_cloud/models/resource_uri.rb +61 -0
- data/lib/aspose_slides_cloud/models/resource_uri_element.rb +37 -0
- data/lib/aspose_slides_cloud/models/shape.rb +169 -0
- data/lib/aspose_slides_cloud/models/shape_list.rb +67 -0
- data/lib/aspose_slides_cloud/models/shape_paragraph_response.rb +61 -0
- data/lib/aspose_slides_cloud/models/shape_paragraphs_response.rb +61 -0
- data/lib/aspose_slides_cloud/models/shape_response.rb +61 -0
- data/lib/aspose_slides_cloud/models/slide.rb +121 -0
- data/lib/aspose_slides_cloud/models/slide_background.rb +73 -0
- data/lib/aspose_slides_cloud/models/slide_background_response.rb +61 -0
- data/lib/aspose_slides_cloud/models/slide_comment.rb +53 -0
- data/lib/aspose_slides_cloud/models/slide_comments.rb +67 -0
- data/lib/aspose_slides_cloud/models/slide_comments_response.rb +61 -0
- data/lib/aspose_slides_cloud/models/slide_list_response.rb +61 -0
- data/lib/aspose_slides_cloud/models/slide_response.rb +61 -0
- data/lib/aspose_slides_cloud/models/slide_string_replace_response.rb +69 -0
- data/lib/aspose_slides_cloud/models/slides.rb +67 -0
- data/lib/aspose_slides_cloud/models/split_document_response.rb +61 -0
- data/lib/aspose_slides_cloud/models/split_document_result.rb +67 -0
- data/lib/aspose_slides_cloud/models/text_item.rb +45 -0
- data/lib/aspose_slides_cloud/models/text_items.rb +67 -0
- data/lib/aspose_slides_cloud/models/text_items_response.rb +61 -0
- data/lib/aspose_slides_cloud/models/theme.rb +89 -0
- data/lib/aspose_slides_cloud/models/theme_response.rb +61 -0
- data/lib/aspose_slides_cloud/models/tiff_export_options.rb +77 -0
- data/lib/aspose_slides_cloud/version.rb +3 -0
- data/test/data/ReadMe.html +48 -0
- data/test/data/Test.html +6 -0
- data/test/data/demo.pptx +0 -0
- data/test/data/sample-input.pptx +0 -0
- data/test/data/sample.pptx +0 -0
- data/test/data/welcome.pptx +0 -0
- data/test/slides_tests.rb +570 -0
- 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,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>
|
data/test/data/Test.html
ADDED
data/test/data/demo.pptx
ADDED
Binary file
|
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
|