groupdocs_conversion_cloud 21.4 → 21.12

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 277b1445c5dc9fde773bc897b52bb2342cd8cbfb
4
- data.tar.gz: 82b8f6da1ca19a4f39e21ae43a74520ed96862d6
3
+ metadata.gz: d3ea7178d044cf5c299a57d1026b116825411bd5
4
+ data.tar.gz: e0c80aa65e843db6a08baee1d7a78bd7962965e8
5
5
  SHA512:
6
- metadata.gz: af29f8a41fa98040494ce075226777c0ad6c6026eb070304f24d0bdb576e4d11055c28d12c002fbbe7364fb61b34e92310117249f0ef518769bc7eb2cde81b5b
7
- data.tar.gz: d39b339a03f2b5793be791c065c200f286399260253cd16f55237f82981d18d7656ea87f9267346361c3fae1b198a276978fc7d8181092b00607f646f7cbc83b
6
+ metadata.gz: cf07d6f6d86fd4bbda14bbf3ff7e011ce6cebb35d9cbe525cc9ce7b8bf9cef08bcf730a8f46a862197291a474356ff584b1dc8b57c1ce01567524bfd3e86fa21
7
+ data.tar.gz: a42a83a0cdf9fe59b382bfd63a0ea20f2e8128cc405872745c9d7e5a1058e8c47e06eca80b59ed77ede106c2563b3c9b7d66d5cda62e2b6aa33569178e69ca96
@@ -0,0 +1,169 @@
1
+ # -----------------------------------------------------------------------------------
2
+ # <copyright company="Aspose Pty Ltd" file="license.rb">
3
+ # Copyright (c) 2003-2021 Aspose Pty Ltd
4
+ # </copyright>
5
+ # <summary>
6
+ # Permission is hereby granted, free of charge, to any person obtaining a copy
7
+ # of this software and associated documentation files (the "Software"), to deal
8
+ # in the Software without restriction, including without limitation the rights
9
+ # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
10
+ # copies of the Software, and to permit persons to whom the Software is
11
+ # furnished to do so, subject to the following conditions:
12
+ #
13
+ # The above copyright notice and this permission notice shall be included in all
14
+ # copies or substantial portions of the Software.
15
+ #
16
+ # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17
+ # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18
+ # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19
+ # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20
+ # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21
+ # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
22
+ # SOFTWARE.
23
+ # </summary>
24
+ # -----------------------------------------------------------------------------------
25
+
26
+ require 'uri'
27
+ require 'date'
28
+
29
+ module GroupDocsConversionCloud
30
+ #
31
+ # GroupDocs.Conversion Cloud API
32
+ #
33
+ class LicenseApi
34
+ attr_accessor :config
35
+
36
+ #make LicenseApi.new private
37
+ private_class_method :new
38
+
39
+ # Initializes new instance of LicenseApi
40
+ #
41
+ # @param [config] Configuration
42
+ # @return [LicenseApi] New instance of LicenseApi
43
+ def initialize(config)
44
+ @config = config
45
+ @api_client = ApiClient.new(config)
46
+ @access_token = nil
47
+ end
48
+
49
+ # Initializes new instance of LicenseApi
50
+ #
51
+ # @param [app_sid] Application identifier (App SID)
52
+ # @param [app_key] Application private key (App Key)
53
+ # @return [LicenseApi] New instance of LicenseApi
54
+ def self.from_keys(app_sid, app_key)
55
+ config = Configuration.new(app_sid, app_key)
56
+ return new(config)
57
+ end
58
+
59
+ # Initializes new instance of LicenseApi
60
+ #
61
+ # @param [config] Configuration
62
+ # @return [LicenseApi] New instance of LicenseApi
63
+ def self.from_config(config)
64
+ return new(config)
65
+ end
66
+
67
+ # Get license consumption
68
+ #
69
+ # @return [ConsumptionResult]
70
+ def get_consumption_credit()
71
+ data, _status_code, _headers = get_consumption_credit_with_http_info()
72
+ data
73
+ end
74
+
75
+ # Get license consumption
76
+ #
77
+
78
+ # @return [Array<(ConsumptionResult, Fixnum, Hash)>]
79
+ # ConsumptionResult data, response status code and response headers
80
+ def get_consumption_credit_with_http_info()
81
+
82
+
83
+ @api_client.config.logger.debug 'Calling API: LicenseApi.get_consumption_credit ...' if @api_client.config.debugging
84
+ # resource path
85
+ local_var_path = '/conversion/consumption'
86
+
87
+ # query parameters
88
+ query_params = {}
89
+
90
+ # header parameters
91
+ header_params = {}
92
+ # HTTP header 'Accept' (if needed)
93
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
94
+ # HTTP header 'Content-Type'
95
+ header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
96
+
97
+ # form parameters
98
+ form_params = {}
99
+
100
+ # http body (model)
101
+ post_body = nil
102
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path,
103
+ header_params: header_params,
104
+ query_params: query_params,
105
+ form_params: form_params,
106
+ body: post_body,
107
+ access_token: get_access_token,
108
+ return_type: 'ConsumptionResult')
109
+ if @api_client.config.debugging
110
+ @api_client.config.logger.debug "API called:
111
+ LicenseApi#get_consumption_credit\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
112
+ end
113
+ [data, status_code, headers]
114
+ end
115
+
116
+ #
117
+ # Helper method to convert first letter to downcase
118
+ #
119
+ private def downcase_first_letter(str)
120
+ value = str[0].downcase + str[1..-1]
121
+ value
122
+ end
123
+
124
+ #
125
+ # Retrieves access token
126
+ #
127
+ private def get_access_token
128
+ if @access_token.nil? then
129
+ request_access_token
130
+ end
131
+
132
+ @access_token
133
+ end
134
+
135
+ #
136
+ # Gets a access token from server
137
+ #
138
+ private def request_access_token
139
+ auth_config = Configuration.new(@config.app_sid, @config.app_key)
140
+ auth_config.api_base_url = @config.api_base_url
141
+ auth_config.debugging = @config.debugging
142
+ auth_config.logger = @config.logger
143
+ auth_config.temp_folder_path = @config.temp_folder_path
144
+ auth_config.client_side_validation = @config.client_side_validation
145
+ auth_config.api_version = ''
146
+
147
+ auth_api_client = ApiClient.new(auth_config)
148
+
149
+ request_url = "/connect/token"
150
+ post_data = "grant_type=client_credentials&client_id=#{@config.app_sid}&client_secret=#{@config.app_key}"
151
+
152
+ data, _status_code, _header = auth_api_client.call_api(:POST, request_url, :body => post_data, :return_type => 'Object')
153
+
154
+ @access_token = data[:access_token]
155
+
156
+ expires_in_seconds = data[:expires_in].to_i - 5 * 60
157
+ expires_in_days = Rational(expires_in_seconds, 60 * 60 * 24)
158
+ @access_token_expires_at = DateTime.now + expires_in_days
159
+ end
160
+
161
+ # requires all files inside a directory from current dir
162
+ # @param _dir can be relative path like '/lib' or "../lib"
163
+ private def require_all(_dir)
164
+ Dir[File.expand_path(File.join(File.dirname(File.absolute_path(__FILE__)), _dir)) + "/*.rb"].each do |file|
165
+ require file
166
+ end
167
+ end
168
+ end
169
+ end
@@ -39,10 +39,23 @@ module GroupDocsConversionCloud
39
39
 
