groupdocs_conversion_cloud 19.4 → 21.4

Sign up to get free protection for your applications and to get access to all the features.
Files changed (182) hide show
  1. checksums.yaml +4 -4
  2. data/lib/groupdocs_conversion_cloud.rb +6 -2
  3. data/lib/groupdocs_conversion_cloud/api/convert_api.rb +342 -0
  4. data/lib/groupdocs_conversion_cloud/api/file_api.rb +7 -7
  5. data/lib/groupdocs_conversion_cloud/api/folder_api.rb +7 -7
  6. data/lib/groupdocs_conversion_cloud/api/{conversion_api.rb → info_api.rb} +54 -43
  7. data/lib/groupdocs_conversion_cloud/api/storage_api.rb +5 -5
  8. data/lib/groupdocs_conversion_cloud/api_client.rb +1 -1
  9. data/lib/groupdocs_conversion_cloud/api_error.rb +1 -1
  10. data/lib/groupdocs_conversion_cloud/configuration.rb +1 -1
  11. data/lib/groupdocs_conversion_cloud/models/bmp_convert_options.rb +102 -5
  12. data/lib/groupdocs_conversion_cloud/models/bmp_load_options.rb +1 -1
  13. data/lib/groupdocs_conversion_cloud/models/cad_load_options.rb +1 -1
  14. data/lib/groupdocs_conversion_cloud/models/cgm_convert_options.rb +102 -5
  15. data/lib/groupdocs_conversion_cloud/models/convert_options.rb +1 -1
  16. data/lib/groupdocs_conversion_cloud/models/convert_settings.rb +15 -5
  17. data/lib/groupdocs_conversion_cloud/models/csv_load_options.rb +15 -5
  18. data/lib/groupdocs_conversion_cloud/models/dcm_convert_options.rb +102 -5
  19. data/lib/groupdocs_conversion_cloud/models/dcm_load_options.rb +1 -1
  20. data/lib/groupdocs_conversion_cloud/models/dgn_load_options.rb +1 -1
  21. data/lib/groupdocs_conversion_cloud/models/diagram_load_options.rb +1 -1
  22. data/lib/groupdocs_conversion_cloud/models/disc_usage.rb +1 -1
  23. data/lib/groupdocs_conversion_cloud/models/djvu_convert_options.rb +102 -5
  24. data/lib/groupdocs_conversion_cloud/models/dng_convert_options.rb +102 -5
  25. data/lib/groupdocs_conversion_cloud/models/dng_load_options.rb +1 -1
  26. data/lib/groupdocs_conversion_cloud/models/doc_convert_options.rb +1 -1
  27. data/lib/groupdocs_conversion_cloud/models/doc_load_options.rb +50 -5
  28. data/lib/groupdocs_conversion_cloud/models/docm_convert_options.rb +1 -1
  29. data/lib/groupdocs_conversion_cloud/models/docm_load_options.rb +50 -5
  30. data/lib/groupdocs_conversion_cloud/models/document_metadata.rb +396 -0
  31. data/lib/groupdocs_conversion_cloud/models/docx_convert_options.rb +1 -1
  32. data/lib/groupdocs_conversion_cloud/models/docx_load_options.rb +50 -5
  33. data/lib/groupdocs_conversion_cloud/models/dot_convert_options.rb +1 -1
  34. data/lib/groupdocs_conversion_cloud/models/dot_load_options.rb +50 -5
  35. data/lib/groupdocs_conversion_cloud/models/dotm_convert_options.rb +1 -1
  36. data/lib/groupdocs_conversion_cloud/models/dotm_load_options.rb +50 -5
  37. data/lib/groupdocs_conversion_cloud/models/dotx_convert_options.rb +1 -1
  38. data/lib/groupdocs_conversion_cloud/models/dotx_load_options.rb +50 -5
  39. data/lib/groupdocs_conversion_cloud/models/dwf_load_options.rb +1 -1
  40. data/lib/groupdocs_conversion_cloud/models/dwg_load_options.rb +1 -1
  41. data/lib/groupdocs_conversion_cloud/models/dxf_load_options.rb +1 -1
  42. data/lib/groupdocs_conversion_cloud/models/email_load_options.rb +57 -5
  43. data/lib/groupdocs_conversion_cloud/models/emf_convert_options.rb +102 -5
  44. data/lib/groupdocs_conversion_cloud/models/emf_load_options.rb +1 -1
  45. data/lib/groupdocs_conversion_cloud/models/eml_load_options.rb +57 -5
  46. data/lib/groupdocs_conversion_cloud/models/emlx_load_options.rb +57 -5
  47. data/lib/groupdocs_conversion_cloud/models/epub_convert_options.rb +1 -1
  48. data/lib/groupdocs_conversion_cloud/models/error.rb +1 -1
  49. data/lib/groupdocs_conversion_cloud/models/error_details.rb +1 -1
  50. data/lib/groupdocs_conversion_cloud/models/field_label.rb +266 -0
  51. data/lib/groupdocs_conversion_cloud/models/file_version.rb +1 -1
  52. data/lib/groupdocs_conversion_cloud/models/file_versions.rb +1 -1
  53. data/lib/groupdocs_conversion_cloud/models/files_list.rb +1 -1
  54. data/lib/groupdocs_conversion_cloud/models/files_upload_result.rb +1 -1
  55. data/lib/groupdocs_conversion_cloud/models/gif_convert_options.rb +102 -5
  56. data/lib/groupdocs_conversion_cloud/models/gif_load_options.rb +1 -1
  57. data/lib/groupdocs_conversion_cloud/models/html_convert_options.rb +17 -2
  58. data/lib/groupdocs_conversion_cloud/models/html_load_options.rb +219 -0
  59. data/lib/groupdocs_conversion_cloud/models/ico_convert_options.rb +102 -5
  60. data/lib/groupdocs_conversion_cloud/models/ico_load_options.rb +1 -1
  61. data/lib/groupdocs_conversion_cloud/models/ifc_load_options.rb +1 -1
  62. data/lib/groupdocs_conversion_cloud/models/igs_load_options.rb +1 -1
  63. data/lib/groupdocs_conversion_cloud/models/image_convert_options.rb +102 -5
  64. data/lib/groupdocs_conversion_cloud/models/image_load_options.rb +1 -1
  65. data/lib/groupdocs_conversion_cloud/models/j2c_convert_options.rb +99 -2
  66. data/lib/groupdocs_conversion_cloud/models/j2c_load_options.rb +1 -1
  67. data/lib/groupdocs_conversion_cloud/models/j2k_convert_options.rb +99 -2
  68. data/lib/groupdocs_conversion_cloud/models/j2k_load_options.rb +1 -1
  69. data/lib/groupdocs_conversion_cloud/models/jp2_convert_options.rb +99 -2
  70. data/lib/groupdocs_conversion_cloud/models/jp2_load_options.rb +1 -1
  71. data/lib/groupdocs_conversion_cloud/models/jpeg_convert_options.rb +99 -2
  72. data/lib/groupdocs_conversion_cloud/models/jpeg_load_options.rb +1 -1
  73. data/lib/groupdocs_conversion_cloud/models/jpf_convert_options.rb +99 -2
  74. data/lib/groupdocs_conversion_cloud/models/jpf_load_options.rb +1 -1
  75. data/lib/groupdocs_conversion_cloud/models/jpg_convert_options.rb +99 -2
  76. data/lib/groupdocs_conversion_cloud/models/jpg_load_options.rb +1 -1
  77. data/lib/groupdocs_conversion_cloud/models/jpm_convert_options.rb +99 -2
  78. data/lib/groupdocs_conversion_cloud/models/jpm_load_options.rb +1 -1
  79. data/lib/groupdocs_conversion_cloud/models/jpx_convert_options.rb +99 -2
  80. data/lib/groupdocs_conversion_cloud/models/jpx_load_options.rb +1 -1
  81. data/lib/groupdocs_conversion_cloud/models/load_options.rb +1 -1
  82. data/lib/groupdocs_conversion_cloud/models/mht_load_options.rb +57 -5
  83. data/lib/groupdocs_conversion_cloud/models/mobi_load_options.rb +50 -5
  84. data/lib/groupdocs_conversion_cloud/models/msg_load_options.rb +57 -5
  85. data/lib/groupdocs_conversion_cloud/models/object_exist.rb +1 -1
  86. data/lib/groupdocs_conversion_cloud/models/odg_convert_options.rb +102 -5
  87. data/lib/groupdocs_conversion_cloud/models/odg_load_options.rb +1 -1
  88. data/lib/groupdocs_conversion_cloud/models/odp_convert_options.rb +1 -1
  89. data/lib/groupdocs_conversion_cloud/models/odp_load_options.rb +1 -1
  90. data/lib/groupdocs_conversion_cloud/models/ods_convert_options.rb +1 -1
  91. data/lib/groupdocs_conversion_cloud/models/ods_load_options.rb +1 -1
  92. data/lib/groupdocs_conversion_cloud/models/odt_convert_options.rb +1 -1
  93. data/lib/groupdocs_conversion_cloud/models/odt_load_options.rb +50 -5
  94. data/lib/groupdocs_conversion_cloud/models/one_load_options.rb +1 -1
  95. data/lib/groupdocs_conversion_cloud/models/ost_load_options.rb +57 -5
  96. data/lib/groupdocs_conversion_cloud/models/otp_convert_options.rb +1 -1
  97. data/lib/groupdocs_conversion_cloud/models/otp_load_options.rb +1 -1
  98. data/lib/groupdocs_conversion_cloud/models/ots_convert_options.rb +1 -1
  99. data/lib/groupdocs_conversion_cloud/models/ots_load_options.rb +1 -1
  100. data/lib/groupdocs_conversion_cloud/models/ott_convert_options.rb +1 -1
  101. data/lib/groupdocs_conversion_cloud/models/ott_load_options.rb +50 -5
  102. data/lib/groupdocs_conversion_cloud/models/pdf_convert_options.rb +11 -56
  103. data/lib/groupdocs_conversion_cloud/models/pdf_load_options.rb +1 -1
  104. data/lib/groupdocs_conversion_cloud/models/plt_load_options.rb +1 -1
  105. data/lib/groupdocs_conversion_cloud/models/png_convert_options.rb +102 -5
  106. data/lib/groupdocs_conversion_cloud/models/png_load_options.rb +1 -1
  107. data/lib/groupdocs_conversion_cloud/models/potm_convert_options.rb +1 -1
  108. data/lib/groupdocs_conversion_cloud/models/potm_load_options.rb +1 -1
  109. data/lib/groupdocs_conversion_cloud/models/potx_convert_options.rb +1 -1
  110. data/lib/groupdocs_conversion_cloud/models/potx_load_options.rb +1 -1
  111. data/lib/groupdocs_conversion_cloud/models/pps_convert_options.rb +1 -1
  112. data/lib/groupdocs_conversion_cloud/models/pps_load_options.rb +1 -1
  113. data/lib/groupdocs_conversion_cloud/models/ppsm_convert_options.rb +1 -1
  114. data/lib/groupdocs_conversion_cloud/models/ppsm_load_options.rb +1 -1
  115. data/lib/groupdocs_conversion_cloud/models/ppsx_convert_options.rb +1 -1
  116. data/lib/groupdocs_conversion_cloud/models/ppsx_load_options.rb +1 -1
  117. data/lib/groupdocs_conversion_cloud/models/ppt_convert_options.rb +1 -1
  118. data/lib/groupdocs_conversion_cloud/models/ppt_load_options.rb +1 -1
  119. data/lib/groupdocs_conversion_cloud/models/pptm_convert_options.rb +1 -1
  120. data/lib/groupdocs_conversion_cloud/models/pptm_load_options.rb +1 -1
  121. data/lib/groupdocs_conversion_cloud/models/pptx_convert_options.rb +1 -1
  122. data/lib/groupdocs_conversion_cloud/models/pptx_load_options.rb +1 -1
  123. data/lib/groupdocs_conversion_cloud/models/presentation_convert_options.rb +1 -1
  124. data/lib/groupdocs_conversion_cloud/models/presentation_load_options.rb +1 -1
  125. data/lib/groupdocs_conversion_cloud/models/psd_convert_options.rb +78 -2
  126. data/lib/groupdocs_conversion_cloud/models/psd_load_options.rb +1 -1
  127. data/lib/groupdocs_conversion_cloud/models/pst_load_options.rb +57 -5
  128. data/lib/groupdocs_conversion_cloud/models/rtf_convert_options.rb +1 -1
  129. data/lib/groupdocs_conversion_cloud/models/spreadsheet_convert_options.rb +1 -1
  130. data/lib/groupdocs_conversion_cloud/models/spreadsheet_load_options.rb +1 -1
  131. data/lib/groupdocs_conversion_cloud/models/stl_load_options.rb +1 -1
  132. data/lib/groupdocs_conversion_cloud/models/storage_exist.rb +1 -1
  133. data/lib/groupdocs_conversion_cloud/models/storage_file.rb +1 -1
  134. data/lib/groupdocs_conversion_cloud/models/stored_converted_result.rb +1 -1
  135. data/lib/groupdocs_conversion_cloud/models/supported_format.rb +1 -1
  136. data/lib/groupdocs_conversion_cloud/models/svg_convert_options.rb +1 -1
  137. data/lib/groupdocs_conversion_cloud/models/tif_convert_options.rb +78 -2
  138. data/lib/groupdocs_conversion_cloud/models/tif_load_options.rb +1 -1
  139. data/lib/groupdocs_conversion_cloud/models/tiff_convert_options.rb +78 -2
  140. data/lib/groupdocs_conversion_cloud/models/tiff_load_options.rb +1 -1
  141. data/lib/groupdocs_conversion_cloud/models/tsv_convert_options.rb +1 -1
  142. data/lib/groupdocs_conversion_cloud/models/tsv_load_options.rb +1 -1
  143. data/lib/groupdocs_conversion_cloud/models/txt_convert_options.rb +1 -1
  144. data/lib/groupdocs_conversion_cloud/models/txt_load_options.rb +15 -5
  145. data/lib/groupdocs_conversion_cloud/models/vdw_load_options.rb +1 -1
  146. data/lib/groupdocs_conversion_cloud/models/vdx_load_options.rb +1 -1
  147. data/lib/groupdocs_conversion_cloud/models/vsd_load_options.rb +1 -1
  148. data/lib/groupdocs_conversion_cloud/models/vsdm_load_options.rb +1 -1
  149. data/lib/groupdocs_conversion_cloud/models/vsdx_load_options.rb +1 -1
  150. data/lib/groupdocs_conversion_cloud/models/vss_load_options.rb +1 -1
  151. data/lib/groupdocs_conversion_cloud/models/vssm_load_options.rb +1 -1
  152. data/lib/groupdocs_conversion_cloud/models/vssx_load_options.rb +1 -1
  153. data/lib/groupdocs_conversion_cloud/models/vst_load_options.rb +1 -1
  154. data/lib/groupdocs_conversion_cloud/models/vstm_load_options.rb +1 -1
  155. data/lib/groupdocs_conversion_cloud/models/vstx_load_options.rb +1 -1
  156. data/lib/groupdocs_conversion_cloud/models/vsx_load_options.rb +1 -1
  157. data/lib/groupdocs_conversion_cloud/models/vtx_load_options.rb +1 -1
  158. data/lib/groupdocs_conversion_cloud/models/watermark_options.rb +32 -2
  159. data/lib/groupdocs_conversion_cloud/models/webp_convert_options.rb +99 -2
  160. data/lib/groupdocs_conversion_cloud/models/webp_load_options.rb +1 -1
  161. data/lib/groupdocs_conversion_cloud/models/wmf_convert_options.rb +102 -5
  162. data/lib/groupdocs_conversion_cloud/models/wmf_load_options.rb +1 -1
  163. data/lib/groupdocs_conversion_cloud/models/word_processing_convert_options.rb +1 -1
  164. data/lib/groupdocs_conversion_cloud/models/word_processing_load_options.rb +50 -5
  165. data/lib/groupdocs_conversion_cloud/models/xls2003_convert_options.rb +1 -1
  166. data/lib/groupdocs_conversion_cloud/models/xls2003_load_options.rb +1 -1
  167. data/lib/groupdocs_conversion_cloud/models/xls_convert_options.rb +1 -1
  168. data/lib/groupdocs_conversion_cloud/models/xls_load_options.rb +1 -1
  169. data/lib/groupdocs_conversion_cloud/models/xlsb_convert_options.rb +1 -1
  170. data/lib/groupdocs_conversion_cloud/models/xlsb_load_options.rb +1 -1
  171. data/lib/groupdocs_conversion_cloud/models/xlsm_convert_options.rb +1 -1
  172. data/lib/groupdocs_conversion_cloud/models/xlsm_load_options.rb +1 -1
  173. data/lib/groupdocs_conversion_cloud/models/xlsx_convert_options.rb +1 -1
  174. data/lib/groupdocs_conversion_cloud/models/xlsx_load_options.rb +1 -1
  175. data/lib/groupdocs_conversion_cloud/models/xltm_convert_options.rb +1 -1
  176. data/lib/groupdocs_conversion_cloud/models/xltm_load_options.rb +1 -1
  177. data/lib/groupdocs_conversion_cloud/models/xltx_convert_options.rb +1 -1
  178. data/lib/groupdocs_conversion_cloud/models/xltx_load_options.rb +1 -1
  179. data/lib/groupdocs_conversion_cloud/models/xml_load_options.rb +1 -1
  180. data/lib/groupdocs_conversion_cloud/models/xps_convert_options.rb +1 -1
  181. data/lib/groupdocs_conversion_cloud/version.rb +2 -2
  182. metadata +7 -3
