Class: Aspose::Cloud::Words::Extractor

Inherits:
Object
  • Object
show all
Defined in:
lib/Words/extractor.rb

Instance Method Summary collapse

Constructor Details

#initialize(filename) ⇒ Extractor

Returns a new instance of Extractor.



5
6
7
8
9
# File 'lib/Words/extractor.rb', line 5

def initialize(filename)
  @filename = filename
  raise 'filename not specified.' if filename.empty?
  @base_uri = "#{Aspose::Cloud::Common::Product.product_uri}/words/#{@filename}"
end

Instance Method Details

#convert_drawing_object(object_index, render_format, folder_name = '', storage_type = 'Aspose', storage_name = '') ⇒ Object

Convert drawing object to image

@param number object_index Index of the object.
@param string render_format Return file format.


151
152
153
154
155
156
157
158
159
160
161
162
163
# File 'lib/Words/extractor.rb', line 151

def convert_drawing_object(object_index, render_format, folder_name = '', storage_type = 'Aspose', storage_name = '')
  raise 'object_index not specified.' if object_index.nil?
  raise 'render_format not specified.' if render_format.empty?

  str_uri = "#{@base_uri}/drawingObjects/#{object_index}?format=#{render_format}"
  str_uri = Aspose::Cloud::Common::Utils.append_storage(str_uri,folder_name,storage_name,storage_type)
  signed_str_uri = Aspose::Cloud::Common::Utils.sign(str_uri)
  response_stream = RestClient.get(signed_str_uri, {:accept=>'application/json'})

  valid_output = Aspose::Cloud::Common::Utils.validate_output(response_stream)
  output_path = "#{Aspose::Cloud::Common::AsposeApp.output_location}#{Aspose::Cloud::Common::Utils.get_filename(@filename)}_#{object_index}.#{render_format}"
  valid_output.empty? ? Aspose::Cloud::Common::Utils.save_file(response_stream,output_path) : valid_output
end

#get_drawing_object(object_uri, output_path, folder_name = '', storage_type = 'Aspose', storage_name = '') ⇒ Object

Get the drawing object from document

@param string object_uri URI of the object.
@param string output_path Path of the output file.


181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
# File 'lib/Words/extractor.rb', line 181

def get_drawing_object(object_uri, output_path, folder_name = '', storage_type = 'Aspose', storage_name = '')
  raise 'object_uri not specified.' if object_uri.empty?
  raise 'output_path not specified.' if output_path.empty?

  object_index = object_uri[-1]
  str_uri =  "#{Aspose::Cloud::Common::Product.product_uri}/words/#{object_uri}"
  str_uri = Aspose::Cloud::Common::Utils.append_storage(str_uri,folder_name,storage_name,storage_type)
  signed_str_uri = Aspose::Cloud::Common::Utils.sign(str_uri)
  object_info = JSON.parse(RestClient.get(signed_str_uri, {:accept=>'application/json'}))

  str_uri = "#{Aspose::Cloud::Common::Product.product_uri}/words/#{object_uri}?format=jpeg"
  output_path = "#{output_path}/DrawingObject_#{object_index}.jpeg"

  str_uri = "#{Aspose::Cloud::Common::Product.product_uri}/words/#{object_uri}/imageData" unless object_info['DrawingObject']['ImageDataLink'].nil?
  output_path = "#{output_path}/DrawingObject_#{object_index}.jpeg" unless object_info['DrawingObject']['ImageDataLink'].nil?

  str_uri = "#{Aspose::Cloud::Common::Product.product_uri}/words/#{object_uri}/oleData" unless object_info['DrawingObject']['OLEDataLink'].nil?
  output_path = "#{output_path}/DrawingObject_#{object_index}.xlsx" unless object_info['DrawingObject']['OLEDataLink'].nil?

  str_uri = Aspose::Cloud::Common::Utils.append_storage(str_uri,folder_name,storage_name,storage_type)
  signed_str_uri = Aspose::Cloud::Common::Utils.sign(str_uri)
  response_stream = RestClient.get(signed_str_uri, {:accept=>'application/json'})

  valid_output = Aspose::Cloud::Common::Utils.validate_output(response_stream)
  valid_output.empty? ? Aspose::Cloud::Common::Utils.save_file(response_stream,output_path) : valid_output