40
40
  if arg.key?(:response_body) then
41
41
  data = JSON.parse(arg[:response_body], :symbolize_names => true)
42
- if !data.nil? && !data[:error].nil? then
43
- @message = data[:error]
44
- elsif !data.nil? && !data[:Error].nil? && !data[:Error][:Message].nil? then
45
- @message = data[:Error][:Message]
42
+ if !data.nil? then
43
+ if !data[:error].nil? then
44
+ error = data[:error]
45
+ if error.kind_of?(String) then
46
+ @message = error
47
+ else
48
+ @message = error[:message]
49
+ end
50
+ else
51
+ message = data[:message]
52
+ if !message.nil? && message.kind_of?(String) then
53
+ @message = message
54
+ @code = data[:code]
55
+ else
56
+ @message = data
57
+ end
58
+ end
46
59
  end
47
60
  end
48
61
 
@@ -0,0 +1,234 @@
1
+ #
2
+ # --------------------------------------------------------------------------------------------------------------------
3
+ # <copyright company="Aspose Pty Ltd" file="consumption_result.rb">
4
+ # Copyright (c) 2003-2021 Aspose Pty Ltd
5
+ # </copyright>
6
+ # <summary>
7
+ # Permission is hereby granted, free of charge, to any person obtaining a copy
8
+ # of this software and associated documentation files (the "Software"), to deal
9
+ # in the Software without restriction, including without limitation the rights
10
+ # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
11
+ # copies of the Software, and to permit persons to whom the Software is
12
+ # furnished to do so, subject to the following conditions:
13
+ #
14
+ # The above copyright notice and this permission notice shall be included in all
15
+ # copies or substantial portions of the Software.
16
+ #
17
+ # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
18
+ # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
19
+ # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
20
+ # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
21
+ # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
22
+ # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
23
+ # SOFTWARE.
24
+ # </summary>
25
+ # --------------------------------------------------------------------------------------------------------------------
26
+ #
27
+
28
+ require 'date'
29
+
30
+ module GroupDocsConversionCloud
31
+ # Metered license consumption information
32
+ class ConsumptionResult
33
+
34
+ # Amount of used credits
35
+ attr_accessor :credit
36
+
37
+ # Amount of MBs processed
38
+ attr_accessor :quantity
39
+
40
+ # Attribute mapping from ruby-style variable name to JSON key.
41
+ def self.attribute_map
42
+ {
43
+ :'credit' => :'Credit',
44
+ :'quantity' => :'Quantity'
45
+ }
46
+ end
47
+
48
+ # Attribute type mapping.
49
+ def self.swagger_types
50
+ {
51
+ :'credit' => :'Float',
52
+ :'quantity' => :'Float'
53
+ }
54
+ end
55
+
56
+ # Initializes the object
57
+ # @param [Hash] attributes Model attributes in the form of hash
58
+ def initialize(attributes = {})
59
+ return unless attributes.is_a?(Hash)
60
+
61
+ # convert string to symbol for hash key
62
+ attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v }
63
+
64
+ if attributes.key?(:'Credit')
65
+ self.credit = attributes[:'Credit']
66
+ end
67
+
68
+ if attributes.key?(:'Quantity')
69
+ self.quantity = attributes[:'Quantity']
70
+ end
71
+
72
+ end
73
+
74
+ # Show invalid properties with the reasons. Usually used together with valid?
75
+ # @return Array for valid properies with the reasons
76
+ def list_invalid_properties
77
+ invalid_properties = []
78
+ if @credit.nil?
79
+ invalid_properties.push("invalid value for 'credit', credit cannot be nil.")
80
+ end
81
+
82
+ if @quantity.nil?
83
+ invalid_properties.push("invalid value for 'quantity', quantity cannot be nil.")
84
+ end
85
+
86
+ return invalid_properties
87
+ end
88
+
89
+ # Check to see if the all the properties in the model are valid
90
+ # @return true if the model is valid
91
+ def valid?
92
+ return false if @credit.nil?
93
+ return false if @quantity.nil?
94
+ return true
95
+ end
96
+
97
+ # Checks equality by comparing each attribute.
98
+ # @param [Object] Object to be compared
99
+ def ==(other)
100
+ return true if self.equal?(other)
101
+ self.class == other.class &&
102
+ credit == other.credit &&
103
+ quantity == other.quantity
104
+ end
105
+
106
+ # @see the `==` method
107
+ # @param [Object] Object to be compared
108
+ def eql?(other)
109
+ self == other
110
+ end
111
+
112
+ # Calculates hash code according to all attributes.
113
+ # @return [Fixnum] Hash code
114
+ def hash
115
+ [credit, quantity].hash
116
+ end
117
+
118
+ # Downcases first letter.
119
+ # @return downcased string
120
+ def uncap(str)
121
+ str[0, 1].downcase + str[1..-1]
122
+ end
123
+
124
+ # Builds the object from hash
125
+ # @param [Hash] attributes Model attributes in the form of hash
126
+ # @return [Object] Returns the model itself
127
+ def build_from_hash(attributes)
128
+ return nil unless attributes.is_a?(Hash)
129
+ self.class.swagger_types.each_pair do |key, type|
130
+ pname = uncap(self.class.attribute_map[key]).intern
131
+ value = attributes[pname]
132
+ if type =~ /\AArray<(.*)>/i
133
+ # check to ensure the input is an array given that the the attribute
134
+ # is documented as an array but the input is not
135
+ if value.is_a?(Array)
136
+ self.send("#{key}=", value.map { |v| _deserialize($1, v) })
137
+ end
138
+ elsif !value.nil?
139
+ self.send("#{key}=", _deserialize(type, value))
140
+ end
141
+ # or else data not found in attributes(hash), not an issue as the data can be optional
142
+ end
143
+
144
+ self
145
+ end
146
+
147
+ # Deserializes the data based on type
148
+ # @param string type Data type
149
+ # @param string value Value to be deserialized
150
+ # @return [Object] Deserialized data
151
+ def _deserialize(type, value)
152
+ case type.to_sym
153
+ when :DateTime
154
+ Date.parse value
155
+ when :Date
156
+ Date.parse value
157
+ when :String
158
+ value.to_s
159
+ when :Integer
160
+ value.to_i
161
+ when :Float
162
+ value.to_f
163
+ when :BOOLEAN
164
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
165
+ true
166
+ else
167
+ false
168
+ end
169
+ when :Object
170
+ # generic object (usually a Hash), return directly
171
+ value
172
+ when /\AArray<(?<inner_type>.+)>\z/
173
+ inner_type = Regexp.last_match[:inner_type]
174
+ value.map { |v| _deserialize(inner_type, v) }
175
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
176
+ k_type = Regexp.last_match[:k_type]
177
+ v_type = Regexp.last_match[:v_type]
178
+ {}.tap do |hash|
179
+ value.each do |k, v|
180
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
181
+ end
182
+ end
183
+ else
184
+ # model
185
+ temp_model = GroupDocsConversionCloud.const_get(type).new
186
+ temp_model.build_from_hash(value)
187
+ end
188
+ end
189
+
190
+ # Returns the string representation of the object
191
+ # @return [String] String presentation of the object
192
+ def to_s
193
+ to_hash.to_s
194
+ end
195
+
196
+ # to_body is an alias to to_hash (backward compatibility)
197
+ # @return [Hash] Returns the object in the form of hash
198
+ def to_body
199
+ to_hash
200
+ end
201
+
202
+ # Returns the object in the form of hash
203
+ # @return [Hash] Returns the object in the form of hash
204
+ def to_hash
205
+ hash = {}
206
+ self.class.attribute_map.each_pair do |attr, param|
207
+ value = self.send(attr)
208
+ next if value.nil?
209
+ hash[param] = _to_hash(value)
210
+ end
211
+ hash
212
+ end
213
+
214
+ # Outputs non-array value in the form of hash
215
+ # For object, use to_hash. Otherwise, just return the value
216
+ # @param [Object] value Any valid value
217
+ # @return [Hash] Returns the value in the form of hash
218
+ def _to_hash(value)
219
+ if value.is_a?(Array)
220
+ value.compact.map { |v| _to_hash(v) }
221
+ elsif value.is_a?(Hash)
222
+ {}.tap do |hash|
223
+ value.each { |k, v| hash[k] = _to_hash(v) }
224
+ end
225
+ elsif value.respond_to? :to_hash
226
+ value.to_hash
227
+ else
228
+ value
229
+ end
230
+ end
231
+
232
+ end
233
+
234
+ end
@@ -58,6 +58,30 @@ module GroupDocsConversionCloud
58
58
  # Watermark specific options