@@ -1,7 +1,7 @@
1
1
  #
2
2
  # --------------------------------------------------------------------------------------------------------------------
3
3
  # <copyright company="Aspose Pty Ltd" file="docm_convert_options.rb">
4
- # Copyright (c) 2003-2019 Aspose Pty Ltd
4
+ # Copyright (c) 2003-2021 Aspose Pty Ltd
5
5
  # </copyright>
6
6
  # <summary>
7
7
  # Permission is hereby granted, free of charge, to any person obtaining a copy
@@ -1,7 +1,7 @@
1
1
  #
2
2
  # --------------------------------------------------------------------------------------------------------------------
3
3
  # <copyright company="Aspose Pty Ltd" file="docm_load_options.rb">
4
- # Copyright (c) 2003-2019 Aspose Pty Ltd
4
+ # Copyright (c) 2003-2021 Aspose Pty Ltd
5
5
  # </copyright>
6
6
  # <summary>
7
7
  # Permission is hereby granted, free of charge, to any person obtaining a copy
@@ -49,6 +49,15 @@ module GroupDocsConversionCloud
49
49
  # Hide comments
50
50
  attr_accessor :hide_comments
51
51
 
52
+ # Specifies the default level in the document outline at which to display Word bookmarks. Default is 0. Valid range is 0 to 9.
53
+ attr_accessor :bookmarks_outline_level
54
+
55
+ # Specifies how many levels of headings (paragraphs formatted with the Heading styles) to include in the document outline. Default is 0. Valid range is 0 to 9.
56
+ attr_accessor :headings_outline_levels
57
+
58
+ # Specifies how many levels in the document outline to show expanded when the file is viewed. Default is 0. Valid range is 0 to 9. Note that this options will not work when saving to XPS.
59
+ attr_accessor :expanded_outline_levels
60
+
52
61
  # Attribute mapping from ruby-style variable name to JSON key.
