aspose_slides_cloud 26.6.0 → 26.10.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 +4 -4
- data/Gemfile.lock +7 -7
- data/README.md +12 -22
- data/lib/aspose_slides_cloud/api/slides_api.rb +450 -0
- data/lib/aspose_slides_cloud/models/html5_export_options.rb +24 -2
- data/lib/aspose_slides_cloud/version.rb +1 -1
- data/spec/api/slides_api_spec.rb +2058 -42
- data/spec/use_cases/font_spec.rb +2 -1
- data/spec/use_cases/merge_spec.rb +1 -1
- data/spec/use_cases/paragraph_spec.rb +73 -0
- data/spec/use_cases/shape_spec.rb +1 -1
- data/spec/use_cases/table_spec.rb +34 -0
- data/testRules.json +16 -7
- metadata +2 -2
data/spec/use_cases/font_spec.rb
CHANGED
|
@@ -66,6 +66,7 @@ describe 'UseCases' do
|
|
|
66
66
|
folder_name = "TempSlidesSDK"
|
|
67
67
|
file_name = "test.pptx"
|
|
68
68
|
font_name = "Calibri"
|
|
69
|
+
AsposeSlidesCloud::SpecUtils.testSlidesApi.copy_file("TempTests/" + file_name, folder_name + "/" + file_name)
|
|
69
70
|
response = AsposeSlidesCloud::SpecUtils.testSlidesApi.set_embedded_fonts(file_name, nil, [ font_name ], false, "password", folder_name)
|
|
70
71
|
expect(response.list.length).to eq(4)
|
|
71
72
|
expect(response.list[2].is_embedded).to eq(true)
|
|
@@ -98,7 +99,7 @@ describe 'UseCases' do
|
|
|
98
99
|
file_name = "test.pptx"
|
|
99
100
|
sourceDocument = File.binread("TestData/test.pptx")
|
|
100
101
|
sourceFont = File.binread("TestData/calibri.ttf")
|
|
101
|
-
response = AsposeSlidesCloud::SpecUtils.testSlidesApi.
|
|
102
|
+
response = AsposeSlidesCloud::SpecUtils.testSlidesApi.set_embedded_fonts_online(sourceDocument, [ sourceFont ], nil, false, "password")
|
|
102
103
|
expect(response.size).not_to eq(sourceDocument.size)
|
|
103
104
|
end
|
|
104
105
|
|
|
@@ -115,7 +115,7 @@ describe 'UseCases' do
|
|
|
115
115
|
presentation_to_merge1.path = folder_name + "/" + file_name
|
|
116
116
|
presentation_to_merge1.password = password
|
|
117
117
|
presentation_to_merge2 = AsposeSlidesCloud::PresentationToMerge.new
|
|
118
|
-
presentation_to_merge2.slides = [
|
|
118
|
+
presentation_to_merge2.slides = [1]
|
|
119
119
|
presentation_to_merge2.source = "Url"
|
|
120
120
|
presentation_to_merge2.path = "https://www.dropbox.com/scl/fi/nz3yt2wpg4eugiw12bz3g/info.pptx?rlkey=wju4vbi6h46q8733tzzvfgufz&e=1&st=pqt66x86&dl=1"
|
|
121
121
|
request.presentations = [presentation_to_merge1, presentation_to_merge2]
|
|
@@ -326,5 +326,78 @@ describe 'UseCases' do
|
|
|
326
326
|
password, folder_name, "", sub_shape)
|
|
327
327
|
expect(response.default_tab_size).to eq(72)
|
|
328
328
|
end
|
|
329
|
+
|
|
330
|
+
it "download paragraph" do
|
|
331
|
+
folder_name = "TempSlidesSDK"
|
|
332
|
+
file_name = "test.pptx"
|
|
333
|
+
password = "password"
|
|
334
|
+
slide_index = 6
|
|
335
|
+
shape_index = 2
|
|
336
|
+
paragraph_index = 1
|
|
337
|
+
AsposeSlidesCloud::SpecUtils.testSlidesApi.copy_file("TempTests/" + file_name, folder_name + "/" + file_name)
|
|
338
|
+
response = AsposeSlidesCloud::SpecUtils.testSlidesApi.download_paragraph(file_name, slide_index, shape_index, paragraph_index,
|
|
339
|
+
'png', nil, nil, nil, password, folder_name)
|
|
340
|
+
expect(response).not_to be_nil
|
|
341
|
+
expect(response.size).to be > 0
|
|
342
|
+
end
|
|
343
|
+
|
|
344
|
+
it "download subshape paragraph" do
|
|
345
|
+
folder_name = "TempSlidesSDK"
|
|
346
|
+
file_name = "test.pptx"
|
|
347
|
+
password = "password"
|
|
348
|
+
slide_index = 6
|
|
349
|
+
shape_index = 3
|
|
350
|
+
sub_shape = "1"
|
|
351
|
+
paragraph_index = 1
|
|
352
|
+
AsposeSlidesCloud::SpecUtils.testSlidesApi.copy_file("TempTests/" + file_name, folder_name + "/" + file_name)
|
|
353
|
+
response = AsposeSlidesCloud::SpecUtils.testSlidesApi.download_paragraph(file_name, slide_index, shape_index, paragraph_index,
|
|
354
|
+
'png', nil, nil, nil, password, folder_name, nil, nil, sub_shape)
|
|
355
|
+
expect(response).not_to be_nil
|
|
356
|
+
expect(response.size).to be > 0
|
|
357
|
+
end
|
|
358
|
+
|
|
359
|
+
it "download paragraph scaled" do
|
|
360
|
+
folder_name = "TempSlidesSDK"
|
|
361
|
+
file_name = "test.pptx"
|
|
362
|
+
password = "password"
|
|
363
|
+
slide_index = 6
|
|
364
|
+
shape_index = 2
|
|
365
|
+
paragraph_index = 1
|
|
366
|
+
AsposeSlidesCloud::SpecUtils.testSlidesApi.copy_file("TempTests/" + file_name, folder_name + "/" + file_name)
|
|
367
|
+
response = AsposeSlidesCloud::SpecUtils.testSlidesApi.download_paragraph(file_name, slide_index, shape_index, paragraph_index,
|
|
368
|
+
'png', nil, nil, nil, password, folder_name)
|
|
369
|
+
scaled_response = AsposeSlidesCloud::SpecUtils.testSlidesApi.download_paragraph(file_name, slide_index, shape_index, paragraph_index,
|
|
370
|
+
'png', 2, 2, nil, password, folder_name)
|
|
371
|
+
expect(scaled_response.size).to be > response.size
|
|
372
|
+
end
|
|
373
|
+
|
|
374
|
+
it "save paragraph" do
|
|
375
|
+
folder_name = "TempSlidesSDK"
|
|
376
|
+
file_name = "test.pptx"
|
|
377
|
+
password = "password"
|
|
378
|
+
slide_index = 6
|
|
379
|
+
shape_index = 2
|
|
380
|
+
paragraph_index = 1
|
|
381
|
+
out_path = folder_name + "/paragraph.png"
|
|
382
|
+
AsposeSlidesCloud::SpecUtils.testSlidesApi.copy_file("TempTests/" + file_name, folder_name + "/" + file_name)
|
|
383
|
+
AsposeSlidesCloud::SpecUtils.testSlidesApi.save_paragraph(file_name, slide_index, shape_index, paragraph_index,
|
|
384
|
+
'png', out_path, nil, nil, nil, password, folder_name)
|
|
385
|
+
expect(AsposeSlidesCloud::SpecUtils.testSlidesApi.object_exists(out_path).exists).to be true
|
|
386
|
+
end
|
|
387
|
+
|
|
388
|
+
it "save subshape paragraph" do
|
|
389
|
+
folder_name = "TempSlidesSDK"
|
|
390
|
+
file_name = "test.pptx"
|
|
391
|
+
password = "password"
|
|
392
|
+
slide_index = 6
|
|
393
|
+
shape_index = 3
|
|
394
|
+
sub_shape = "1"
|
|
395
|
+
paragraph_index = 1
|
|
396
|
+
out_path = folder_name + "/paragraph.png"
|
|
397
|
+
AsposeSlidesCloud::SpecUtils.testSlidesApi.copy_file("TempTests/" + file_name, folder_name + "/" + file_name)
|
|
398
|
+
AsposeSlidesCloud::SpecUtils.testSlidesApi.save_paragraph(file_name, slide_index, shape_index, paragraph_index,
|
|
399
|
+
'png', out_path, nil, nil, nil, password, folder_name, nil, nil, sub_shape)
|
|
400
|
+
expect(AsposeSlidesCloud::SpecUtils.testSlidesApi.object_exists(out_path).exists).to be true
|
|
401
|
+
end
|
|
329
402
|
end
|
|
330
403
|
end
|
|
@@ -821,7 +821,7 @@ describe 'UseCases' do
|
|
|
821
821
|
file_name = "test.pptx"
|
|
822
822
|
password = "password"
|
|
823
823
|
AsposeSlidesCloud::SpecUtils.testSlidesApi.copy_file("TempTests/" + file_name, folder_name + "/" + file_name)
|
|
824
|
-
result = AsposeSlidesCloud::SpecUtils.testSlidesApi.create_shape(file_name, 3, nil, 1, 1, nil,
|
|
824
|
+
result = AsposeSlidesCloud::SpecUtils.testSlidesApi.create_shape(file_name, 3, nil, 1, 1, nil, password, folder_name)
|
|
825
825
|
expect(result).not_to be_nil
|
|
826
826
|
end
|
|
827
827
|
end
|
|
@@ -295,6 +295,40 @@ describe 'UseCases' do
|
|
|
295
295
|
expect(result.paragraph_links.length).to eq(0)
|
|
296
296
|
end
|
|
297
297
|
|
|
298
|
+
it 'download table cell paragraph' do
|
|
299
|
+
folder_name = "TempSlidesSDK"
|
|
300
|
+
file_name = "test.pptx"
|
|
301
|
+
AsposeSlidesCloud::SpecUtils.testSlidesApi.copy_file("TempTests/" + file_name, folder_name + "/" + file_name)
|
|
302
|
+
|
|
303
|
+
slide_index = 9
|
|
304
|
+
shape_index = 1
|
|
305
|
+
row_index = 1
|
|
306
|
+
cell_index = 1
|
|
307
|
+
paragraph_index = 1
|
|
308
|
+
|
|
309
|
+
result = AsposeSlidesCloud::SpecUtils.testSlidesApi.download_table_cell_paragraph(file_name, slide_index, shape_index,
|
|
310
|
+
row_index, cell_index, paragraph_index, 'png', nil, nil, nil, "password", folder_name)
|
|
311
|
+
expect(result).not_to be_nil
|
|
312
|
+
expect(result.size).to be > 0
|
|
313
|
+
end
|
|
314
|
+
|
|
315
|
+
it 'save table cell paragraph' do
|
|
316
|
+
folder_name = "TempSlidesSDK"
|
|
317
|
+
file_name = "test.pptx"
|
|
318
|
+
out_path = folder_name + "/tableCellParagraph.png"
|
|
319
|
+
AsposeSlidesCloud::SpecUtils.testSlidesApi.copy_file("TempTests/" + file_name, folder_name + "/" + file_name)
|
|
320
|
+
|
|
321
|
+
slide_index = 9
|
|
322
|
+
shape_index = 1
|
|
323
|
+
row_index = 1
|
|
324
|
+
cell_index = 1
|
|
325
|
+
paragraph_index = 1
|
|
326
|
+
|
|
327
|
+
AsposeSlidesCloud::SpecUtils.testSlidesApi.save_table_cell_paragraph(file_name, slide_index, shape_index,
|
|
328
|
+
row_index, cell_index, paragraph_index, 'png', out_path, nil, nil, nil, "password", folder_name)
|
|
329
|
+
expect(AsposeSlidesCloud::SpecUtils.testSlidesApi.object_exists(out_path).exists).to be true
|
|
330
|
+
end
|
|
331
|
+
|
|
298
332
|
it 'get table cell portions' do
|
|
299
333
|
folder_name = "TempSlidesSDK"
|
|
300
334
|
file_name = "test.pptx"
|
data/testRules.json
CHANGED
|
@@ -7,6 +7,7 @@
|
|
|
7
7
|
{ "Action": "Put", "File": "test-unprotected.pptx", "Method": "UpdateSlide" },
|
|
8
8
|
{ "Action": "Put", "File": "video.pptx", "Method": "/CaptionTrack/" },
|
|
9
9
|
{ "Action": "Put", "File": "macros.pptm", "Method": "/Vba/" },
|
|
10
|
+
{ "Action": "Put", "File": "oleObject.xlsx", "Method": "/Import.*Workbook/" },
|
|
10
11
|
{ "Action": "Delete", "File": "test.pptx", "Method": "CreatePresentation" },
|
|
11
12
|
{ "Action": "Delete", "File": "test.pptx", "Method": "UploadFile" },
|
|
12
13
|
{ "Action": "Delete", "Folder": "%v", "File": "test.pptx", "Parameter": "Folder" },
|
|
@@ -121,6 +122,7 @@
|
|
|
121
122
|
{ "Value": "png", "Parameter": "Format", "Method": "/Shape/" },
|
|
122
123
|
{ "Value": "png", "Parameter": "Format", "Method": "/Image/" },
|
|
123
124
|
{ "Value": "png", "Parameter": "Format", "Method": "/NotesSlide/" },
|
|
125
|
+
{ "Value": "png", "Parameter": "Format", "Method": "/Paragraph/" },
|
|
124
126
|
{ "InvalidValue": "svg", "Parameter": "Format", "Language": "NET" },
|
|
125
127
|
{ "InvalidValue": "gif", "Parameter": "Format", "Method": "/NotesSlide/", "Language": "NET" },
|
|
126
128
|
{ "InvalidValue": "gif", "Parameter": "Format", "Method": "/Image/", "Language": "NET" },
|
|
@@ -154,6 +156,7 @@
|
|
|
154
156
|
{ "Parameter": "SectionName" },
|
|
155
157
|
{ "Parameter": "PropertyName" },
|
|
156
158
|
{ "Parameter": "FontName" },
|
|
159
|
+
{ "Parameter": "FontNames" },
|
|
157
160
|
{ "Parameter": "SourceFont" },
|
|
158
161
|
{ "Parameter": "TargetFont" },
|
|
159
162
|
{ "Parameter": "Path" },
|
|
@@ -165,6 +168,7 @@
|
|
|
165
168
|
{ "Parameter": "DestPath" },
|
|
166
169
|
{ "Parameter": "StorageName", "Method": "StorageExists" },
|
|
167
170
|
{ "Parameter": "StorageName", "Method": "GetDiscUsage" },
|
|
171
|
+
{ "Parameter": "VersionId" },
|
|
168
172
|
{ "Parameter": "Html" },
|
|
169
173
|
{ "Parameter": "Text" },
|
|
170
174
|
{ "Parameter": "ShapeAltText" },
|
|
@@ -202,6 +206,8 @@
|
|
|
202
206
|
{ "Parameter": "SplitType" },
|
|
203
207
|
{ "Parameter": "Bounds" },
|
|
204
208
|
{ "Parameter": "Resolution" },
|
|
209
|
+
{ "Parameter": "ChartName" },
|
|
210
|
+
{ "Parameter": "Document", "Method": "/Import.*FromWorkbook/" },
|
|
205
211
|
{ "Parameter": "Quality" }
|
|
206
212
|
],
|
|
207
213
|
"Results": [
|
|
@@ -210,20 +216,22 @@
|
|
|
210
216
|
{ "Code": 200, "Method": "/CreateComment/" },
|
|
211
217
|
{ "Code": 200, "Method": "/Create.*Watermark/" },
|
|
212
218
|
{ "Code": 200, "Method": "/CreatePresentartionFrom/" },
|
|
213
|
-
{ "Code": 200, "Method": "/CreateSmartArtNode/" },
|
|
214
219
|
{ "Code": 200, "Method": "CreateFolder" },
|
|
215
220
|
{ "Code": 201, "Method": "/^Copy.*Slide$/" },
|
|
221
|
+
{ "Code": 201, "Method": "/Import/" },
|
|
222
|
+
{ "Code": 200, "Method": "/ImportFromHtml/" },
|
|
223
|
+
{ "Code": 200, "Method": "/ImportFromPdf/" },
|
|
216
224
|
{ "Code": 201, "Method": "/^Start/" },
|
|
217
225
|
{ "Code": 400, "Invalid": true },
|
|
218
|
-
{ "Code": 404, "Message" : "AmazonS3 Storage exception
|
|
226
|
+
{ "Code": 404, "Message" : "AmazonS3 Storage exception", "Parameter": "Name" },
|
|
219
227
|
{ "Code": 404, "Message" : "Operation does not exist", "Parameter": "Id", "Method": "/^GetOperation/" },
|
|
220
228
|
{ "Code": 404, "Message" : "Property %v does not exist.", "Parameter": "PropertyName" },
|
|
221
|
-
{ "Code": 404, "Message" : "AmazonS3 Storage exception
|
|
222
|
-
{ "Code": 404, "Message" : "AmazonS3 Storage exception
|
|
229
|
+
{ "Code": 404, "Message" : "AmazonS3 Storage exception", "Parameter": "Folder" },
|
|
230
|
+
{ "Code": 404, "Message" : "AmazonS3 Storage exception", "Parameter": "CloneFrom" },
|
|
223
231
|
{ "Code": 404, "Message": "The storage %v was not found or is not associated with the application.", "Parameter": "/Storage/" },
|
|
224
232
|
{ "Code": 404, "Message": "The storage was not found or is not associated with the application.", "Parameter": "/Storage/", "Method": "/^Start/" },
|
|
225
|
-
{ "Code": 404, "Message" : "AmazonS3 Storage exception
|
|
226
|
-
{ "Code": 404, "Message" : "AmazonS3 Storage exception
|
|
233
|
+
{ "Code": 404, "Message" : "AmazonS3 Storage exception", "Parameter": "/.*Path/" },
|
|
234
|
+
{ "Code": 404, "Message" : "AmazonS3 Storage exception", "Parameter": "Source" },
|
|
227
235
|
{ "Code": 404, "Message": "Author with name %v not found", "Parameter": "Author" },
|
|
228
236
|
{ "Code": 409, "Message": " is not empty", "Parameter": "Recursive" },
|
|
229
237
|
{ "Message": "Invalid sub-node path", "Parameter": "SubNode" },
|
|
@@ -234,6 +242,7 @@
|
|
|
234
242
|
{ "Message": " is out of bounds. Should be ", "Parameter": "Value" },
|
|
235
243
|
{ "Message": "Placeholder with index %v doesn't exist.", "Parameter": "PlaceholderIndex" },
|
|
236
244
|
{ "Message": " is out of bounds. Valid index range is between ", "Type": "int[]" },
|
|
245
|
+
{ "Message": " is out of bounds. Valid quality range is between ", "Parameter": "quality" },
|
|
237
246
|
{ "Code": 404, "Message": "is not found", "Parameter": "FontNames" },
|
|
238
247
|
{ "Message": "worksheet in the workbook", "Parameter": "WorksheetName" },
|
|
239
248
|
{ "Message": "cell range", "Parameter": "CellRange" },
|
|
@@ -246,7 +255,7 @@
|
|
|
246
255
|
{ "Message": "Error processing presentation ", "Parameter": "Files" },
|
|
247
256
|
{ "Message": " required parameter", "Type": "model" },
|
|
248
257
|
{ "Message": "Failed to load the presentation", "Parameter": "Request", "Method": "/Merge.*Online/" },
|
|
249
|
-
{ "Message": "AmazonS3 Storage exception", "Parameter": "VersionId" },
|
|
258
|
+
{ "Code": 404, "Message": "AmazonS3 Storage exception", "Parameter": "VersionId" },
|
|
250
259
|
{ "Message": "AmazonS3 Storage exception", "Parameter": "SrcPath", "Method": "CopyFile" },
|
|
251
260
|
{ "Message": "Error parsing XML template data", "Parameter": "Data" },
|
|
252
261
|
{ "Message": "Color must be in format #FF000000", "Parameter": "Color" }
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: aspose_slides_cloud
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 26.
|
|
4
|
+
version: 26.10.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Victor Putrov
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2026-
|
|
11
|
+
date: 2026-11-04 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: faraday
|