59
59
  attr_accessor :watermark_options
60
60
 
61
+ # Recognition mode when converting from pdf
62
+ attr_accessor :pdf_recognition_mode
63
+ class EnumAttributeValidator
64
+ attr_reader :datatype
65
+ attr_reader :allowable_values
66
+
67
+ def initialize(datatype, allowable_values)
68
+ @allowable_values = allowable_values.map do |value|
69
+ case datatype.to_s
70
+ when /Integer/i
71
+ value.to_i
72
+ when /Float/i
73
+ value.to_f
74
+ else
75
+ value
76
+ end
77
+ end
78
+ end
79
+
80
+ def valid?(value)
81
+ !value || allowable_values.include?(value)
82
+ end
83
+ end
84
+
61
85
  # Attribute mapping from ruby-style variable name to JSON key.
62
86
  def self.attribute_map
63
87
  {
@@ -69,7 +93,8 @@ module GroupDocsConversionCloud
69
93
  :'dpi' => :'Dpi',
70
94
  :'password' => :'Password',
71
95
  :'zoom' => :'Zoom',
72
- :'watermark_options' => :'WatermarkOptions'
96
+ :'watermark_options' => :'WatermarkOptions',
97
+ :'pdf_recognition_mode' => :'PdfRecognitionMode'
73
98
  }