53
62
  def self.attribute_map
54
63
  {
@@ -57,7 +66,10 @@ module GroupDocsConversionCloud
57
66
  :'font_substitutes' => :'FontSubstitutes',
58
67
  :'password' => :'Password',
59
68
  :'hide_word_tracked_changes' => :'HideWordTrackedChanges',
60
- :'hide_comments' => :'HideComments'
69
+ :'hide_comments' => :'HideComments',
70
+ :'bookmarks_outline_level' => :'BookmarksOutlineLevel',
71
+ :'headings_outline_levels' => :'HeadingsOutlineLevels',
72
+ :'expanded_outline_levels' => :'ExpandedOutlineLevels'
61
73
  }
62
74
  end
63
75
 
@@ -69,7 +81,10 @@ module GroupDocsConversionCloud
69
81
  :'font_substitutes' => :'Hash<String, String>',
70
82
  :'password' => :'String',
71
83
  :'hide_word_tracked_changes' => :'BOOLEAN',
72
- :'hide_comments' => :'BOOLEAN'
84
+ :'hide_comments' => :'BOOLEAN',
85
+ :'bookmarks_outline_level' => :'Integer',
86
+ :'headings_outline_levels' => :'Integer',
87
+ :'expanded_outline_levels' => :'Integer'
73
88
  }
