Class: Aspose::Cloud::Slides::Extractor

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

Instance Method Summary collapse

Constructor Details

#initialize(filename) ⇒ Extractor

Returns a new instance of Extractor.



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

def initialize (filename)
  @filename = filename
  raise 'filename not specified.' if filename.empty?
  @base_uri =  Aspose::Cloud::Common::Product.product_uri + '/slides/' + @filename
end

Instance Method Details

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

Get color scheme from the specified slide @param number slide_number



72
73
74
75
76
77
78
79
# File 'lib/Slides/extractor.rb', line 72

def get_color_scheme(slide_number, folder_name = '', storage_type = 'Aspose', storage_name = '')
  raise 'slide_number not specified.' if slide_number <= 0

  str_uri = "#{@base_uri}/slides/#{slide_number}/theme/colorScheme"
  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'}))['ColorScheme']
end

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

Get Comments of a PowerPoint Slide

@param number slide_number


138
139
140
141
142
143
144
145
146
147
148
# File 'lib/Slides/extractor.rb', line 138

def get_comments(slide_number, folder_name = '', storage_type = 'Aspose', storage_name = '')
  raise 'slide_number not specified.' if slide_number <= 0

  str_uri = "#{@base_uri}/slides/#{slide_number}/comments"
  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 = RestClient.get(signed_str_uri, {:accept=>'application/json'})
  json = JSON.parse(response)
  json['Code'] == 200 ? json['SlideComments'] : nil
end

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

Get font scheme from the specified slide @param number slide_number



84
85
86
87
88
89
90
91
# File 'lib/Slides/extractor.rb', line 84

def get_font_scheme(slide_number, folder_name = '', storage_type = 'Aspose', storage_name = '')
  raise 'slide_number not specified.' if slide_number <= 0

  str_uri = "#{@base_uri}/slides/#{slide_number}/theme/fontScheme"
  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'}))['FontScheme']
end

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

Get format scheme from the specified slide @param number slide_number



97
98
99
100
101
102
103
104
# File 'lib/Slides/extractor.rb', line 97

def get_format_scheme(slide_number, folder_name = '', storage_type = 'Aspose', storage_name = '')
  raise 'slide_number not specified.' if slide_number <= 0

  str_uri = "#{@base_uri}/slides/#{slide_number}/theme/formatScheme"
  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'}))['FormatScheme']
end

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

Gets total number of images in a presentation



13
14
15
16
17
18
# File 'lib/Slides/extractor.rb', line 13

def get_image_count(folder_name = '', storage_type = 'Aspose', storage_name = '')
  str_uri = "#{@base_uri}/images"
  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'}))['Images']['List'].length
end

#get_placeholder(slide_number, placeholder_index, folder_name = '', storage_type = 'Aspose', storage_name = '') ⇒ Object

Gets placeholder count from a particular slide @param number $slideNumber @param number $placeholderIndex



124
125
126
127
128
129
130
131
132
# File 'lib/Slides/extractor.rb', line 124

def get_placeholder(slide_number, placeholder_index, folder_name = '', storage_type = 'Aspose', storage_name = '')
  raise 'slide_number not specified.' if slide_number <= 0
  raise 'placeholder_index not specified.' if placeholder_index.nil?

  str_uri = "#{@base_uri}/slides/#{slide_number}/placeholders/#{placeholder_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'}))['Placeholder']
end

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

Gets placeholder count from a particular slide @param number $slideNumber



110
111
112
113
114
115
116
117
# File 'lib/Slides/extractor.rb', line 110

def get_placeholder_count(slide_number, folder_name = '', storage_type = 'Aspose', storage_name = '')
  raise 'slide_number not specified.' if slide_number <= 0

  str_uri = "#{@base_uri}/slides/#{slide_number}/placeholders"
  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'}))['Placeholders']['PlaceholderLinks'].length
end

#get_shape(slide_number, shape_index, folder_name = '', storage_type = 'Aspose', storage_name = '') ⇒ Object

Get a Particular Shape from the Slide @param number slide_number

@param number shape_index


55
56
57
58
59
60
61
62
63
64
65
66
# File 'lib/Slides/extractor.rb', line 55

def get_shape(slide_number, shape_index, folder_name = '', storage_type = 'Aspose', storage_name = '')
  raise 'slide_number not specified.' if slide_number <= 0
  raise 'shape_index not specified.' if shape_index.nil?

  str_uri = "#{@base_uri}/slides/#{slide_number}/shapes/#{shape_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)

  response = RestClient.get(signed_str_uri, {:accept=>'application/json'})
  json = JSON.parse(response)
  json['Code'] == 200 ? json['Shape'] : nil
end

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

Gets all shapes from the specified slide @param number slide_number



36
37
38
39
40
41
42
43
44
45
46
47
48
# File 'lib/Slides/extractor.rb', line 36

def get_shapes(slide_number, folder_name = '', storage_type = 'Aspose', storage_name = '')
  raise 'slide_number not specified.' if slide_number <= 0

  str_uri = "#{@base_uri}/slides/#{slide_number}/shapes"
  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)
  shapes = Array.new
  JSON.parse(RestClient.get(signed_str_uri, {:accept=>'application/json'}))['ShapeList']['ShapesLinks'].each { |item|
    signed_str_uri = Aspose::Cloud::Common::Utils.sign(item['Uri']['Href'])
    shapes.push(JSON.parse(RestClient.get(signed_str_uri, {:accept=>'application/json'})))
  }
  shapes
end

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

Gets number of images in the specified slide @param number slide_number



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

def get_slide_image_count(slide_number, folder_name = '', storage_type = 'Aspose', storage_name = '')
  raise 'slide_number not specified.' if slide_number <= 0

  str_uri = "#{@base_uri}/slides/#{slide_number}/images"
  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'}))['Images']['List'].length
end