aspose_pdf_cloud 18.6.0 → 18.7.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.
Files changed (114) hide show
  1. checksums.yaml +4 -4
  2. data/LICENSE +1 -1
  3. data/README.md +4 -4
  4. data/aspose_pdf_cloud.gemspec +49 -49
  5. data/lib/aspose_pdf_cloud.rb +145 -145
  6. data/lib/aspose_pdf_cloud/api/pdf_api.rb +11705 -10569
  7. data/lib/aspose_pdf_cloud/api_client.rb +60 -6
  8. data/lib/aspose_pdf_cloud/api_error.rb +47 -47
  9. data/lib/aspose_pdf_cloud/configuration.rb +185 -185
  10. data/lib/aspose_pdf_cloud/models/annotation.rb +260 -260
  11. data/lib/aspose_pdf_cloud/models/annotation_response.rb +222 -222
  12. data/lib/aspose_pdf_cloud/models/annotations.rb +211 -211
  13. data/lib/aspose_pdf_cloud/models/annotations_response.rb +222 -222
  14. data/lib/aspose_pdf_cloud/models/antialiasing_processing_type.rb +43 -43
  15. data/lib/aspose_pdf_cloud/models/append_document.rb +228 -228
  16. data/lib/aspose_pdf_cloud/models/attachment.rb +270 -270
  17. data/lib/aspose_pdf_cloud/models/attachment_response.rb +222 -222
  18. data/lib/aspose_pdf_cloud/models/attachments.rb +211 -211
  19. data/lib/aspose_pdf_cloud/models/attachments_response.rb +222 -222
  20. data/lib/aspose_pdf_cloud/models/color.rb +244 -244
  21. data/lib/aspose_pdf_cloud/models/color_depth.rb +45 -45
  22. data/lib/aspose_pdf_cloud/models/compression_type.rb +46 -46
  23. data/lib/aspose_pdf_cloud/models/doc_format.rb +43 -43
  24. data/lib/aspose_pdf_cloud/models/doc_recognition_mode.rb +43 -43
  25. data/lib/aspose_pdf_cloud/models/document.rb +220 -220
  26. data/lib/aspose_pdf_cloud/models/document_pages_response.rb +222 -222
  27. data/lib/aspose_pdf_cloud/models/document_privilege.rb +298 -298
  28. data/lib/aspose_pdf_cloud/models/document_properties.rb +211 -211
  29. data/lib/aspose_pdf_cloud/models/document_properties_response.rb +222 -222
  30. data/lib/aspose_pdf_cloud/models/document_property.rb +227 -227
  31. data/lib/aspose_pdf_cloud/models/document_property_response.rb +222 -222
  32. data/lib/aspose_pdf_cloud/models/document_response.rb +233 -233
  33. data/lib/aspose_pdf_cloud/models/document_text_replace_response.rb +231 -231
  34. data/lib/aspose_pdf_cloud/models/epub_recognition_mode.rb +44 -44
  35. data/lib/aspose_pdf_cloud/models/field.rb +254 -254
  36. data/lib/aspose_pdf_cloud/models/field_response.rb +222 -222
  37. data/lib/aspose_pdf_cloud/models/field_type.rb +1 -1
  38. data/lib/aspose_pdf_cloud/models/fields.rb +211 -211
  39. data/lib/aspose_pdf_cloud/models/fields_response.rb +222 -222
  40. data/lib/aspose_pdf_cloud/models/font_encoding_rules.rb +43 -43
  41. data/lib/aspose_pdf_cloud/models/font_saving_modes.rb +45 -45
  42. data/lib/aspose_pdf_cloud/models/font_styles.rb +1 -1
  43. data/lib/aspose_pdf_cloud/models/horizontal_alignment.rb +1 -1
  44. data/lib/aspose_pdf_cloud/models/html_document_type.rb +43 -43
  45. data/lib/aspose_pdf_cloud/models/html_markup_generation_modes.rb +43 -43
  46. data/lib/aspose_pdf_cloud/models/http_status_code.rb +1 -1
  47. data/lib/aspose_pdf_cloud/models/image.rb +220 -220
  48. data/lib/aspose_pdf_cloud/models/image_response.rb +222 -222
  49. data/lib/aspose_pdf_cloud/models/image_src_type.rb +43 -43
  50. data/lib/aspose_pdf_cloud/models/image_template.rb +281 -281
  51. data/lib/aspose_pdf_cloud/models/image_templates_request.rb +230 -230
  52. data/lib/aspose_pdf_cloud/models/images.rb +211 -211
  53. data/lib/aspose_pdf_cloud/models/images_list_request.rb +205 -205
  54. data/lib/aspose_pdf_cloud/models/images_response.rb +222 -222
  55. data/lib/aspose_pdf_cloud/models/letters_positioning_methods.rb +43 -43
  56. data/lib/aspose_pdf_cloud/models/line_spacing.rb +43 -43
  57. data/lib/aspose_pdf_cloud/models/link.rb +228 -228
  58. data/lib/aspose_pdf_cloud/models/link_action_type.rb +1 -1
  59. data/lib/aspose_pdf_cloud/models/link_annotation.rb +236 -236
  60. data/lib/aspose_pdf_cloud/models/link_annotation_response.rb +222 -222
  61. data/lib/aspose_pdf_cloud/models/link_annotations.rb +211 -211
  62. data/lib/aspose_pdf_cloud/models/link_annotations_response.rb +222 -222
  63. data/lib/aspose_pdf_cloud/models/link_element.rb +200 -200
  64. data/lib/aspose_pdf_cloud/models/link_highlighting_mode.rb +1 -1
  65. data/lib/aspose_pdf_cloud/models/margin_info.rb +244 -244
  66. data/lib/aspose_pdf_cloud/models/merge_documents.rb +200 -200
  67. data/lib/aspose_pdf_cloud/models/optimize_options.rb +293 -293
  68. data/lib/aspose_pdf_cloud/models/page.rb +228 -228
  69. data/lib/aspose_pdf_cloud/models/page_text_replace_response.rb +231 -231
  70. data/lib/aspose_pdf_cloud/models/page_word_count.rb +218 -218
  71. data/lib/aspose_pdf_cloud/models/pages.rb +211 -211
  72. data/lib/aspose_pdf_cloud/models/paragraph.rb +303 -303
  73. data/lib/aspose_pdf_cloud/models/parts_embedding_modes.rb +44 -44
  74. data/lib/aspose_pdf_cloud/models/pdf_a_type.rb +43 -43
  75. data/lib/aspose_pdf_cloud/models/raster_images_saving_modes.rb +44 -44
  76. data/lib/aspose_pdf_cloud/models/rectangle.rb +244 -244
  77. data/lib/aspose_pdf_cloud/models/rotation.rb +1 -1
  78. data/lib/aspose_pdf_cloud/models/saa_spose_response.rb +213 -213
  79. data/lib/aspose_pdf_cloud/models/segment.rb +206 -206
  80. data/lib/aspose_pdf_cloud/models/shape_type.rb +44 -44
  81. data/lib/aspose_pdf_cloud/models/signature.rb +333 -333
  82. data/lib/aspose_pdf_cloud/models/signature_type.rb +1 -1
  83. data/lib/aspose_pdf_cloud/models/signature_verify_response.rb +223 -223
  84. data/lib/aspose_pdf_cloud/models/split_result.rb +200 -200
  85. data/lib/aspose_pdf_cloud/models/split_result_document.rb +238 -238
  86. data/lib/aspose_pdf_cloud/models/split_result_response.rb +223 -223
  87. data/lib/aspose_pdf_cloud/models/stamp.rb +413 -413
  88. data/lib/aspose_pdf_cloud/models/stamp_type.rb +1 -1
  89. data/lib/aspose_pdf_cloud/models/text_format.rb +227 -227
  90. data/lib/aspose_pdf_cloud/models/text_format_response.rb +222 -222
  91. data/lib/aspose_pdf_cloud/models/text_horizontal_alignment.rb +47 -47
  92. data/lib/aspose_pdf_cloud/models/text_item.rb +218 -218
  93. data/lib/aspose_pdf_cloud/models/text_item_response.rb +222 -222
  94. data/lib/aspose_pdf_cloud/models/text_items.rb +211 -211
  95. data/lib/aspose_pdf_cloud/models/text_items_response.rb +222 -222
  96. data/lib/aspose_pdf_cloud/models/text_line.rb +210 -210
  97. data/lib/aspose_pdf_cloud/models/text_rect.rb +220 -220
  98. data/lib/aspose_pdf_cloud/models/text_rects.rb +199 -199
  99. data/lib/aspose_pdf_cloud/models/text_rects_response.rb +222 -222
  100. data/lib/aspose_pdf_cloud/models/text_replace.rb +253 -253
  101. data/lib/aspose_pdf_cloud/models/text_replace_list_request.rb +232 -232
  102. data/lib/aspose_pdf_cloud/models/text_replace_request.rb +262 -262
  103. data/lib/aspose_pdf_cloud/models/text_replace_response.rb +222 -222
  104. data/lib/aspose_pdf_cloud/models/text_state.rb +248 -248
  105. data/lib/aspose_pdf_cloud/models/tiff_export_options.rb +348 -348
  106. data/lib/aspose_pdf_cloud/models/vertical_alignment.rb +45 -45
  107. data/lib/aspose_pdf_cloud/models/word_count.rb +199 -199
  108. data/lib/aspose_pdf_cloud/models/word_count_response.rb +223 -223
  109. data/lib/aspose_pdf_cloud/models/wrap_mode.rb +44 -44
  110. data/lib/aspose_pdf_cloud/version.rb +24 -24
  111. data/test/pdf_tests.rb +3 -3
  112. data/test_data/.gitattributes +1 -0
  113. data/test_data/TexExample.tex +304 -304
  114. metadata +13 -12