end

#get_drawing_object_list(folder_name = '', storage_type = 'Aspose', storage_name = '') ⇒ Object

Get the List of drawing object from document



168
169
170
171
172
173
# File 'lib/Words/extractor.rb', line 168

def get_drawing_object_list(folder_name = '', storage_type = 'Aspose', storage_name = '')
  str_uri = "#{@base_uri}/drawingObjects"
  str_uri = Aspose::Cloud::Common::Utils.append_storage(str_uri,folder_name,storage_name,storage_type)
  signed_str_uri = Aspose::Cloud::Common::Utils.sign(str_uri)
  JSON.parse(RestClient.get(signed_str_uri, {:accept=>'application/json'}))['DrawingObjects']['List']
end

#get_drawing_objects(output_path, folder_name = '', storage_type = 'Aspose', storage_name = '') ⇒ Object

Get the List of drawing object from document

@param string output_path Path of the output file.


212
213
214
215
216
217
218
# File 'lib/Words/extractor.rb', line 212

def get_drawing_objects(output_path, folder_name = '', storage_type = 'Aspose', storage_name = '')
  raise 'output_path not specified.' if output_path.empty?

  get_drawing_object_list(folder_name,storage_type,storage_name).each{ |obj|
    self.get_drawing_object(obj['link']['Href'],output_path)
  }
end

#get_image_data(image_index, image_format, folder_name = '', storage_type = 'Aspose', storage_name = '') ⇒ Object

Get the Image drawing object from document

@param number image_index Index of the image.
@param string image_format Return image format.


132
133
134
135
136
137
138
139
140
141
142
143
144
# File 'lib/Words/extractor.rb', line 132

def get_image_data(image_index, image_format, folder_name = '', storage_type = 'Aspose', storage_name = '')
  raise 'image_index not specified.' if image_index.nil?
  raise 'image_format not specified.' if image_format.empty?

  str_uri = "#{@base_uri}/drawingObjects/#{image_index}/imagedata"
  str_uri = Aspose::Cloud::Common::Utils.append_storage(str_uri,folder_name,storage_name,storage_type)
  signed_str_uri = Aspose::Cloud::Common::Utils.sign(str_uri)
  response_stream = RestClient.get(signed_str_uri, {:accept=>'application/json'})

  valid_output = Aspose::Cloud::Common::Utils.validate_output(response_stream)
  output_path = "#{Aspose::Cloud::Common::AsposeApp.output_location}#{Aspose::Cloud::Common::Utils.get_filename(@filename)}_#{image_index}.#{image_format}"
  valid_output.empty? ? Aspose::Cloud::Common::Utils.save_file(response_stream,output_path) : valid_output
end

#get_mail_merge_fields(folder_name = '', storage_type = 'Aspose', storage_name = '') ⇒ Object

Get All Merge Field Names from a Word Document



90
91
92
93
94
95
# File 'lib/Words/extractor.rb', line 90

def get_mail_merge_fields(folder_name = '', storage_type = 'Aspose', storage_name = '')
  str_uri = "#{@base_uri}/mailMergeFieldNames"
  str_uri = Aspose::Cloud::Common::Utils.append_storage(str_uri,folder_name,storage_name,storage_type)
  signed_str_uri = Aspose::Cloud::Common::Utils.sign(str_uri)
  JSON.parse(RestClient.get(signed_str_uri, {:accept=>'application/json'}))['FieldNames']
end