74
89
  end
75
90
 
@@ -107,6 +122,18 @@ module GroupDocsConversionCloud
107
122
  self.hide_comments = attributes[:'HideComments']
108
123
  end
109
124
 
125
+ if attributes.key?(:'BookmarksOutlineLevel')
126
+ self.bookmarks_outline_level = attributes[:'BookmarksOutlineLevel']
127
+ end
128
+
129
+ if attributes.key?(:'HeadingsOutlineLevels')
130
+ self.headings_outline_levels = attributes[:'HeadingsOutlineLevels']
131
+ end
132
+
133
+ if attributes.key?(:'ExpandedOutlineLevels')
134
+ self.expanded_outline_levels = attributes[:'ExpandedOutlineLevels']
135
+ end
136
+
110
137
  end
111
138
 
112
139
  # Show invalid properties with the reasons. Usually used together with valid?
@@ -125,6 +152,18 @@ module GroupDocsConversionCloud
125
152
  invalid_properties.push("invalid value for 'hide_comments', hide_comments cannot be nil.")
126
153
  end
127
154
 
155
+ if @bookmarks_outline_level.nil?
156
+ invalid_properties.push("invalid value for 'bookmarks_outline_level', bookmarks_outline_level cannot be nil.")
157
+ end
158
+
159
+ if @headings_outline_levels.nil?
160
+ invalid_properties.push("invalid value for 'headings_outline_levels', headings_outline_levels cannot be nil.")
161
+ end
162
+
163
+ if @expanded_outline_levels.nil?
164
+ invalid_properties.push("invalid value for 'expanded_outline_levels', expanded_outline_levels cannot be nil.")
165
+ end
166
+
128
167
  return invalid_properties
