aspose_slides_cloud 21.8.0 → 22.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (218) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +74 -89
  3. data/TestData/TemplatingCVDataWithBase64.xml +22 -22
  4. data/TestData/test-unprotected.pptx +0 -0
  5. data/TestData/test.pptx +0 -0
  6. data/aspose_slides_cloud.gemspec +1 -1
  7. data/lib/aspose_slides_cloud/api/slides_api.rb +18984 -15218
  8. data/lib/aspose_slides_cloud/api_client.rb +439 -439
  9. data/lib/aspose_slides_cloud/configuration.rb +1 -1
  10. data/lib/aspose_slides_cloud/models/accent_element.rb +239 -0
  11. data/lib/aspose_slides_cloud/models/add_layout_slide.rb +244 -244
  12. data/lib/aspose_slides_cloud/models/add_master_slide.rb +259 -259
  13. data/lib/aspose_slides_cloud/models/add_shape.rb +239 -239
  14. data/lib/aspose_slides_cloud/models/add_slide.rb +269 -269
  15. data/lib/aspose_slides_cloud/models/api_info.rb +217 -217
  16. data/lib/aspose_slides_cloud/models/arc_to_path_segment.rb +279 -0
  17. data/lib/aspose_slides_cloud/models/array_element.rb +305 -0
  18. data/lib/aspose_slides_cloud/models/arrow_head_properties.rb +285 -285
  19. data/lib/aspose_slides_cloud/models/audio_frame.rb +382 -359
  20. data/lib/aspose_slides_cloud/models/axes.rb +237 -237
  21. data/lib/aspose_slides_cloud/models/axis.rb +699 -699
  22. data/lib/aspose_slides_cloud/models/bar_element.rb +251 -0
  23. data/lib/aspose_slides_cloud/models/base64_input_file.rb +230 -230
  24. data/lib/aspose_slides_cloud/models/block_element.rb +231 -0
  25. data/lib/aspose_slides_cloud/models/blur_effect.rb +227 -227
  26. data/lib/aspose_slides_cloud/models/border_box_element.rb +309 -0
  27. data/lib/aspose_slides_cloud/models/box_and_whisker_series.rb +299 -299
  28. data/lib/aspose_slides_cloud/models/box_element.rb +279 -0
  29. data/lib/aspose_slides_cloud/models/bubble_chart_data_point.rb +212 -212
  30. data/lib/aspose_slides_cloud/models/bubble_series.rb +248 -248
  31. data/lib/aspose_slides_cloud/models/camera.rb +291 -0
  32. data/lib/aspose_slides_cloud/models/chart.rb +368 -365
  33. data/lib/aspose_slides_cloud/models/chart_category.rb +271 -271
  34. data/lib/aspose_slides_cloud/models/chart_title.rb +222 -222
  35. data/lib/aspose_slides_cloud/models/chart_wall.rb +281 -281
  36. data/lib/aspose_slides_cloud/models/close_path_segment.rb +219 -0
  37. data/lib/aspose_slides_cloud/models/color_scheme.rb +317 -317
  38. data/lib/aspose_slides_cloud/models/common_slide_view_properties.rb +217 -217
  39. data/lib/aspose_slides_cloud/models/connector.rb +278 -275
  40. data/lib/aspose_slides_cloud/models/cubic_bezier_to_path_segment.rb +309 -0
  41. data/lib/aspose_slides_cloud/models/custom_dash_pattern.rb +209 -209
  42. data/lib/aspose_slides_cloud/models/data_point.rb +197 -197
  43. data/lib/aspose_slides_cloud/models/delimiter_element.rb +293 -0
  44. data/lib/aspose_slides_cloud/models/disc_usage.rb +227 -227
  45. data/lib/aspose_slides_cloud/models/document.rb +257 -257
  46. data/lib/aspose_slides_cloud/models/document_properties.rb +209 -209
  47. data/lib/aspose_slides_cloud/models/document_property.rb +232 -232
  48. data/lib/aspose_slides_cloud/models/document_replace_result.rb +218 -218
  49. data/lib/aspose_slides_cloud/models/effect.rb +434 -424
  50. data/lib/aspose_slides_cloud/models/effect_format.rb +277 -277
  51. data/lib/aspose_slides_cloud/models/entity_exists.rb +212 -212
  52. data/lib/aspose_slides_cloud/models/error.rb +237 -237
  53. data/lib/aspose_slides_cloud/models/error_details.rb +222 -222
  54. data/lib/aspose_slides_cloud/models/export_format.rb +62 -60
  55. data/lib/aspose_slides_cloud/models/export_options.rb +236 -216
  56. data/lib/aspose_slides_cloud/models/file_version.rb +225 -225
  57. data/lib/aspose_slides_cloud/models/file_versions.rb +209 -209
  58. data/lib/aspose_slides_cloud/models/files_list.rb +209 -209
  59. data/lib/aspose_slides_cloud/models/files_upload_result.rb +221 -221
  60. data/lib/aspose_slides_cloud/models/fill_format.rb +240 -240
  61. data/lib/aspose_slides_cloud/models/fill_overlay_effect.rb +246 -246
  62. data/lib/aspose_slides_cloud/models/font_scheme.rb +227 -227
  63. data/lib/aspose_slides_cloud/models/font_set.rb +227 -227
  64. data/lib/aspose_slides_cloud/models/format_scheme.rb +245 -245
  65. data/lib/aspose_slides_cloud/models/fraction_element.rb +261 -0
  66. data/lib/aspose_slides_cloud/models/function_element.rb +239 -0
  67. data/lib/aspose_slides_cloud/models/geometry_path.rb +263 -0
  68. data/lib/aspose_slides_cloud/models/geometry_paths.rb +209 -0
  69. data/lib/aspose_slides_cloud/models/geometry_shape.rb +263 -260
  70. data/lib/aspose_slides_cloud/models/gif_export_options.rb +230 -0
  71. data/lib/aspose_slides_cloud/models/glow_effect.rb +222 -222
  72. data/lib/aspose_slides_cloud/models/gradient_fill.rb +342 -342
  73. data/lib/aspose_slides_cloud/models/gradient_fill_stop.rb +222 -222
  74. data/lib/aspose_slides_cloud/models/graphical_object.rb +237 -234
  75. data/lib/aspose_slides_cloud/models/group_shape.rb +237 -234
  76. data/lib/aspose_slides_cloud/models/grouping_character_element.rb +283 -0
  77. data/lib/aspose_slides_cloud/models/header_footer.rb +247 -247
  78. data/lib/aspose_slides_cloud/models/html5_export_options.rb +220 -0
  79. data/lib/aspose_slides_cloud/models/html_export_options.rb +378 -421
  80. data/lib/aspose_slides_cloud/models/hyperlink.rb +348 -0
  81. data/lib/aspose_slides_cloud/models/i_shape_export_options.rb +197 -197
  82. data/lib/aspose_slides_cloud/models/image.rb +237 -237
  83. data/lib/aspose_slides_cloud/models/image_export_format.rb +43 -43
  84. data/lib/aspose_slides_cloud/models/image_export_options.rb +286 -299
  85. data/lib/aspose_slides_cloud/models/images.rb +209 -209
  86. data/lib/aspose_slides_cloud/models/inner_shadow_effect.rb +252 -252
  87. data/lib/aspose_slides_cloud/models/input.rb +227 -227
  88. data/lib/aspose_slides_cloud/models/input_file.rb +250 -250
  89. data/lib/aspose_slides_cloud/models/interactive_sequence.rb +224 -224
  90. data/lib/aspose_slides_cloud/models/layout_slide.rb +278 -278
  91. data/lib/aspose_slides_cloud/models/layout_slides.rb +209 -209
  92. data/lib/aspose_slides_cloud/models/left_sub_superscript_element.rb +249 -0
  93. data/lib/aspose_slides_cloud/models/legend.rb +321 -321
  94. data/lib/aspose_slides_cloud/models/light_rig.rb +293 -0
  95. data/lib/aspose_slides_cloud/models/limit_element.rb +249 -0
  96. data/lib/aspose_slides_cloud/models/line_format.rb +411 -411
  97. data/lib/aspose_slides_cloud/models/line_to_path_segment.rb +249 -0
  98. data/lib/aspose_slides_cloud/models/master_slide.rb +231 -231
  99. data/lib/aspose_slides_cloud/models/master_slides.rb +209 -209
  100. data/lib/aspose_slides_cloud/models/math_element.rb +240 -0
  101. data/lib/aspose_slides_cloud/models/math_paragraph.rb +253 -0
  102. data/lib/aspose_slides_cloud/models/matrix_element.rb +337 -0
  103. data/lib/aspose_slides_cloud/models/merge.rb +231 -231
  104. data/lib/aspose_slides_cloud/models/merging_source.rb +219 -219
  105. data/lib/aspose_slides_cloud/models/move_to_path_segment.rb +249 -0
  106. data/lib/aspose_slides_cloud/models/nary_operator_element.rb +311 -0
  107. data/lib/aspose_slides_cloud/models/no_fill.rb +219 -219
  108. data/lib/aspose_slides_cloud/models/normal_view_restored_properties.rb +217 -217
  109. data/lib/aspose_slides_cloud/models/notes_slide.rb +217 -217
  110. data/lib/aspose_slides_cloud/models/notes_slide_export_format.rb +43 -43
  111. data/lib/aspose_slides_cloud/models/notes_slide_header_footer.rb +267 -267
  112. data/lib/aspose_slides_cloud/models/object_exist.rb +227 -227
  113. data/lib/aspose_slides_cloud/models/ole_object_frame.rb +262 -259
  114. data/lib/aspose_slides_cloud/models/one_value_chart_data_point.rb +210 -210
  115. data/lib/aspose_slides_cloud/models/one_value_series.rb +248 -248
  116. data/lib/aspose_slides_cloud/models/ordered_merge_request.rb +209 -209
  117. data/lib/aspose_slides_cloud/models/outer_shadow_effect.rb +252 -252
  118. data/lib/aspose_slides_cloud/models/output_file.rb +240 -240
  119. data/lib/aspose_slides_cloud/models/paragraph.rb +517 -517
  120. data/lib/aspose_slides_cloud/models/paragraphs.rb +209 -209
  121. data/lib/aspose_slides_cloud/models/path_input_file.rb +240 -240
  122. data/lib/aspose_slides_cloud/models/path_output_file.rb +239 -239
  123. data/lib/aspose_slides_cloud/models/path_segment.rb +240 -0
  124. data/lib/aspose_slides_cloud/models/pattern_fill.rb +266 -266
  125. data/lib/aspose_slides_cloud/models/pdf_export_options.rb +474 -547
  126. data/lib/aspose_slides_cloud/models/picture_fill.rb +351 -351
  127. data/lib/aspose_slides_cloud/models/picture_frame.rb +248 -245
  128. data/lib/aspose_slides_cloud/models/pipeline.rb +219 -219
  129. data/lib/aspose_slides_cloud/models/placeholder.rb +325 -325
  130. data/lib/aspose_slides_cloud/models/placeholders.rb +209 -209
  131. data/lib/aspose_slides_cloud/models/plot_area.rb +311 -311
  132. data/lib/aspose_slides_cloud/models/portion.rb +619 -589
  133. data/lib/aspose_slides_cloud/models/portions.rb +209 -209
  134. data/lib/aspose_slides_cloud/models/pptx_export_options.rb +244 -247
  135. data/lib/aspose_slides_cloud/models/presentation_to_merge.rb +273 -273
  136. data/lib/aspose_slides_cloud/models/presentations_merge_request.rb +221 -221
  137. data/lib/aspose_slides_cloud/models/preset_shadow_effect.rb +286 -286
  138. data/lib/aspose_slides_cloud/models/protection_properties.rb +267 -267
  139. data/lib/aspose_slides_cloud/models/quadratic_bezier_to_path_segment.rb +279 -0
  140. data/lib/aspose_slides_cloud/models/radical_element.rb +249 -0
  141. data/lib/aspose_slides_cloud/models/reflection_effect.rb +441 -441
  142. data/lib/aspose_slides_cloud/models/remove_shape.rb +229 -229
  143. data/lib/aspose_slides_cloud/models/remove_slide.rb +234 -234
  144. data/lib/aspose_slides_cloud/models/reorder_slide.rb +249 -249
  145. data/lib/aspose_slides_cloud/models/replace_text.rb +269 -269
  146. data/lib/aspose_slides_cloud/models/request_input_file.rb +235 -235
  147. data/lib/aspose_slides_cloud/models/reset_slide.rb +234 -234
  148. data/lib/aspose_slides_cloud/models/resource_base.rb +219 -219
  149. data/lib/aspose_slides_cloud/models/resource_uri.rb +237 -237
  150. data/lib/aspose_slides_cloud/models/response_output_file.rb +219 -219
  151. data/lib/aspose_slides_cloud/models/right_sub_superscript_element.rb +259 -0
  152. data/lib/aspose_slides_cloud/models/save.rb +266 -266
  153. data/lib/aspose_slides_cloud/models/save_shape.rb +276 -276
  154. data/lib/aspose_slides_cloud/models/save_slide.rb +301 -301
  155. data/lib/aspose_slides_cloud/models/scatter_chart_data_point.rb +225 -225
  156. data/lib/aspose_slides_cloud/models/scatter_series.rb +248 -248
  157. data/lib/aspose_slides_cloud/models/section.rb +234 -234
  158. data/lib/aspose_slides_cloud/models/sections.rb +209 -209
  159. data/lib/aspose_slides_cloud/models/series.rb +422 -422
  160. data/lib/aspose_slides_cloud/models/series_marker.rb +281 -281
  161. data/lib/aspose_slides_cloud/models/shape.rb +258 -255
  162. data/lib/aspose_slides_cloud/models/shape_base.rb +405 -375
  163. data/lib/aspose_slides_cloud/models/shape_bevel.rb +261 -0
  164. data/lib/aspose_slides_cloud/models/shape_export_format.rb +44 -44
  165. data/lib/aspose_slides_cloud/models/shape_image_export_options.rb +271 -286
  166. data/lib/aspose_slides_cloud/models/shape_thumbnail_bounds.rb +41 -41
  167. data/lib/aspose_slides_cloud/models/shapes.rb +209 -209
  168. data/lib/aspose_slides_cloud/models/shapes_alignment_type.rb +46 -46
  169. data/lib/aspose_slides_cloud/models/slide.rb +322 -322
  170. data/lib/aspose_slides_cloud/models/slide_animation.rb +221 -221
  171. data/lib/aspose_slides_cloud/models/slide_background.rb +266 -266
  172. data/lib/aspose_slides_cloud/models/slide_comment.rb +239 -239
  173. data/lib/aspose_slides_cloud/models/slide_comments.rb +209 -209
  174. data/lib/aspose_slides_cloud/models/slide_export_format.rb +60 -59
  175. data/lib/aspose_slides_cloud/models/slide_properties.rb +315 -315
  176. data/lib/aspose_slides_cloud/models/slide_replace_result.rb +223 -223
  177. data/lib/aspose_slides_cloud/models/slides.rb +209 -209
  178. data/lib/aspose_slides_cloud/models/smart_art.rb +345 -342
  179. data/lib/aspose_slides_cloud/models/smart_art_node.rb +293 -293
  180. data/lib/aspose_slides_cloud/models/smart_art_shape.rb +238 -235
  181. data/lib/aspose_slides_cloud/models/soft_edge_effect.rb +212 -212
  182. data/lib/aspose_slides_cloud/models/solid_fill.rb +229 -229
  183. data/lib/aspose_slides_cloud/models/special_slide_type.rb +41 -0
  184. data/lib/aspose_slides_cloud/models/split_document_result.rb +209 -209
  185. data/lib/aspose_slides_cloud/models/storage_exist.rb +212 -212
  186. data/lib/aspose_slides_cloud/models/storage_file.rb +257 -257
  187. data/lib/aspose_slides_cloud/models/subscript_element.rb +239 -0
  188. data/lib/aspose_slides_cloud/models/superscript_element.rb +239 -0
  189. data/lib/aspose_slides_cloud/models/svg_export_options.rb +336 -379
  190. data/lib/aspose_slides_cloud/models/swf_export_options.rb +446 -529
  191. data/lib/aspose_slides_cloud/models/table.rb +353 -350
  192. data/lib/aspose_slides_cloud/models/table_cell.rb +403 -403
  193. data/lib/aspose_slides_cloud/models/table_column.rb +212 -212
  194. data/lib/aspose_slides_cloud/models/table_row.rb +239 -239
  195. data/lib/aspose_slides_cloud/models/task.rb +240 -240
  196. data/lib/aspose_slides_cloud/models/text_element.rb +229 -0
  197. data/lib/aspose_slides_cloud/models/text_item.rb +217 -217
  198. data/lib/aspose_slides_cloud/models/text_items.rb +209 -209
  199. data/lib/aspose_slides_cloud/models/theme.rb +237 -237
  200. data/lib/aspose_slides_cloud/models/three_d_format.rb +331 -0
  201. data/lib/aspose_slides_cloud/models/tiff_export_options.rb +370 -423
  202. data/lib/aspose_slides_cloud/models/update_background.rb +241 -241
  203. data/lib/aspose_slides_cloud/models/update_shape.rb +239 -239
  204. data/lib/aspose_slides_cloud/models/video_frame.rb +332 -329
  205. data/lib/aspose_slides_cloud/models/view_properties.rb +357 -357
  206. data/lib/aspose_slides_cloud/models/waterfall_chart_data_point.rb +206 -206
  207. data/lib/aspose_slides_cloud/models/waterfall_series.rb +247 -247
  208. data/lib/aspose_slides_cloud/models/xaml_export_options.rb +210 -0
  209. data/lib/aspose_slides_cloud/models/xps_export_options.rb +230 -243
  210. data/lib/aspose_slides_cloud/type_registry.rb +402 -323
  211. data/lib/aspose_slides_cloud/version.rb +25 -25
  212. data/lib/aspose_slides_cloud.rb +251 -212
  213. data/spec/api/slides_api_spec.rb +52044 -40353
  214. data/spec/extra/extra_spec.rb +202 -202
  215. data/spec/spec_utils.rb +188 -182
  216. data/testConfig.json +7 -7
  217. data/testRules.json +522 -517
  218. metadata +45 -6