#get_ole_data(ole_index, ole_format, folder_name = '', storage_type = 'Aspose', storage_name = '') ⇒ Object

Get the OLE drawing object from document

@param number index Index of he OLE object.
@param string ole_format Return file format.


113
114
115
116
117
118
119
120
121
122
123
124
125
# File 'lib/Words/extractor.rb', line 113

def get_ole_data(ole_index, ole_format, folder_name = '', storage_type = 'Aspose', storage_name = '')
  raise 'ole_index not specified.' if ole_index.nil?
  raise 'ole_format not specified.' if ole_format.empty?

  str_uri = "#{@base_uri}/drawingObjects/#{ole_index}/oleData"
  str_uri = Aspose::Cloud::Common::Utils.append_storage(str_uri,folder_name,storage_name,storage_type)
  signed_str_uri = Aspose::Cloud::Common::Utils.sign(str_uri)
  response_stream = RestClient.get(signed_str_uri, {:accept=>'application/json'})

  valid_output = Aspose::Cloud::Common::Utils.validate_output(response_stream)
  output_path = "#{Aspose::Cloud::Common::AsposeApp.output_location}#{Aspose::Cloud::Common::Utils.get_filename(@filename)}_#{ole_index}.#{ole_format}"
  valid_output.empty? ? Aspose::Cloud::Common::Utils.save_file(response_stream,output_path) : valid_output
end

#get_paragraph(para_id, folder_name = '', storage_type = 'Aspose', storage_name = '') ⇒ Object

Get a Paragraph from a Word Document

@param number para_id ID of the paragraph.


48
49
50
51
52
53
54
55
# File 'lib/Words/extractor.rb', line 48

def get_paragraph(para_id, folder_name = '', storage_type = 'Aspose', storage_name = '')
  raise 'para_id not specified.' if para_id.nil?

  str_uri = "#{@base_uri}/paragraphs/#{para_id}"
  str_uri = Aspose::Cloud::Common::Utils.append_storage(str_uri,folder_name,storage_name,storage_type)
  signed_str_uri = Aspose::Cloud::Common::Utils.sign(str_uri)
  JSON.parse(RestClient.get(signed_str_uri, {:accept=>'application/json'}))['Paragraph']
end

#get_paragraph_run(para_id, run_index, folder_name = '', storage_type = 'Aspose', storage_name = '') ⇒ Object

Get a specific Run of a Paragraph from a Word Document

@param number para_id ID of the paragraph.
@param number run_index Index of the praragraph run.


62
63
64
65
66
67
68
69
70
# File 'lib/Words/extractor.rb', line 62

def get_paragraph_run(para_id, run_index, folder_name = '', storage_type = 'Aspose', storage_name = '')
  raise 'para_id not specified.' if para_id.nil?
  raise 'run_index not specified.' if run_index.nil?

  str_uri = "#{@base_uri}/paragraphs/#{para_id}/runs/#{run_index}"
  str_uri = Aspose::Cloud::Common::Utils.append_storage(str_uri,folder_name,storage_name,storage_type)
  signed_str_uri = Aspose::Cloud::Common::Utils.sign(str_uri)
  JSON.parse(RestClient.get(signed_str_uri, {:accept=>'application/json'}))['Run']
end

#get_paragraph_run_font(para_id, run_index, folder_name = '', storage_type = 'Aspose', storage_name = '') ⇒ Object

Get Font Information of a Run from a Word Document

@param number para_id ID of the paragraph.
@param number run_index Index of the praragraph run.


77
78
79
80
81
82
83
84
85
# File 'lib/Words/extractor.rb', line 77

def get_paragraph_run_font(para_id, run_index, folder_name = '', storage_type = 'Aspose', storage_name = '')
  raise 'para_id not specified.' if para_id.nil?
  raise 'run_index not specified.' if run_index.nil?

  str_uri = "#{@base_uri}/paragraphs/#{para_id}/runs/#{run_index}/font"
  str_uri = Aspose::Cloud::Common::Utils.append_storage(str_uri,folder_name,storage_name,storage_type)
  signed_str_uri = Aspose::Cloud::Common::Utils.sign(str_uri)
  JSON.parse(RestClient.get(signed_str_uri, {:accept=>'application/json'}))['Font']