129
168
  end
130
169
 
@@ -134,6 +173,9 @@ module GroupDocsConversionCloud
134
173
  return false if @auto_font_substitution.nil?
135
174
  return false if @hide_word_tracked_changes.nil?
136
175
  return false if @hide_comments.nil?
176
+ return false if @bookmarks_outline_level.nil?
177
+ return false if @headings_outline_levels.nil?
178
+ return false if @expanded_outline_levels.nil?
137
179
  return true
138
180
  end
139
181
 
@@ -147,7 +189,10 @@ module GroupDocsConversionCloud
147
189
  font_substitutes == other.font_substitutes &&
148
190
  password == other.password &&
149
191
  hide_word_tracked_changes == other.hide_word_tracked_changes &&
150
- hide_comments == other.hide_comments
192
+ hide_comments == other.hide_comments &&
193
+ bookmarks_outline_level == other.bookmarks_outline_level &&
194
+ headings_outline_levels == other.headings_outline_levels &&
195
+ expanded_outline_levels == other.expanded_outline_levels
151
196
  end
152
197
 
153
198
  # @see the `==` method
@@ -159,7 +204,7 @@ module GroupDocsConversionCloud
159
204
  # Calculates hash code according to all attributes.
160
205
  # @return [Fixnum] Hash code