@@ -1,348 +1,348 @@
1
- =begin
2
- --------------------------------------------------------------------------------------------------------------------
3
- Copyright (c) 2018 Aspose.Pdf for Cloud
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
- The above copyright notice and this permission notice shall be included in all
11
- copies or substantial portions of the Software.
12
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
13
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
14
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
15
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
16
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
17
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
18
- SOFTWARE.
19
- --------------------------------------------------------------------------------------------------------------------
20
- =end
21
-
22
- require 'date'
23
-
24
- module AsposePdfCloud
25
- # Used for tiff export options setting.
26
- class TiffExportOptions
27
- # Image brightness.
28
- attr_accessor :brightness
29
-
30
- # Tiff compression. Possible values are: LZW, CCITT4, CCITT3, RLE, None.
31
- attr_accessor :compression
32
-
33
- # Image color depth. Possible valuse are: Default, Format8bpp, Format4bpp, Format1bpp.
34
- attr_accessor :color_depth
35
-
36
- # Left image margin.
37
- attr_accessor :left_margin
38
-
39
- # Right image margin.
40
- attr_accessor :right_margin
41
-
42
- # Top image margin.
43
- attr_accessor :top_margin
44
-
45
- # Bottom image margin.
46
- attr_accessor :bottom_margin
47
-
48
- # Image orientation. Possible values are: None, Landscape, Portait.
49
- attr_accessor :orientation
50
-
51
- # Skip blank pages flag.
52
- attr_accessor :skip_blank_pages
53
-
54
- # Image width.
55
- attr_accessor :width
56
-
57
- # Image height.
58
- attr_accessor :height
59
-
60
- # Horizontal resolution.
61
- attr_accessor :x_resolution
62
-
63
- # Vertical resolution.
64
- attr_accessor :y_resolution
65
-
66
- # Start page to export.
67
- attr_accessor :page_index
68
-
69
- # Number of pages to export.
70
- attr_accessor :page_count
71
-
72
- # Resulting image file.
73
- attr_accessor :result_file
74
-
75
-
76
- # Attribute mapping from ruby-style variable name to JSON key.
77
- def self.attribute_map
78
- {
79
- :'brightness' => :'Brightness',
80
- :'compression' => :'Compression',
81
- :'color_depth' => :'ColorDepth',
82
- :'left_margin' => :'LeftMargin',
83
- :'right_margin' => :'RightMargin',
84
- :'top_margin' => :'TopMargin',
85
- :'bottom_margin' => :'BottomMargin',
86
- :'orientation' => :'Orientation',
87
- :'skip_blank_pages' => :'SkipBlankPages',
88
- :'width' => :'Width',
89
- :'height' => :'Height',
90
- :'x_resolution' => :'XResolution',
91
- :'y_resolution' => :'YResolution',
92
- :'page_index' => :'PageIndex',
93
- :'page_count' => :'PageCount',
94
- :'result_file' => :'ResultFile'
95
- }
96
- end
97
-
98
- # Attribute type mapping.
99
- def self.swagger_types
100
- {
101
- :'brightness' => :'Float',
102
- :'compression' => :'CompressionType',
103
- :'color_depth' => :'ColorDepth',
104
- :'left_margin' => :'Integer',
105
- :'right_margin' => :'Integer',
106
- :'top_margin' => :'Integer',
107
- :'bottom_margin' => :'Integer',
108
- :'orientation' => :'ShapeType',
109
- :'skip_blank_pages' => :'BOOLEAN',
110
- :'width' => :'Integer',
111
- :'height' => :'Integer',
112
- :'x_resolution' => :'Integer',
113
- :'y_resolution' => :'Integer',
114
- :'page_index' => :'Integer',
115
- :'page_count' => :'Integer',
116
- :'result_file' => :'String'
117
- }
118
- end
119
-
120
- # Initializes the object
121
- # @param [Hash] attributes Model attributes in the form of hash
122
- def initialize(attributes = {})
123
- return unless attributes.is_a?(Hash)
124
-
125
- # convert string to symbol for hash key
126
- attributes = attributes.each_with_object({}){|(k,v), h| h[k.to_sym] = v}
127
-
128
- if attributes.has_key?(:'Brightness')
129
- self.brightness = attributes[:'Brightness']
130
- end
131
-
132
- if attributes.has_key?(:'Compression')
133
- self.compression = attributes[:'Compression']
134
- end
135
-
136
- if attributes.has_key?(:'ColorDepth')
137
- self.color_depth = attributes[:'ColorDepth']
138
- end
139
-
140
- if attributes.has_key?(:'LeftMargin')
141
- self.left_margin = attributes[:'LeftMargin']
142
- end
143
-
144
- if attributes.has_key?(:'RightMargin')
145
- self.right_margin = attributes[:'RightMargin']
146
- end
147
-
148
- if attributes.has_key?(:'TopMargin')
149
- self.top_margin = attributes[:'TopMargin']
150
- end
151
-
152
- if attributes.has_key?(:'BottomMargin')
153
- self.bottom_margin = attributes[:'BottomMargin']
154
- end
155
-
156
- if attributes.has_key?(:'Orientation')
157
- self.orientation = attributes[:'Orientation']
158
- end
159
-
160
- if attributes.has_key?(:'SkipBlankPages')
161
- self.skip_blank_pages = attributes[:'SkipBlankPages']
162
- end
163
-
164
- if attributes.has_key?(:'Width')
165
- self.width = attributes[:'Width']
166
- end
167
-
168
- if attributes.has_key?(:'Height')
169
- self.height = attributes[:'Height']
170
- end
171
-
172
- if attributes.has_key?(:'XResolution')
173
- self.x_resolution = attributes[:'XResolution']
174
- end
175
-
176
- if attributes.has_key?(:'YResolution')
177
- self.y_resolution = attributes[:'YResolution']
178
- end
179
-
180
- if attributes.has_key?(:'PageIndex')
181
- self.page_index = attributes[:'PageIndex']
182
- end
183
-
184
- if attributes.has_key?(:'PageCount')
185
- self.page_count = attributes[:'PageCount']
186
- end
187
-
188
- if attributes.has_key?(:'ResultFile')
189
- self.result_file = attributes[:'ResultFile']
190
- end
191
-
192
- end
193
-
194
- # Show invalid properties with the reasons. Usually used together with valid?
195
- # @return Array for valid properies with the reasons
196
- def list_invalid_properties
197
- invalid_properties = Array.new
198
- return invalid_properties
199
- end
200
-
201
- # Check to see if the all the properties in the model are valid
202
- # @return true if the model is valid
203
- def valid?
204
- return true
205
- end
206
-
207
- # Checks equality by comparing each attribute.
208
- # @param [Object] Object to be compared
209
- def ==(o)
210
- return true if self.equal?(o)
211
- self.class == o.class &&
212
- brightness == o.brightness &&
213
- compression == o.compression &&
214
- color_depth == o.color_depth &&
215
- left_margin == o.left_margin &&
216
- right_margin == o.right_margin &&
217
- top_margin == o.top_margin &&
218
- bottom_margin == o.bottom_margin &&
219
- orientation == o.orientation &&
220
- skip_blank_pages == o.skip_blank_pages &&
221
- width == o.width &&
222
- height == o.height &&
223
- x_resolution == o.x_resolution &&
224
- y_resolution == o.y_resolution &&
225
- page_index == o.page_index &&
226
- page_count == o.page_count &&
227
- result_file == o.result_file
228
- end
229
-
230
- # @see the `==` method
231
- # @param [Object] Object to be compared
232
- def eql?(o)
233
- self == o
234
- end
235
-
236
- # Calculates hash code according to all attributes.
237
- # @return [Fixnum] Hash code
238
- def hash
239
- [brightness, compression, color_depth, left_margin, right_margin, top_margin, bottom_margin, orientation, skip_blank_pages, width, height, x_resolution, y_resolution, page_index, page_count, result_file].hash
240
- end
241
-
242
- # Builds the object from hash
243
- # @param [Hash] attributes Model attributes in the form of hash
244
- # @return [Object] Returns the model itself
245
- def build_from_hash(attributes)
246
- return nil unless attributes.is_a?(Hash)
247
- self.class.swagger_types.each_pair do |key, type|
248
- if type =~ /\AArray<(.*)>/i
249
- # check to ensure the input is an array given that the the attribute
250
- # is documented as an array but the input is not
251
- if attributes[self.class.attribute_map[key]].is_a?(Array)
252
- self.send("#{key}=", attributes[self.class.attribute_map[key]].map{ |v| _deserialize($1, v) } )
253
- end
254
- elsif !attributes[self.class.attribute_map[key]].nil?
255
- self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
256
- end # or else data not found in attributes(hash), not an issue as the data can be optional
257
- end
258
-
259
- self
260
- end
261
-
262
- # Deserializes the data based on type
263
- # @param string type Data type
264
- # @param string value Value to be deserialized
265
- # @return [Object] Deserialized data
266
- def _deserialize(type, value)
267
- case type.to_sym
268
- when :DateTime
269
- DateTime.parse(value)
270
- when :Date
271
- Date.parse(value)
272
- when :String
273
- value.to_s
274
- when :Integer
275
- value.to_i
276
- when :Float
277
- value.to_f
278
- when :BOOLEAN
279
- if value.to_s =~ /\A(true|t|yes|y|1)\z/i
280
- true
281
- else
282
- false
283
- end
284
- when :Object
285
- # generic object (usually a Hash), return directly
286
- value
287
- when /\AArray<(?<inner_type>.+)>\z/
288
- inner_type = Regexp.last_match[:inner_type]
289
- value.map { |v| _deserialize(inner_type, v) }
290
- when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
291
- k_type = Regexp.last_match[:k_type]
292
- v_type = Regexp.last_match[:v_type]
293
- {}.tap do |hash|
294
- value.each do |k, v|
295
- hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
296
- end
297
- end
298
- else # model
299
- temp_model = AsposePdfCloud.const_get(type).new
300
- temp_model.build_from_hash(value)
301
- end
302
- end
303
-
304
- # Returns the string representation of the object
305
- # @return [String] String presentation of the object
306
- def to_s
307
- to_hash.to_s
308
- end
309
-
310
- # to_body is an alias to to_hash (backward compatibility)
311
- # @return [Hash] Returns the object in the form of hash
312
- def to_body
313
- to_hash
314
- end
315
-
316
- # Returns the object in the form of hash
317
- # @return [Hash] Returns the object in the form of hash
318
- def to_hash
319
- hash = {}
320
- self.class.attribute_map.each_pair do |attr, param|
321
- value = self.send(attr)
322
- next if value.nil?
323
- hash[param] = _to_hash(value)
324
- end
325
- hash
326
- end
327
-
328
- # Outputs non-array value in the form of hash
329
- # For object, use to_hash. Otherwise, just return the value
330
- # @param [Object] value Any valid value
331
- # @return [Hash] Returns the value in the form of hash
332
- def _to_hash(value)
333
- if value.is_a?(Array)
334
- value.compact.map{ |v| _to_hash(v) }
335
- elsif value.is_a?(Hash)
336
- {}.tap do |hash|
337
- value.each { |k, v| hash[k] = _to_hash(v) }
338
- end
339
- elsif value.respond_to? :to_hash
340
- value.to_hash
341
- else
342
- value
343
- end
344
- end
345
-
346
- end
347
-
348
- end
1
+ =begin
2
+ --------------------------------------------------------------------------------------------------------------------
3
+ Copyright (c) 2018 Aspose.PDF Cloud
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
+ The above copyright notice and this permission notice shall be included in all
11
+ copies or substantial portions of the Software.
12
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
13
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
14
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
15
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
16
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
17
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
18
+ SOFTWARE.
19
+ --------------------------------------------------------------------------------------------------------------------
20
+ =end
21
+
22
+ require 'date'
23
+
24
+ module AsposePdfCloud
25
+ # Used for tiff export options setting.
26
+ class TiffExportOptions
27
+ # Image brightness.
28
+ attr_accessor :brightness
29
+
30
+ # Tiff compression. Possible values are: LZW, CCITT4, CCITT3, RLE, None.
31
+ attr_accessor :compression
32
+
33
+ # Image color depth. Possible valuse are: Default, Format8bpp, Format4bpp, Format1bpp.
34
+ attr_accessor :color_depth
35
+
36
+ # Left image margin.
37
+ attr_accessor :left_margin
38
+
39
+ # Right image margin.
40
+ attr_accessor :right_margin
41
+
42
+ # Top image margin.
43
+ attr_accessor :top_margin
44
+
45
+ # Bottom image margin.
46
+ attr_accessor :bottom_margin
47
+
48
+ # Image orientation. Possible values are: None, Landscape, Portait.
49
+ attr_accessor :orientation
50
+
51
+ # Skip blank pages flag.
52
+ attr_accessor :skip_blank_pages
53
+
54
+ # Image width.
55
+ attr_accessor :width
56
+
57
+ # Image height.
58
+ attr_accessor :height
59
+
60
+ # Horizontal resolution.
61
+ attr_accessor :x_resolution
62
+
63
+ # Vertical resolution.
64
+ attr_accessor :y_resolution
65
+
66
+ # Start page to export.
67
+ attr_accessor :page_index
68
+
69
+ # Number of pages to export.
70
+ attr_accessor :page_count
71
+
72
+ # Resulting image file.
73
+ attr_accessor :result_file
74
+
75
+
76
+ # Attribute mapping from ruby-style variable name to JSON key.
77
+ def self.attribute_map
78
+ {
79
+ :'brightness' => :'Brightness',
80
+ :'compression' => :'Compression',
81
+ :'color_depth' => :'ColorDepth',
82
+ :'left_margin' => :'LeftMargin',
83
+ :'right_margin' => :'RightMargin',
84
+ :'top_margin' => :'TopMargin',
85
+ :'bottom_margin' => :'BottomMargin',
86
+ :'orientation' => :'Orientation',
87
+ :'skip_blank_pages' => :'SkipBlankPages',
88
+ :'width' => :'Width',
89
+ :'height' => :'Height',
90
+ :'x_resolution' => :'XResolution',
91
+ :'y_resolution' => :'YResolution',
92
+ :'page_index' => :'PageIndex',
93
+ :'page_count' => :'PageCount',
94
+ :'result_file' => :'ResultFile'
95
+ }
96
+ end
97
+
98
+ # Attribute type mapping.
99
+ def self.swagger_types
100
+ {
101
+ :'brightness' => :'Float',
102
+ :'compression' => :'CompressionType',
103
+ :'color_depth' => :'ColorDepth',
104
+ :'left_margin' => :'Integer',
105
+ :'right_margin' => :'Integer',
106
+ :'top_margin' => :'Integer',
107
+ :'bottom_margin' => :'Integer',
108
+ :'orientation' => :'ShapeType',
109
+ :'skip_blank_pages' => :'BOOLEAN',
110
+ :'width' => :'Integer',
111
+ :'height' => :'Integer',
112
+ :'x_resolution' => :'Integer',
113
+ :'y_resolution' => :'Integer',
114
+ :'page_index' => :'Integer',
115
+ :'page_count' => :'Integer',
116
+ :'result_file' => :'String'
117
+ }
118
+ end
119
+
120
+ # Initializes the object
121
+ # @param [Hash] attributes Model attributes in the form of hash
122
+ def initialize(attributes = {})
123
+ return unless attributes.is_a?(Hash)
124
+
125
+ # convert string to symbol for hash key
126
+ attributes = attributes.each_with_object({}){|(k,v), h| h[k.to_sym] = v}
127
+
128
+ if attributes.has_key?(:'Brightness')
129
+ self.brightness = attributes[:'Brightness']
130
+ end
131
+
132
+ if attributes.has_key?(:'Compression')
133
+ self.compression = attributes[:'Compression']
134
+ end
135
+
136
+ if attributes.has_key?(:'ColorDepth')
137
+ self.color_depth = attributes[:'ColorDepth']
138
+ end
139
+
140
+ if attributes.has_key?(:'LeftMargin')
141
+ self.left_margin = attributes[:'LeftMargin']
142
+ end
143
+
144
+ if attributes.has_key?(:'RightMargin')
145
+ self.right_margin = attributes[:'RightMargin']
146
+ end
147
+
148
+ if attributes.has_key?(:'TopMargin')
149
+ self.top_margin = attributes[:'TopMargin']
150
+ end
151
+
152
+ if attributes.has_key?(:'BottomMargin')
153
+ self.bottom_margin = attributes[:'BottomMargin']
154
+ end
155
+
156
+ if attributes.has_key?(:'Orientation')
157
+ self.orientation = attributes[:'Orientation']
158
+ end
159
+
160
+ if attributes.has_key?(:'SkipBlankPages')
161
+ self.skip_blank_pages = attributes[:'SkipBlankPages']
162
+ end
163
+
164
+ if attributes.has_key?(:'Width')
165
+ self.width = attributes[:'Width']
166
+ end
167
+
168
+ if attributes.has_key?(:'Height')
169
+ self.height = attributes[:'Height']
170
+ end
171
+
172
+ if attributes.has_key?(:'XResolution')
173
+ self.x_resolution = attributes[:'XResolution']
174
+ end
175
+
176
+ if attributes.has_key?(:'YResolution')
177
+ self.y_resolution = attributes[:'YResolution']
178
+ end
179
+
180
+ if attributes.has_key?(:'PageIndex')
181
+ self.page_index = attributes[:'PageIndex']
182
+ end
183
+
184
+ if attributes.has_key?(:'PageCount')
185
+ self.page_count = attributes[:'PageCount']
186
+ end
187
+
188
+ if attributes.has_key?(:'ResultFile')
189
+ self.result_file = attributes[:'ResultFile']
190
+ end
191
+
192
+ end
193
+
194
+ # Show invalid properties with the reasons. Usually used together with valid?
195
+ # @return Array for valid properies with the reasons
196
+ def list_invalid_properties
197
+ invalid_properties = Array.new
198
+ return invalid_properties
199
+ end
200
+
201
+ # Check to see if the all the properties in the model are valid
202
+ # @return true if the model is valid
203
+ def valid?
204
+ return true
205
+ end
206
+
207
+ # Checks equality by comparing each attribute.
208
+ # @param [Object] Object to be compared
209
+ def ==(o)
210
+ return true if self.equal?(o)
211
+ self.class == o.class &&
212
+ brightness == o.brightness &&
213
+ compression == o.compression &&
214
+ color_depth == o.color_depth &&
215
+ left_margin == o.left_margin &&
216
+ right_margin == o.right_margin &&
217
+ top_margin == o.top_margin &&
218
+ bottom_margin == o.bottom_margin &&
219
+ orientation == o.orientation &&
220
+ skip_blank_pages == o.skip_blank_pages &&
221
+ width == o.width &&
222
+ height == o.height &&
223
+ x_resolution == o.x_resolution &&
224
+ y_resolution == o.y_resolution &&
225
+ page_index == o.page_index &&
226
+ page_count == o.page_count &&
227
+ result_file == o.result_file
228
+ end
229
+
230
+ # @see the `==` method
231
+ # @param [Object] Object to be compared
232
+ def eql?(o)
233
+ self == o
234
+ end
235
+
236
+ # Calculates hash code according to all attributes.
237
+ # @return [Fixnum] Hash code
238
+ def hash
239
+ [brightness, compression, color_depth, left_margin, right_margin, top_margin, bottom_margin, orientation, skip_blank_pages, width, height, x_resolution, y_resolution, page_index, page_count, result_file].hash
240
+ end
241
+
242
+ # Builds the object from hash
243
+ # @param [Hash] attributes Model attributes in the form of hash
244
+ # @return [Object] Returns the model itself
245
+ def build_from_hash(attributes)
246
+ return nil unless attributes.is_a?(Hash)
247
+ self.class.swagger_types.each_pair do |key, type|
248
+ if type =~ /\AArray<(.*)>/i
249
+ # check to ensure the input is an array given that the the attribute
250
+ # is documented as an array but the input is not
251
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
252
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map{ |v| _deserialize($1, v) } )
253
+ end
254
+ elsif !attributes[self.class.attribute_map[key]].nil?
255
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
256
+ end # or else data not found in attributes(hash), not an issue as the data can be optional
257
+ end
258
+
259
+ self
260
+ end
261
+
262
+ # Deserializes the data based on type
263
+ # @param string type Data type
264
+ # @param string value Value to be deserialized
265
+ # @return [Object] Deserialized data
266
+ def _deserialize(type, value)
267
+ case type.to_sym
268
+ when :DateTime
269
+ DateTime.parse(value)
270
+ when :Date
271
+ Date.parse(value)
272
+ when :String
273
+ value.to_s
274
+ when :Integer
275
+ value.to_i
276
+ when :Float
277
+ value.to_f
278
+ when :BOOLEAN
279
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
280
+ true
281
+ else
282
+ false
283
+ end
284
+ when :Object
285
+ # generic object (usually a Hash), return directly
286
+ value
287
+ when /\AArray<(?<inner_type>.+)>\z/
288
+ inner_type = Regexp.last_match[:inner_type]
289
+ value.map { |v| _deserialize(inner_type, v) }
290
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
291
+ k_type = Regexp.last_match[:k_type]
292
+ v_type = Regexp.last_match[:v_type]
293
+ {}.tap do |hash|
294
+ value.each do |k, v|
295
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
296
+ end
297
+ end
298
+ else # model
299
+ temp_model = AsposePdfCloud.const_get(type).new
300
+ temp_model.build_from_hash(value)
301
+ end
302
+ end
303
+
304
+ # Returns the string representation of the object
305
+ # @return [String] String presentation of the object
306
+ def to_s
307
+ to_hash.to_s
308
+ end
309
+
310
+ # to_body is an alias to to_hash (backward compatibility)
311
+ # @return [Hash] Returns the object in the form of hash
312
+ def to_body
313
+ to_hash
314
+ end
315
+
316
+ # Returns the object in the form of hash
317
+ # @return [Hash] Returns the object in the form of hash
318
+ def to_hash
319
+ hash = {}
320
+ self.class.attribute_map.each_pair do |attr, param|
321
+ value = self.send(attr)
322
+ next if value.nil?
323
+ hash[param] = _to_hash(value)
324
+ end
325
+ hash
326
+ end
327
+
328
+ # Outputs non-array value in the form of hash
329
+ # For object, use to_hash. Otherwise, just return the value
330
+ # @param [Object] value Any valid value
331
+ # @return [Hash] Returns the value in the form of hash
332
+ def _to_hash(value)
333
+ if value.is_a?(Array)
334
+ value.compact.map{ |v| _to_hash(v) }
335
+ elsif value.is_a?(Hash)
336
+ {}.tap do |hash|
337
+ value.each { |k, v| hash[k] = _to_hash(v) }
338
+ end
339
+ elsif value.respond_to? :to_hash
340
+ value.to_hash
341
+ else
342
+ value
343
+ end
344
+ end
345
+
346
+ end
347
+
348
+ end