aspose_slides_cloud 1.0.0
Sign up to get free protection for your applications and to get access to all the features.
- 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
|