74
99
  end
75
100
 
@@ -84,7 +109,8 @@ module GroupDocsConversionCloud
84
109
  :'dpi' => :'Float',
85
110
  :'password' => :'String',
86
111
  :'zoom' => :'Integer',
87
- :'watermark_options' => :'WatermarkOptions'
112
+ :'watermark_options' => :'WatermarkOptions',
113
+ :'pdf_recognition_mode' => :'String'
88
114
  }
89
115
  end
90
116
 
@@ -134,6 +160,10 @@ module GroupDocsConversionCloud
134
160
  self.watermark_options = attributes[:'WatermarkOptions']
135
161
  end
136
162
 
163
+ if attributes.key?(:'PdfRecognitionMode')
164
+ self.pdf_recognition_mode = attributes[:'PdfRecognitionMode']
165
+ end
166
+
137
167
  end
138
168
 
139
169
  # Show invalid properties with the reasons. Usually used together with valid?
@@ -164,6 +194,10 @@ module GroupDocsConversionCloud
164
194
  invalid_properties.push("invalid value for 'zoom', zoom cannot be nil.")
165
195
  end
166
196
 
197
+ if @pdf_recognition_mode.nil?
198
+ invalid_properties.push("invalid value for 'pdf_recognition_mode', pdf_recognition_mode cannot be nil.")
199
+ end
200
+
167
201
  return invalid_properties