end

#get_paragraphs(folder_name = '', storage_type = 'Aspose', storage_name = '') ⇒ Object

Get a List of Paragraphs from a Word Document



37
38
39
40
41
42
# File 'lib/Words/extractor.rb', line 37

def get_paragraphs(folder_name = '', storage_type = 'Aspose', storage_name = '')
  str_uri = "#{@base_uri}/paragraphs"
  str_uri = Aspose::Cloud::Common::Utils.append_storage(str_uri,folder_name,storage_name,storage_type)
  signed_str_uri = Aspose::Cloud::Common::Utils.sign(str_uri)
  JSON.parse(RestClient.get(signed_str_uri, {:accept=>'application/json'}))['Paragraphs']
end

#get_section(section_id, folder_name = '', storage_type = 'Aspose', storage_name = '') ⇒ Object

Get a specific Section from a Word Document

@param number section_id ID of the section.


25
26
27
28
29
30
31
32
# File 'lib/Words/extractor.rb', line 25

def get_section(section_id, folder_name = '', storage_type = 'Aspose', storage_name = '')
  raise 'section_id not specified.' if section_id.nil?

  str_uri = "#{@base_uri}/sections/#{section_id}"
  str_uri = Aspose::Cloud::Common::Utils.append_storage(str_uri,folder_name,storage_name,storage_type)
  signed_str_uri = Aspose::Cloud::Common::Utils.sign(str_uri)
  JSON.parse(RestClient.get(signed_str_uri, {:accept=>'application/json'}))['Section']
end

#get_sections(folder_name = '', storage_type = 'Aspose', storage_name = '') ⇒ Object

Get a List of Sections from a Word Document



14
15
16
17
18
19
# File 'lib/Words/extractor.rb', line 14

def get_sections(folder_name = '', storage_type = 'Aspose', storage_name = '')
  str_uri = "#{@base_uri}/sections"
  str_uri = Aspose::Cloud::Common::Utils.append_storage(str_uri,folder_name,storage_name,storage_type)
  signed_str_uri = Aspose::Cloud::Common::Utils.sign(str_uri)
  JSON.parse(RestClient.get(signed_str_uri, {:accept=>'application/json'}))['Sections']
end

#get_stats(folder_name = '', storage_type = 'Aspose', storage_name = '') ⇒ Object

Get Word and Paragraph Count from Document



223
224
225
226
227
228
# File 'lib/Words/extractor.rb', line 223

def get_stats(folder_name = '', storage_type = 'Aspose', storage_name = '')
  str_uri = "#{@base_uri}/statistics"
  str_uri = Aspose::Cloud::Common::Utils.append_storage(str_uri,folder_name,storage_name,storage_type)
  signed_str_uri = Aspose::Cloud::Common::Utils.sign(str_uri)
  JSON.parse(RestClient.get(signed_str_uri, {:accept=>'application/json'}))['StatData']
end

#get_text(folder_name = '', storage_type = 'Aspose', storage_name = '') ⇒ Object

Gets Text items list from document



100
101
102
103
104
105
# File 'lib/Words/extractor.rb', line 100

def get_text(folder_name = '', storage_type = 'Aspose', storage_name = '')
  str_uri = "#{@base_uri}/textItems"
  str_uri = Aspose::Cloud::Common::Utils.append_storage(str_uri,folder_name,storage_name,storage_type)
  signed_str_uri = Aspose::Cloud::Common::Utils.sign(str_uri)
  JSON.parse(RestClient.get(signed_str_uri, {:accept=>'application/json'}))['TextItems']['List']
end