161
206
  def hash
162
- [default_font, auto_font_substitution, font_substitutes, password, hide_word_tracked_changes, hide_comments].hash
207
+ [default_font, auto_font_substitution, font_substitutes, password, hide_word_tracked_changes, hide_comments, bookmarks_outline_level, headings_outline_levels, expanded_outline_levels].hash
163
208
  end
164
209
 
165
210
  # Downcases first letter.
@@ -0,0 +1,396 @@
1
+ #
2
+ # --------------------------------------------------------------------------------------------------------------------
3
+ # <copyright company="Aspose Pty Ltd" file="document_metadata.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
+ # Contains a document metadata
32
+ class DocumentMetadata
33
+
34
+ # Document file type
35
+ attr_accessor :file_type
36
+
37
+ # Gets pages count if applicable to the current document format
38
+ attr_accessor :page_count
39
+
40
+ # Document bytes size
41
+ attr_accessor :size
42
+
43
+ # Returns detected width if applicable to the current document format
44
+ attr_accessor :width
45
+
46
+ # Returns detected height if applicable to the current document format
47
+ attr_accessor :height
48
+
49
+ # Returns detected horizontal resolution if applicable to the current document format
50
+ attr_accessor :horizontal_resolution
51
+
52
+ # Returns detected vertical resolution if applicable to the current document format
53
+ attr_accessor :vertical_resolution
54
+
55
+ # Returns detected bits per pixel if applicable to the current document format
56
+ attr_accessor :bits_per_pixel
57
+
58
+ # Returns document title width if applicable to the current document format
59
+ attr_accessor :title
60
+
61
+ # Returns detected document author if applicable to the current document format
62
+ attr_accessor :author
63
+
64
+ # Returns detected document creation date if it's applicable to the current document format
65
+ attr_accessor :created_date
66
+
67
+ # Returns detected document modification date if applicable to the current document format
68
+ attr_accessor :modified_date
69
+
70
+ # Returns list of layer names if applicable to the current document format
71
+ attr_accessor :layers
72
+
73
+ # Is document password protected
74
+ attr_accessor :is_password_protected
75
+
76
+ # Attribute mapping from ruby-style variable name to JSON key.
77
+ def self.attribute_map
78
+ {
79
+ :'file_type' => :'FileType',
80
+ :'page_count' => :'PageCount',
81
+ :'size' => :'Size',
82
+ :'width' => :'Width',
83
+ :'height' => :'Height',
84
+ :'horizontal_resolution' => :'HorizontalResolution',
85
+ :'vertical_resolution' => :'VerticalResolution',
86
+ :'bits_per_pixel' => :'BitsPerPixel',
87
+ :'title' => :'Title',
88
+ :'author' => :'Author',
89
+ :'created_date' => :'CreatedDate',
90
+ :'modified_date' => :'ModifiedDate',
91
+ :'layers' => :'Layers',
92
+ :'is_password_protected' => :'IsPasswordProtected'
93
+ }
94
+ end
95
+
96
+ # Attribute type mapping.
97
+ def self.swagger_types
98
+ {
99
+ :'file_type' => :'String',
100
+ :'page_count' => :'Integer',
101
+ :'size' => :'Integer',
102
+ :'width' => :'Integer',
103
+ :'height' => :'Integer',
104
+ :'horizontal_resolution' => :'Integer',
105
+ :'vertical_resolution' => :'Integer',
106
+ :'bits_per_pixel' => :'Integer',
107
+ :'title' => :'String',
108
+ :'author' => :'String',
109
+ :'created_date' => :'DateTime',
110
+ :'modified_date' => :'DateTime',
111
+ :'layers' => :'Array<String>',
112
+ :'is_password_protected' => :'BOOLEAN'
113
+ }
114
+ end
115
+
116
+ # Initializes the object
117
+ # @param [Hash] attributes Model attributes in the form of hash
118
+ def initialize(attributes = {})
119
+ return unless attributes.is_a?(Hash)
120
+
121
+ # convert string to symbol for hash key
122
+ attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v }
123
+
124
+ if attributes.key?(:'FileType')
125
+ self.file_type = attributes[:'FileType']
126
+ end
127
+
128
+ if attributes.key?(:'PageCount')
129
+ self.page_count = attributes[:'PageCount']
130
+ end
131
+
132
+ if attributes.key?(:'Size')
133
+ self.size = attributes[:'Size']
134
+ end
135
+
136
+ if attributes.key?(:'Width')
137
+ self.width = attributes[:'Width']
138
+ end
139
+
140
+ if attributes.key?(:'Height')
141
+ self.height = attributes[:'Height']
142
+ end
143
+
144
+ if attributes.key?(:'HorizontalResolution')
145
+ self.horizontal_resolution = attributes[:'HorizontalResolution']
146
+ end
147
+
148
+ if attributes.key?(:'VerticalResolution')
149
+ self.vertical_resolution = attributes[:'VerticalResolution']
150
+ end
151
+
152
+ if attributes.key?(:'BitsPerPixel')
153
+ self.bits_per_pixel = attributes[:'BitsPerPixel']
154
+ end
155
+
156
+ if attributes.key?(:'Title')
157
+ self.title = attributes[:'Title']
158
+ end
159
+
160
+ if attributes.key?(:'Author')
161
+ self.author = attributes[:'Author']
162
+ end
163
+
164
+ if attributes.key?(:'CreatedDate')
165
+ self.created_date = attributes[:'CreatedDate']
166
+ end
167
+
168
+ if attributes.key?(:'ModifiedDate')
169
+ self.modified_date = attributes[:'ModifiedDate']
170
+ end
171
+
172
+ if attributes.key?(:'Layers')
173
+ if (value = attributes[:'Layers']).is_a?(Array)
174
+ self.layers = value
175
+ end
176
+ end
177
+
178
+ if attributes.key?(:'IsPasswordProtected')
179
+ self.is_password_protected = attributes[:'IsPasswordProtected']
180
+ end
181
+
182
+ end
183
+
184
+ # Show invalid properties with the reasons. Usually used together with valid?
185
+ # @return Array for valid properies with the reasons
186
+ def list_invalid_properties
187
+ invalid_properties = []
188
+ if @page_count.nil?
189
+ invalid_properties.push("invalid value for 'page_count', page_count cannot be nil.")
190
+ end
191
+
192
+ if @size.nil?
193
+ invalid_properties.push("invalid value for 'size', size cannot be nil.")
194
+ end
195
+
196
+ if @width.nil?
197
+ invalid_properties.push("invalid value for 'width', width cannot be nil.")
198
+ end
199
+
200
+ if @height.nil?
201
+ invalid_properties.push("invalid value for 'height', height cannot be nil.")
202
+ end
203
+
204
+ if @horizontal_resolution.nil?
205
+ invalid_properties.push("invalid value for 'horizontal_resolution', horizontal_resolution cannot be nil.")
206
+ end
207
+
208
+ if @vertical_resolution.nil?
209
+ invalid_properties.push("invalid value for 'vertical_resolution', vertical_resolution cannot be nil.")
210
+ end
211
+
212
+ if @bits_per_pixel.nil?
213
+ invalid_properties.push("invalid value for 'bits_per_pixel', bits_per_pixel cannot be nil.")
214
+ end
215
+
216
+ if @created_date.nil?
217
+ invalid_properties.push("invalid value for 'created_date', created_date cannot be nil.")
218
+ end
219
+
220
+ if @modified_date.nil?
221
+ invalid_properties.push("invalid value for 'modified_date', modified_date cannot be nil.")
222
+ end
223
+
224
+ if @is_password_protected.nil?
225
+ invalid_properties.push("invalid value for 'is_password_protected', is_password_protected cannot be nil.")
226
+ end
227
+
228
+ return invalid_properties
229
+ end
230
+
231
+ # Check to see if the all the properties in the model are valid
232
+ # @return true if the model is valid
233
+ def valid?
234
+ return false if @page_count.nil?
235
+ return false if @size.nil?
236
+ return false if @width.nil?
237
+ return false if @height.nil?
238
+ return false if @horizontal_resolution.nil?
239
+ return false if @vertical_resolution.nil?
240
+ return false if @bits_per_pixel.nil?
241
+ return false if @created_date.nil?
242
+ return false if @modified_date.nil?
243
+ return false if @is_password_protected.nil?
244
+ return true
245
+ end
246
+
247
+ # Checks equality by comparing each attribute.
248
+ # @param [Object] Object to be compared
249
+ def ==(other)
250
+ return true if self.equal?(other)
251
+ self.class == other.class &&
252
+ file_type == other.file_type &&
253
+ page_count == other.page_count &&
254
+ size == other.size &&
255
+ width == other.width &&
256
+ height == other.height &&
257
+ horizontal_resolution == other.horizontal_resolution &&
258
+ vertical_resolution == other.vertical_resolution &&
259
+ bits_per_pixel == other.bits_per_pixel &&
260
+ title == other.title &&
261
+ author == other.author &&
262
+ created_date == other.created_date &&
263
+ modified_date == other.modified_date &&
264
+ layers == other.layers &&
265
+ is_password_protected == other.is_password_protected
266
+ end
267
+
268
+ # @see the `==` method
269
+ # @param [Object] Object to be compared
270
+ def eql?(other)
271
+ self == other
272
+ end
273
+
274
+ # Calculates hash code according to all attributes.
275
+ # @return [Fixnum] Hash code
276
+ def hash
277
+ [file_type, page_count, size, width, height, horizontal_resolution, vertical_resolution, bits_per_pixel, title, author, created_date, modified_date, layers, is_password_protected].hash
278
+ end
279
+
280
+ # Downcases first letter.
281
+ # @return downcased string
282
+ def uncap(str)
283
+ str[0, 1].downcase + str[1..-1]
284
+ end
285
+
286
+ # Builds the object from hash
287
+ # @param [Hash] attributes Model attributes in the form of hash
288
+ # @return [Object] Returns the model itself
289
+ def build_from_hash(attributes)
290
+ return nil unless attributes.is_a?(Hash)
291
+ self.class.swagger_types.each_pair do |key, type|
292
+ pname = uncap(self.class.attribute_map[key]).intern
293
+ value = attributes[pname]
294
+ if type =~ /\AArray<(.*)>/i
295
+ # check to ensure the input is an array given that the the attribute
296
+ # is documented as an array but the input is not
297
+ if value.is_a?(Array)
298
+ self.send("#{key}=", value.map { |v| _deserialize($1, v) })
299
+ end
300
+ elsif !value.nil?
301
+ self.send("#{key}=", _deserialize(type, value))
302
+ end
303
+ # or else data not found in attributes(hash), not an issue as the data can be optional
304
+ end
305
+
306
+ self
307
+ end
308
+
309
+ # Deserializes the data based on type
310
+ # @param string type Data type
311
+ # @param string value Value to be deserialized
312
+ # @return [Object] Deserialized data
313
+ def _deserialize(type, value)
314
+ case type.to_sym
315
+ when :DateTime
316
+ Date.parse value
317
+ when :Date
318
+ Date.parse value
319
+ when :String
320
+ value.to_s
321
+ when :Integer
322
+ value.to_i
323
+ when :Float
324
+ value.to_f
325
+ when :BOOLEAN
326
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
327
+ true
328
+ else
329
+ false
330
+ end
331
+ when :Object
332
+ # generic object (usually a Hash), return directly
333
+ value
334
+ when /\AArray<(?<inner_type>.+)>\z/
335
+ inner_type = Regexp.last_match[:inner_type]
336
+ value.map { |v| _deserialize(inner_type, v) }
337
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
338
+ k_type = Regexp.last_match[:k_type]
339
+ v_type = Regexp.last_match[:v_type]
340
+ {}.tap do |hash|
341
+ value.each do |k, v|
342
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
343
+ end
344
+ end
345
+ else
346
+ # model
347
+ temp_model = GroupDocsConversionCloud.const_get(type).new
348
+ temp_model.build_from_hash(value)
349
+ end
350
+ end
351
+
352
+ # Returns the string representation of the object
353
+ # @return [String] String presentation of the object
354
+ def to_s
355
+ to_hash.to_s
356
+ end
357
+
358
+ # to_body is an alias to to_hash (backward compatibility)
359
+ # @return [Hash] Returns the object in the form of hash
360
+ def to_body
361
+ to_hash
362
+ end
363
+
364
+ # Returns the object in the form of hash
365
+ # @return [Hash] Returns the object in the form of hash
366
+ def to_hash
367
+ hash = {}
368
+ self.class.attribute_map.each_pair do |attr, param|
369
+ value = self.send(attr)
370
+ next if value.nil?
371
+ hash[param] = _to_hash(value)
372
+ end
373
+ hash
374
+ end
375
+
376
+ # Outputs non-array value in the form of hash
377
+ # For object, use to_hash. Otherwise, just return the value
378
+ # @param [Object] value Any valid value
379
+ # @return [Hash] Returns the value in the form of hash
380
+ def _to_hash(value)
381
+ if value.is_a?(Array)
382
+ value.compact.map { |v| _to_hash(v) }
383
+ elsif value.is_a?(Hash)
384
+ {}.tap do |hash|
385
+ value.each { |k, v| hash[k] = _to_hash(v) }
386
+ end
387
+ elsif value.respond_to? :to_hash
388
+ value.to_hash
389
+ else
390
+ value
391
+ end
392
+ end
393
+
394
+ end
395
+
396
+ end