168
202
  end
169
203
 
@@ -176,9 +210,26 @@ module GroupDocsConversionCloud
176
210
  return false if @height.nil?
177
211
  return false if @dpi.nil?
178
212
  return false if @zoom.nil?
213
+ return false if @pdf_recognition_mode.nil?
214
+ pdf_recognition_mode_validator = EnumAttributeValidator.new('String', ["Textbox", "Flow"])
215
+ return false unless pdf_recognition_mode_validator.valid?(@pdf_recognition_mode)
179
216
  return true
180
217
  end
181
218
 
219
+ # Custom attribute writer method checking allowed values (enum).
220
+ # @param [Object] pdf_recognition_mode Object to be assigned
221
+ def pdf_recognition_mode=(pdf_recognition_mode)
222
+ validator = EnumAttributeValidator.new('String', ["Textbox", "Flow"])
223
+ if pdf_recognition_mode.to_i == 0
224
+ unless validator.valid?(pdf_recognition_mode)
225
+ raise ArgumentError, "invalid value for 'pdf_recognition_mode', must be one of #{validator.allowable_values}."
226
+ end
227
+ @pdf_recognition_mode = pdf_recognition_mode
228
+ else
229
+ @pdf_recognition_mode = validator.allowable_values[pdf_recognition_mode.to_i]
230
+ end
231
+ end
232
+
182
233
  # Checks equality by comparing each attribute.
183
234
  # @param [Object] Object to be compared
184
235
  def ==(other)
@@ -192,7 +243,8 @@ module GroupDocsConversionCloud
192
243
  dpi == other.dpi &&
193
244
  password == other.password &&
194
245
  zoom == other.zoom &&
195
- watermark_options == other.watermark_options
246
+ watermark_options == other.watermark_options &&
247
+ pdf_recognition_mode == other.pdf_recognition_mode
196
248
  end
197
249
 
198
250
  # @see the `==` method
@@ -204,7 +256,7 @@ module GroupDocsConversionCloud
204
256
  # Calculates hash code according to all attributes.
205
257
  # @return [Fixnum] Hash code
206
258
  def hash
207
- [from_page, pages_count, pages, width, height, dpi, password, zoom, watermark_options].hash
259
+ [from_page, pages_count, pages, width, height, dpi, password, zoom, watermark_options, pdf_recognition_mode].hash
208
260
  end
209
261
 
210
262
  # Downcases first letter.
@@ -58,6 +58,30 @@ module GroupDocsConversionCloud
58
58
  # Watermark specific options
59
59
  attr_accessor :watermark_options
60
60
 
61
+ # Recognition mode when converting from pdf
62
+ attr_accessor :pdf_recognition_mode
63
+ class EnumAttributeValidator
64
+ attr_reader :datatype
65
+ attr_reader :allowable_values
66
+
67
+ def initialize(datatype, allowable_values)
68
+ @allowable_values = allowable_values.map do |value|
69
+ case datatype.to_s
70
+ when /Integer/i
71
+ value.to_i
72
+ when /Float/i
73
+ value.to_f
74
+ else
75
+ value
76
+ end
77
+ end
78
+ end
79
+
80
+ def valid?(value)
81
+ !value || allowable_values.include?(value)
82
+ end
83
+ end
84
+
61
85
  # Attribute mapping from ruby-style variable name to JSON key.