@@ -1,379 +1,336 @@
1
- =begin
2
- Copyright (c) 2019 Aspose Pty Ltd
3
-
4
- Permission is hereby granted, free of charge, to any person obtaining a copy
5
- of this software and associated documentation files (the "Software"), to deal
6
- in the Software without restriction, including without limitation the rights
7
- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
8
- copies of the Software, and to permit persons to whom the Software is
9
- furnished to do so, subject to the following conditions:
10
-
11
- The above copyright notice and this permission notice shall be included in all
12
- copies or substantial portions of the Software.
13
-
14
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
16
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
17
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
18
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
19
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
20
- SOFTWARE.
21
- =end
22
-
23
- require 'date'
24
-
25
- module AsposeSlidesCloud
26
- # Provides options that control how a presentation is saved in SVG format.
27
- class SvgExportOptions < ExportOptions
28
- # Determines whether the text on a slide will be saved as graphics.
29
- attr_accessor :vectorize_text
30
-
31
- # Returns or sets the lower resolution limit for metafile rasterization.
32
- attr_accessor :metafile_rasterization_dpi
33
-
34
- # Determines whether the 3D text is disabled in SVG.
35
- attr_accessor :disable3_d_text
36
-
37
- # Disables splitting FromCornerX and FromCenter gradients.
38
- attr_accessor :disable_gradient_split
39
-
40
- # SVG 1.1 lacks ability to define insets for markers. Aspose.Slides SVG writing engine has workaround for that problem: it crops end of line with arrow, so, line doesn't overlap markers. This option switches off such behavior.
41
- attr_accessor :disable_line_end_cropping
42
-
43
- # Determines JPEG encoding quality.
44
- attr_accessor :jpeg_quality
45
-
46
- # Represents the pictures compression level
47
- attr_accessor :pictures_compression
48
-
49
- # A boolean flag indicates if the cropped parts remain as part of the document. If true the cropped parts will removed, if false they will be serialized in the document (which can possible lead to a larger file)
50
- attr_accessor :delete_pictures_cropped_areas
51
-
52
- # Determines a way of handling externally loaded fonts.
53
- attr_accessor :external_fonts_handling
54
-
55
- class EnumAttributeValidator
56
- attr_reader :datatype
57
- attr_reader :allowable_values
58
-
59
- def initialize(datatype, allowable_values)
60
- @allowable_values = allowable_values.map do |value|
61
- case datatype.to_s
62
- when /Integer/i
63
- value.to_i
64
- when /Float/i
65
- value.to_f
66
- else
67
- value
68
- end
69
- end
70
- end
71
-
72
- def valid?(value)
73
- !value || allowable_values.any?{ |s| s.casecmp(value) == 0 }
74
- end
75
- end
76
-
77
- # Attribute mapping from ruby-style variable name to JSON key.
78
- def self.attribute_map
79
- super.merge({
80
- :'vectorize_text' => :'VectorizeText',
81
- :'metafile_rasterization_dpi' => :'MetafileRasterizationDpi',
82
- :'disable3_d_text' => :'Disable3DText',
83
- :'disable_gradient_split' => :'DisableGradientSplit',
84
- :'disable_line_end_cropping' => :'DisableLineEndCropping',
85
- :'jpeg_quality' => :'JpegQuality',
86
- :'pictures_compression' => :'PicturesCompression',
87
- :'delete_pictures_cropped_areas' => :'DeletePicturesCroppedAreas',
88
- :'external_fonts_handling' => :'ExternalFontsHandling',
89
- })
90
- end
91
-
92
- # Attribute type mapping.
93
- def self.swagger_types
94
- super.merge({
95
- :'vectorize_text' => :'BOOLEAN',
96
- :'metafile_rasterization_dpi' => :'Integer',
97
- :'disable3_d_text' => :'BOOLEAN',
98
- :'disable_gradient_split' => :'BOOLEAN',
99
- :'disable_line_end_cropping' => :'BOOLEAN',
100
- :'jpeg_quality' => :'Integer',
101
- :'pictures_compression' => :'String',
102
- :'delete_pictures_cropped_areas' => :'BOOLEAN',
103
- :'external_fonts_handling' => :'String',
104
- })
105
- end
106
-
107
- # Initializes the object
108
- # @param [Hash] attributes Model attributes in the form of hash
109
- def initialize(attributes = {})
110
- super
111
-
112
- if attributes.has_key?(:'VectorizeText')
113
- self.vectorize_text = attributes[:'VectorizeText']
114
- end
115
-
116
- if attributes.has_key?(:'MetafileRasterizationDpi')
117
- self.metafile_rasterization_dpi = attributes[:'MetafileRasterizationDpi']
118
- end
119
-
120
- if attributes.has_key?(:'Disable3DText')
121
- self.disable3_d_text = attributes[:'Disable3DText']
122
- end
123
-
124
- if attributes.has_key?(:'DisableGradientSplit')
125
- self.disable_gradient_split = attributes[:'DisableGradientSplit']
126
- end
127
-
128
- if attributes.has_key?(:'DisableLineEndCropping')
129
- self.disable_line_end_cropping = attributes[:'DisableLineEndCropping']
130
- end
131
-
132
- if attributes.has_key?(:'JpegQuality')
133
- self.jpeg_quality = attributes[:'JpegQuality']
134
- end
135
-
136
- if attributes.has_key?(:'PicturesCompression')
137
- self.pictures_compression = attributes[:'PicturesCompression']
138
- end
139
-
140
- if attributes.has_key?(:'DeletePicturesCroppedAreas')
141
- self.delete_pictures_cropped_areas = attributes[:'DeletePicturesCroppedAreas']
142
- end
143
-
144
- if attributes.has_key?(:'ExternalFontsHandling')
145
- self.external_fonts_handling = attributes[:'ExternalFontsHandling']
146
- end
147
- self.format = "svg"
148
- end
149
-
150
- # Show invalid properties with the reasons. Usually used together with valid?
151
- # @return Array for valid properties with the reasons
152
- def list_invalid_properties
153
- invalid_properties = super
154
- if @vectorize_text.nil?
155
- invalid_properties.push('invalid value for "vectorize_text", vectorize_text cannot be nil.')
156
- end
157
-
158
- if @metafile_rasterization_dpi.nil?
159
- invalid_properties.push('invalid value for "metafile_rasterization_dpi", metafile_rasterization_dpi cannot be nil.')
160
- end
161
-
162
- if @disable3_d_text.nil?
163
- invalid_properties.push('invalid value for "disable3_d_text", disable3_d_text cannot be nil.')
164
- end
165
-
166
- if @disable_gradient_split.nil?
167
- invalid_properties.push('invalid value for "disable_gradient_split", disable_gradient_split cannot be nil.')
168
- end
169
-
170
- if @disable_line_end_cropping.nil?
171
- invalid_properties.push('invalid value for "disable_line_end_cropping", disable_line_end_cropping cannot be nil.')
172
- end
173
-
174
- if @jpeg_quality.nil?
175
- invalid_properties.push('invalid value for "jpeg_quality", jpeg_quality cannot be nil.')
176
- end
177
-
178
- if @pictures_compression.nil?
179
- invalid_properties.push('invalid value for "pictures_compression", pictures_compression cannot be nil.')
180
- end
181
-
182
- if @delete_pictures_cropped_areas.nil?
183
- invalid_properties.push('invalid value for "delete_pictures_cropped_areas", delete_pictures_cropped_areas cannot be nil.')
184
- end
185
-
186
- if @external_fonts_handling.nil?
187
- invalid_properties.push('invalid value for "external_fonts_handling", external_fonts_handling cannot be nil.')
188
- end
189
-
190
- invalid_properties
191
- end
192
-
193
- # Check to see if the all the properties in the model are valid
194
- # @return true if the model is valid
195
- def valid?
196
- return false if !super
197
- return false if @vectorize_text.nil?
198
- return false if @metafile_rasterization_dpi.nil?
199
- return false if @disable3_d_text.nil?
200
- return false if @disable_gradient_split.nil?
201
- return false if @disable_line_end_cropping.nil?
202
- return false if @jpeg_quality.nil?
203
- return false if @pictures_compression.nil?
204
- pictures_compression_validator = EnumAttributeValidator.new('String', ['Dpi330', 'Dpi220', 'Dpi150', 'Dpi96', 'Dpi72', 'DocumentResolution'])
205
- return false unless pictures_compression_validator.valid?(@pictures_compression)
206
- return false if @delete_pictures_cropped_areas.nil?
207
- return false if @external_fonts_handling.nil?
208
- external_fonts_handling_validator = EnumAttributeValidator.new('String', ['AddLinksToFontFiles', 'Embed', 'Vectorize'])
209
- return false unless external_fonts_handling_validator.valid?(@external_fonts_handling)
210
- true
211
- end
212
-
213
- # Custom attribute writer method checking allowed values (enum).
214
- # @param [Object] pictures_compression Object to be assigned
215
- def pictures_compression=(pictures_compression)
216
- validator = EnumAttributeValidator.new('String', ['Dpi330', 'Dpi220', 'Dpi150', 'Dpi96', 'Dpi72', 'DocumentResolution'])
217
- unless validator.valid?(pictures_compression)
218
- fail ArgumentError, 'invalid value for "pictures_compression", must be one of #{validator.allowable_values}.'
219
- end
220
- @pictures_compression = pictures_compression
221
- end
222
-
223
- # Custom attribute writer method checking allowed values (enum).
224
- # @param [Object] external_fonts_handling Object to be assigned
225
- def external_fonts_handling=(external_fonts_handling)
226
- validator = EnumAttributeValidator.new('String', ['AddLinksToFontFiles', 'Embed', 'Vectorize'])
227
- unless validator.valid?(external_fonts_handling)
228
- fail ArgumentError, 'invalid value for "external_fonts_handling", must be one of #{validator.allowable_values}.'
229
- end
230
- @external_fonts_handling = external_fonts_handling
231
- end
232
-
233
- # Checks equality by comparing each attribute.
234
- # @param [Object] Object to be compared
235
- def ==(o)
236
- return true if self.equal?(o)
237
- self.class == o.class &&
238
- default_regular_font == o.default_regular_font &&
239
- format == o.format &&
240
- vectorize_text == o.vectorize_text &&
241
- metafile_rasterization_dpi == o.metafile_rasterization_dpi &&
242
- disable3_d_text == o.disable3_d_text &&
243
- disable_gradient_split == o.disable_gradient_split &&
244
- disable_line_end_cropping == o.disable_line_end_cropping &&
245
- jpeg_quality == o.jpeg_quality &&
246
- pictures_compression == o.pictures_compression &&
247
- delete_pictures_cropped_areas == o.delete_pictures_cropped_areas &&
248
- external_fonts_handling == o.external_fonts_handling
249
- end
250
-
251
- # @see the `==` method
252
- # @param [Object] Object to be compared
253
- def eql?(o)
254
- self == o
255
- end
256
-
257
- # Calculates hash code according to all attributes.
258
- # @return [Fixnum] Hash code
259
- def hash
260
- [default_regular_font, format, vectorize_text, metafile_rasterization_dpi, disable3_d_text, disable_gradient_split, disable_line_end_cropping, jpeg_quality, pictures_compression, delete_pictures_cropped_areas, external_fonts_handling].hash
261
- end
262
-
263
- # Builds the object from hash
264
- # @param [Hash] attributes Model attributes in the form of hash
265
- # @return [Object] Returns the model itself
266
- def build_from_hash(attributes)
267
- return nil unless attributes.is_a?(Hash)
268
- self.class.swagger_types.each_pair do |key, type|
269
- mapKey = self.class.attribute_map[key]
270
- if !mapKey.nil?
271
- val = attributes[mapKey]
272
- if val.nil?
273
- mapKeyString = mapKey.to_s
274
- mapKeyString[0] = mapKeyString[0].downcase
275
- mapKey = mapKeyString.to_sym
276
- val = attributes[mapKey]
277
- end
278
- if !val.nil?
279
- if type =~ /\AArray<(.*)>/i
280
- # check to ensure the input is an array given that the the attribute
281
- # is documented as an array but the input is not
282
- if val.is_a?(Array)
283
- self.send("#{key}=", val.map { |v| _deserialize($1, v) })
284
- end
285
- else
286
- self.send("#{key}=", _deserialize(type, val))
287
- end
288
- end
289
- end
290
- end
291
-
292
- self
293
- end
294
-
295
- # Deserializes the data based on type
296
- # @param string type Data type
297
- # @param string value Value to be deserialized
298
- # @return [Object] Deserialized data
299
- def _deserialize(type, value)
300
- case type.to_sym
301
- when :DateTime
302
- DateTime.parse(value)
303
- when :Date
304
- Date.parse(value)
305
- when :String
306
- value.to_s
307
- when :Integer
308
- value.to_i
309
- when :Float
310
- value.to_f
311
- when :BOOLEAN
312
- if value.to_s =~ /\A(true|t|yes|y|1)\z/i
313
- true
314
- else
315
- false
316
- end
317
- when :Object
318
- # generic object (usually a Hash), return directly
319
- value
320
- when /\AArray<(?<inner_type>.+)>\z/
321
- inner_type = Regexp.last_match[:inner_type]
322
- value.map { |v| _deserialize(inner_type, v) }
323
- when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
324
- k_type = Regexp.last_match[:k_type]
325
- v_type = Regexp.last_match[:v_type]
326
- {}.tap do |hash|
327
- value.each do |k, v|
328
- hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
329
- end
330
- end
331
- else # model
332
- temp_model = AsposeSlidesCloud.const_get(type).new
333
- temp_model.build_from_hash(value)
334
- end
335
- end
336
-
337
- # Returns the string representation of the object
338
- # @return [String] String presentation of the object
339
- def to_s
340
- to_hash.to_s
341
- end
342
-
343
- # to_body is an alias to to_hash (backward compatibility)
344
- # @return [Hash] Returns the object in the form of hash
345
- def to_body
346
- to_hash
347
- end
348
-
349
- # Returns the object in the form of hash
350
- # @return [Hash] Returns the object in the form of hash
351
- def to_hash
352
- hash = {}
353
- self.class.attribute_map.each_pair do |attr, param|
354
- value = self.send(attr)
355
- next if value.nil?
356
- hash[param] = _to_hash(value)
357
- end
358
- hash
359
- end
360
-
361
- # Outputs non-array value in the form of hash
362
- # For object, use to_hash. Otherwise, just return the value
363
- # @param [Object] value Any valid value
364
- # @return [Hash] Returns the value in the form of hash
365
- def _to_hash(value)
366
- if value.is_a?(Array)
367
- value.compact.map { |v| _to_hash(v) }
368
- elsif value.is_a?(Hash)
369
- {}.tap do |hash|
370
- value.each { |k, v| hash[k] = _to_hash(v) }
371
- end
372
- elsif value.respond_to? :to_hash
373
- value.to_hash
374
- else
375
- value
376
- end
377
- end
378
- end
379
- end
1
+ =begin
2
+ Copyright (c) 2019 Aspose Pty Ltd
3
+
4
+ Permission is hereby granted, free of charge, to any person obtaining a copy
5
+ of this software and associated documentation files (the "Software"), to deal
6
+ in the Software without restriction, including without limitation the rights
7
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
8
+ copies of the Software, and to permit persons to whom the Software is
9
+ furnished to do so, subject to the following conditions:
10
+
11
+ The above copyright notice and this permission notice shall be included in all
12
+ copies or substantial portions of the Software.
13
+
14
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
16
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
17
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
18
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
19
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
20
+ SOFTWARE.
21
+ =end
22
+
23
+ require 'date'
24
+
25
+ module AsposeSlidesCloud
26
+ # Provides options that control how a presentation is saved in SVG format.
27
+ class SvgExportOptions < ExportOptions
28
+ # Determines whether the text on a slide will be saved as graphics.
29
+ attr_accessor :vectorize_text
30
+
31
+ # Returns or sets the lower resolution limit for metafile rasterization.
32
+ attr_accessor :metafile_rasterization_dpi
33
+
34
+ # Determines whether the 3D text is disabled in SVG.
35
+ attr_accessor :disable3_d_text
36
+
37
+ # Disables splitting FromCornerX and FromCenter gradients.
38
+ attr_accessor :disable_gradient_split
39
+
40
+ # SVG 1.1 lacks ability to define insets for markers. Aspose.Slides SVG writing engine has workaround for that problem: it crops end of line with arrow, so, line doesn't overlap markers. This option switches off such behavior.
41
+ attr_accessor :disable_line_end_cropping
42
+
43
+ # Determines JPEG encoding quality.
44
+ attr_accessor :jpeg_quality
45
+
46
+ # Represents the pictures compression level
47
+ attr_accessor :pictures_compression
48
+
49
+ # A boolean flag indicates if the cropped parts remain as part of the document. If true the cropped parts will removed, if false they will be serialized in the document (which can possible lead to a larger file)
50
+ attr_accessor :delete_pictures_cropped_areas
51
+
52
+ # Determines a way of handling externally loaded fonts.
53
+ attr_accessor :external_fonts_handling
54
+
55
+ class EnumAttributeValidator
56
+ attr_reader :datatype
57
+ attr_reader :allowable_values
58
+
59
+ def initialize(datatype, allowable_values)
60
+ @allowable_values = allowable_values.map do |value|
61
+ case datatype.to_s
62
+ when /Integer/i
63
+ value.to_i
64
+ when /Float/i
65
+ value.to_f
66
+ else
67
+ value
68
+ end
69
+ end
70
+ end
71
+
72
+ def valid?(value)
73
+ !value || allowable_values.any?{ |s| s.casecmp(value) == 0 }
74
+ end
75
+ end
76
+
77
+ # Attribute mapping from ruby-style variable name to JSON key.
78
+ def self.attribute_map
79
+ super.merge({
80
+ :'vectorize_text' => :'VectorizeText',
81
+ :'metafile_rasterization_dpi' => :'MetafileRasterizationDpi',
82
+ :'disable3_d_text' => :'Disable3DText',
83
+ :'disable_gradient_split' => :'DisableGradientSplit',
84
+ :'disable_line_end_cropping' => :'DisableLineEndCropping',
85
+ :'jpeg_quality' => :'JpegQuality',
86
+ :'pictures_compression' => :'PicturesCompression',
87
+ :'delete_pictures_cropped_areas' => :'DeletePicturesCroppedAreas',
88
+ :'external_fonts_handling' => :'ExternalFontsHandling',
89
+ })
90
+ end
91
+
92
+ # Attribute type mapping.
93
+ def self.swagger_types
94
+ super.merge({
95
+ :'vectorize_text' => :'BOOLEAN',
96
+ :'metafile_rasterization_dpi' => :'Integer',
97
+ :'disable3_d_text' => :'BOOLEAN',
98
+ :'disable_gradient_split' => :'BOOLEAN',
99
+ :'disable_line_end_cropping' => :'BOOLEAN',
100
+ :'jpeg_quality' => :'Integer',
101
+ :'pictures_compression' => :'String',
102
+ :'delete_pictures_cropped_areas' => :'BOOLEAN',
103
+ :'external_fonts_handling' => :'String',
104
+ })
105
+ end
106
+
107
+ # Initializes the object
108
+ # @param [Hash] attributes Model attributes in the form of hash
109
+ def initialize(attributes = {})
110
+ super
111
+
112
+ if attributes.has_key?(:'VectorizeText')
113
+ self.vectorize_text = attributes[:'VectorizeText']
114
+ end
115
+
116
+ if attributes.has_key?(:'MetafileRasterizationDpi')
117
+ self.metafile_rasterization_dpi = attributes[:'MetafileRasterizationDpi']
118
+ end
119
+
120
+ if attributes.has_key?(:'Disable3DText')
121
+ self.disable3_d_text = attributes[:'Disable3DText']
122
+ end
123
+
124
+ if attributes.has_key?(:'DisableGradientSplit')
125
+ self.disable_gradient_split = attributes[:'DisableGradientSplit']
126
+ end
127
+
128
+ if attributes.has_key?(:'DisableLineEndCropping')
129
+ self.disable_line_end_cropping = attributes[:'DisableLineEndCropping']
130
+ end
131
+
132
+ if attributes.has_key?(:'JpegQuality')
133
+ self.jpeg_quality = attributes[:'JpegQuality']
134
+ end
135
+
136
+ if attributes.has_key?(:'PicturesCompression')
137
+ self.pictures_compression = attributes[:'PicturesCompression']
138
+ end
139
+
140
+ if attributes.has_key?(:'DeletePicturesCroppedAreas')
141
+ self.delete_pictures_cropped_areas = attributes[:'DeletePicturesCroppedAreas']
142
+ end
143
+
144
+ if attributes.has_key?(:'ExternalFontsHandling')
145
+ self.external_fonts_handling = attributes[:'ExternalFontsHandling']
146
+ end
147
+ self.format = "svg"
148
+ end
149
+
150
+ # Show invalid properties with the reasons. Usually used together with valid?
151
+ # @return Array for valid properties with the reasons
152
+ def list_invalid_properties
153
+ invalid_properties = super
154
+ invalid_properties
155
+ end
156
+
157
+ # Check to see if the all the properties in the model are valid
158
+ # @return true if the model is valid
159
+ def valid?
160
+ return false if !super
161
+ pictures_compression_validator = EnumAttributeValidator.new('String', ['Dpi330', 'Dpi220', 'Dpi150', 'Dpi96', 'Dpi72', 'DocumentResolution'])
162
+ return false unless pictures_compression_validator.valid?(@pictures_compression)
163
+ external_fonts_handling_validator = EnumAttributeValidator.new('String', ['AddLinksToFontFiles', 'Embed', 'Vectorize'])
164
+ return false unless external_fonts_handling_validator.valid?(@external_fonts_handling)
165
+ true
166
+ end
167
+
168
+ # Custom attribute writer method checking allowed values (enum).
169
+ # @param [Object] pictures_compression Object to be assigned
170
+ def pictures_compression=(pictures_compression)
171
+ validator = EnumAttributeValidator.new('String', ['Dpi330', 'Dpi220', 'Dpi150', 'Dpi96', 'Dpi72', 'DocumentResolution'])
172
+ unless validator.valid?(pictures_compression)
173
+ fail ArgumentError, 'invalid value for "pictures_compression", must be one of #{validator.allowable_values}.'
174
+ end
175
+ @pictures_compression = pictures_compression
176
+ end
177
+
178
+ # Custom attribute writer method checking allowed values (enum).
179
+ # @param [Object] external_fonts_handling Object to be assigned
180
+ def external_fonts_handling=(external_fonts_handling)
181
+ validator = EnumAttributeValidator.new('String', ['AddLinksToFontFiles', 'Embed', 'Vectorize'])
182
+ unless validator.valid?(external_fonts_handling)
183
+ fail ArgumentError, 'invalid value for "external_fonts_handling", must be one of #{validator.allowable_values}.'
184
+ end
185
+ @external_fonts_handling = external_fonts_handling
186
+ end
187
+
188
+ # Checks equality by comparing each attribute.
189
+ # @param [Object] Object to be compared
190
+ def ==(o)
191
+ return true if self.equal?(o)
192
+ self.class == o.class &&
193
+ default_regular_font == o.default_regular_font &&
194
+ height == o.height &&
195
+ width == o.width &&
196
+ format == o.format &&
197
+ vectorize_text == o.vectorize_text &&
198
+ metafile_rasterization_dpi == o.metafile_rasterization_dpi &&
199
+ disable3_d_text == o.disable3_d_text &&
200
+ disable_gradient_split == o.disable_gradient_split &&
201
+ disable_line_end_cropping == o.disable_line_end_cropping &&
202
+ jpeg_quality == o.jpeg_quality &&
203
+ pictures_compression == o.pictures_compression &&
204
+ delete_pictures_cropped_areas == o.delete_pictures_cropped_areas &&
205
+ external_fonts_handling == o.external_fonts_handling
206
+ end
207
+
208
+ # @see the `==` method
209
+ # @param [Object] Object to be compared
210
+ def eql?(o)
211
+ self == o
212
+ end
213
+
214
+ # Calculates hash code according to all attributes.
215
+ # @return [Fixnum] Hash code
216
+ def hash
217
+ [default_regular_font, height, width, format, vectorize_text, metafile_rasterization_dpi, disable3_d_text, disable_gradient_split, disable_line_end_cropping, jpeg_quality, pictures_compression, delete_pictures_cropped_areas, external_fonts_handling].hash
218
+ end
219
+
220
+ # Builds the object from hash
221
+ # @param [Hash] attributes Model attributes in the form of hash
222
+ # @return [Object] Returns the model itself
223
+ def build_from_hash(attributes)
224
+ return nil unless attributes.is_a?(Hash)
225
+ self.class.swagger_types.each_pair do |key, type|
226
+ mapKey = self.class.attribute_map[key]
227
+ if !mapKey.nil?
228
+ val = attributes[mapKey]
229
+ if val.nil?
230
+ mapKeyString = mapKey.to_s
231
+ mapKeyString[0] = mapKeyString[0].downcase
232
+ mapKey = mapKeyString.to_sym
233
+ val = attributes[mapKey]
234
+ end
235
+ if !val.nil?
236
+ if type =~ /\AArray<(.*)>/i
237
+ # check to ensure the input is an array given that the the attribute
238
+ # is documented as an array but the input is not
239
+ if val.is_a?(Array)
240
+ self.send("#{key}=", val.map { |v| _deserialize($1, v) })
241
+ end
242
+ else
243
+ self.send("#{key}=", _deserialize(type, val))
244
+ end
245
+ end
246
+ end
247
+ end
248
+
249
+ self
250
+ end
251
+
252
+ # Deserializes the data based on type
253
+ # @param string type Data type
254
+ # @param string value Value to be deserialized
255
+ # @return [Object] Deserialized data
256
+ def _deserialize(type, value)
257
+ case type.to_sym
258
+ when :DateTime
259
+ DateTime.parse(value)
260
+ when :Date
261
+ Date.parse(value)
262
+ when :String
263
+ value.to_s
264
+ when :Integer
265
+ value.to_i
266
+ when :Float
267
+ value.to_f
268
+ when :BOOLEAN
269
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
270
+ true
271
+ else
272
+ false
273
+ end
274
+ when :Object
275
+ # generic object (usually a Hash), return directly
276
+ value
277
+ when /\AArray<(?<inner_type>.+)>\z/
278
+ inner_type = Regexp.last_match[:inner_type]
279
+ value.map { |v| _deserialize(inner_type, v) }
280
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
281
+ k_type = Regexp.last_match[:k_type]
282
+ v_type = Regexp.last_match[:v_type]
283
+ {}.tap do |hash|
284
+ value.each do |k, v|
285
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
286
+ end
287
+ end
288
+ else # model
289
+ temp_model = AsposeSlidesCloud.const_get(type).new
290
+ temp_model.build_from_hash(value)
291
+ end
292
+ end
293
+
294
+ # Returns the string representation of the object
295
+ # @return [String] String presentation of the object
296
+ def to_s
297
+ to_hash.to_s
298
+ end
299
+
300
+ # to_body is an alias to to_hash (backward compatibility)
301
+ # @return [Hash] Returns the object in the form of hash
302
+ def to_body
303
+ to_hash
304
+ end
305
+
306
+ # Returns the object in the form of hash
307
+ # @return [Hash] Returns the object in the form of hash
308
+ def to_hash
309
+ hash = {}
310
+ self.class.attribute_map.each_pair do |attr, param|
311
+ value = self.send(attr)
312
+ next if value.nil?
313
+ hash[param] = _to_hash(value)
314
+ end
315
+ hash
316
+ end
317
+
318
+ # Outputs non-array value in the form of hash
319
+ # For object, use to_hash. Otherwise, just return the value
320
+ # @param [Object] value Any valid value
321
+ # @return [Hash] Returns the value in the form of hash
322
+ def _to_hash(value)
323
+ if value.is_a?(Array)
324
+ value.compact.map { |v| _to_hash(v) }
325
+ elsif value.is_a?(Hash)
326
+ {}.tap do |hash|
327
+ value.each { |k, v| hash[k] = _to_hash(v) }
328
+ end
329
+ elsif value.respond_to? :to_hash
330
+ value.to_hash
331
+ else
332
+ value
333
+ end
334
+ end
335
+ end
336
+ end