62
86
  def self.attribute_map
63
87
  {
@@ -69,7 +93,8 @@ module GroupDocsConversionCloud
69
93
  :'dpi' => :'Dpi',
70
94
  :'password' => :'Password',
71
95
  :'zoom' => :'Zoom',
72
- :'watermark_options' => :'WatermarkOptions'
96
+ :'watermark_options' => :'WatermarkOptions',
97
+ :'pdf_recognition_mode' => :'PdfRecognitionMode'
73
98
  }
74
99
  end
75
100
 
@@ -84,7 +109,8 @@ module GroupDocsConversionCloud
84
109
  :'dpi' => :'Float',
85
110
  :'password' => :'String',
86
111
  :'zoom' => :'Integer',
87
- :'watermark_options' => :'WatermarkOptions'
112
+ :'watermark_options' => :'WatermarkOptions',
113
+ :'pdf_recognition_mode' => :'String'
88
114
  }
89
115
  end
90
116
 
@@ -134,6 +160,10 @@ module GroupDocsConversionCloud
134
160
  self.watermark_options = attributes[:'WatermarkOptions']
135
161
  end
136
162
 
163
+ if attributes.key?(:'PdfRecognitionMode')
164
+ self.pdf_recognition_mode = attributes[:'PdfRecognitionMode']
165
+ end
166
+
137
167
  end
138
168
 
139
169
  # Show invalid properties with the reasons. Usually used together with valid?
@@ -164,6 +194,10 @@ module GroupDocsConversionCloud
164
194
  invalid_properties.push("invalid value for 'zoom', zoom cannot be nil.")
165
195
  end
166
196
 
197
+ if @pdf_recognition_mode.nil?
198
+ invalid_properties.push("invalid value for 'pdf_recognition_mode', pdf_recognition_mode cannot be nil.")
199
+ end
200
+
167
201
  return invalid_properties
168
202
  end
169
203
 
@@ -176,9 +210,26 @@ module GroupDocsConversionCloud
176
210
  return false if @height.nil?
177
211
  return false if @dpi.nil?
178
212
  return false if @zoom.nil?
213
+ return false if @pdf_recognition_mode.nil?
214
+ pdf_recognition_mode_validator = EnumAttributeValidator.new('String', ["Textbox", "Flow"])
215
+ return false unless pdf_recognition_mode_validator.valid?(@pdf_recognition_mode)
179
216
  return true
180
217
  end
181
218
 
219
+ # Custom attribute writer method checking allowed values (enum).
220
+ # @param [Object] pdf_recognition_mode Object to be assigned
221
+ def pdf_recognition_mode=(pdf_recognition_mode)
222
+ validator = EnumAttributeValidator.new('String', ["Textbox", "Flow"])
223
+ if pdf_recognition_mode.to_i == 0
224
+ unless validator.valid?(pdf_recognition_mode)
225
+ raise ArgumentError, "invalid value for 'pdf_recognition_mode', must be one of #{validator.allowable_values}."
226
+ end
227
+ @pdf_recognition_mode = pdf_recognition_mode
228
+ else
229
+ @pdf_recognition_mode = validator.allowable_values[pdf_recognition_mode.to_i]
230
+ end
231
+ end
232
+
182
233
  # Checks equality by comparing each attribute.
183
234
  # @param [Object] Object to be compared
184
235
  def ==(other)
@@ -192,7 +243,8 @@ module GroupDocsConversionCloud
192
243
  dpi == other.dpi &&
193
244
  password == other.password &&
194
245
  zoom == other.zoom &&
195
- watermark_options == other.watermark_options
246
+ watermark_options == other.watermark_options &&
247
+ pdf_recognition_mode == other.pdf_recognition_mode
196
248
  end
197
249
 
198
250
  # @see the `==` method
@@ -204,7 +256,7 @@ module GroupDocsConversionCloud
204
256
  # Calculates hash code according to all attributes.
205
257
  # @return [Fixnum] Hash code
206
258
  def hash
207
- [from_page, pages_count, pages, width, height, dpi, password, zoom, watermark_options].hash
259
+ [from_page, pages_count, pages, width, height, dpi, password, zoom, watermark_options, pdf_recognition_mode].hash
208
260
  end
209
261
 
210
262
  # Downcases first letter.