asposecloud 1.0.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/.gitignore +17 -0
- data/.project +18 -0
- data/Gemfile +4 -0
- data/LICENSE +21 -0
- data/README.md +71 -0
- data/Rakefile +1 -0
- data/Samples/Barcode/Test_Builder.rb +35 -0
- data/Samples/Barcode/Test_Reader.rb +34 -0
- data/Samples/Cells/Test_Converter.rb +34 -0
- data/Samples/Email/Test_Converter.rb +31 -0
- data/Samples/Email/Test_Document.rb +31 -0
- data/Samples/Pdf/Test_Converter.rb +38 -0
- data/Samples/Pdf/Test_TextEditor.rb +33 -0
- data/Samples/Slides/Test_Converter.rb +35 -0
- data/Samples/Storage/Test_Folder.rb +42 -0
- data/Samples/Words/Test_Converter.rb +34 -0
- data/Samples/tasks/Test_Converter.rb +31 -0
- data/Samples/tasks/Test_Document.rb +33 -0
- data/Tests/Data/barcodeQR.png +0 -0
- data/Tests/Data/email_test.eml +21 -0
- data/Tests/Data/email_test_attach.eml +64 -0
- data/Tests/Data/test_convert_cell.xlsx +0 -0
- data/Tests/Data/test_convert_slide.pptx +0 -0
- data/Tests/Data/test_convertlocal.docx +0 -0
- data/Tests/Data/test_convertlocal.pdf +0 -0
- data/Tests/Data/test_file_on_storage.pdf +0 -0
- data/Tests/Data/test_replace_text.pdf +0 -0
- data/Tests/Data/test_tasks.mpp +0 -0
- data/Tests/Data/test_uploadfile.docx +0 -0
- data/Tests/Output/barcodeQR.png +0 -0
- data/Tests/Output/converted_file.doc +0 -0
- data/Tests/Output/converted_file.pdf +0 -0
- data/Tests/Output/converted_file.tiff +0 -0
- data/Tests/Output/email_test.msg +0 -0
- data/Tests/Output/test_convert_slide.png +0 -0
- data/Tests/Output/test_file_on_storage.doc +0 -0
- data/Tests/Output/testfile.jpeg +0 -0
- data/Tests/barcode_tests.rb +45 -0
- data/Tests/cell_tests.rb +41 -0
- data/Tests/email_tests.rb +43 -0
- data/Tests/pdf_tests.rb +76 -0
- data/Tests/slide_tests.rb +41 -0
- data/Tests/storage_tests.rb +86 -0
- data/Tests/tasks_tests.rb +24 -0
- data/Tests/word_tests.rb +34 -0
- data/asposecloud.gemspec +24 -0
- data/lib/Barcode/builder.rb +45 -0
- data/lib/Barcode/reader.rb +65 -0
- data/lib/Cells/chart_editor.rb +91 -0
- data/lib/Cells/convertor.rb +144 -0
- data/lib/Cells/extractor.rb +86 -0
- data/lib/Cells/text_editor.rb +94 -0
- data/lib/Cells/workbook.rb +224 -0
- data/lib/Cells/worksheet.rb +375 -0
- data/lib/Common/aspose_app.rb +51 -0
- data/lib/Common/product.rb +34 -0
- data/lib/Common/utils.rb +172 -0
- data/lib/Email/converter.rb +50 -0
- data/lib/Email/document.rb +67 -0
- data/lib/Ocr/extractor.rb +105 -0
- data/lib/Pdf/annotation_editor.rb +263 -0
- data/lib/Pdf/converter.rb +127 -0
- data/lib/Pdf/document.rb +220 -0
- data/lib/Pdf/extractor.rb +107 -0
- data/lib/Pdf/text_editor.rb +121 -0
- data/lib/Slides/converter.rb +79 -0
- data/lib/Slides/document.rb +208 -0
- data/lib/Slides/extractor.rb +135 -0
- data/lib/Storage/folder.rb +128 -0
- data/lib/Words/builder.rb +82 -0
- data/lib/Words/converter.rb +67 -0
- data/lib/Words/document.rb +117 -0
- data/lib/Words/extractor.rb +153 -0
- data/lib/Words/mail_merge.rb +65 -0
- data/lib/aspose_barcode.rb +21 -0
- data/lib/aspose_cells.rb +24 -0
- data/lib/aspose_common.rb +29 -0
- data/lib/aspose_email.rb +20 -0
- data/lib/aspose_ocr.rb +21 -0
- data/lib/aspose_pdf.rb +23 -0
- data/lib/aspose_slides.rb +21 -0
- data/lib/aspose_storage.rb +19 -0
- data/lib/aspose_tasks.rb +23 -0
- data/lib/aspose_words.rb +23 -0
- data/lib/asposecloud.rb +29 -0
- data/lib/asposecloud/version.rb +3 -0
- data/lib/tasks/assignments.rb +71 -0
- data/lib/tasks/calendar.rb +56 -0
- data/lib/tasks/converter.rb +48 -0
- data/lib/tasks/document.rb +143 -0
- data/lib/tasks/resources.rb +69 -0
- metadata +187 -0
@@ -0,0 +1,135 @@
|
|
1
|
+
# Copyright (c) Aspose 2002-2014. All Rights Reserved.
|
2
|
+
#
|
3
|
+
# LICENSE: This program is free software; you can redistribute it and/or
|
4
|
+
# modify it under the terms of the GNU General Public License
|
5
|
+
# as published by the Free Software Foundation; either version 3
|
6
|
+
# of the License, or (at your option) any later version.
|
7
|
+
# This program is distributed in the hope that it will be useful,
|
8
|
+
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
9
|
+
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
10
|
+
# GNU General Public License for more details.
|
11
|
+
# You should have received a copy of the GNU General Public License
|
12
|
+
# along with this program. If not, see <http://opensource.org/licenses/gpl-3.0.html>;.
|
13
|
+
#
|
14
|
+
# @package Aspose_Cloud_SDK_For_Ruby
|
15
|
+
# @author Assad Mahmood Qazi <assad.mahmood@aspose.com>
|
16
|
+
# @link https://github.com/asposeforcloud/Aspose_Cloud_SDK_For_Ruby/tree/revamp
|
17
|
+
|
18
|
+
module Aspose
|
19
|
+
module Cloud
|
20
|
+
module Slides
|
21
|
+
class Extractor
|
22
|
+
def initialize (filename)
|
23
|
+
@filename = filename
|
24
|
+
raise 'filename not specified.' if filename.empty?
|
25
|
+
@base_uri = Aspose::Cloud::Common::Product.product_uri + '/slides/' + @filename
|
26
|
+
end
|
27
|
+
=begin
|
28
|
+
Gets total number of images in a presentation
|
29
|
+
=end
|
30
|
+
def get_image_count(folder_name = '', storage_type = 'Aspose', storage_name = '')
|
31
|
+
str_uri = "#{@base_uri}/images"
|
32
|
+
str_uri = Aspose::Cloud::Common::Utils.append_storage(str_uri,folder_name,storage_name,storage_type)
|
33
|
+
signed_str_uri = Aspose::Cloud::Common::Utils.sign(str_uri)
|
34
|
+
JSON.parse(RestClient.get(signed_str_uri, {:accept=>'application/json'}))['Images']['List'].length
|
35
|
+
end
|
36
|
+
|
37
|
+
=begin
|
38
|
+
Gets number of images in the specified slide
|
39
|
+
@param number slide_number
|
40
|
+
=end
|
41
|
+
def get_slide_image_count(slide_number, folder_name = '', storage_type = 'Aspose', storage_name = '')
|
42
|
+
raise 'slide_number not specified.' if slide_number <= 0
|
43
|
+
|
44
|
+
str_uri = "#{@base_uri}/slides/#{slide_number}/images"
|
45
|
+
str_uri = Aspose::Cloud::Common::Utils.append_storage(str_uri,folder_name,storage_name,storage_type)
|
46
|
+
signed_str_uri = Aspose::Cloud::Common::Utils.sign(str_uri)
|
47
|
+
JSON.parse(RestClient.get(signed_str_uri, {:accept=>'application/json'}))['Images']['List'].length
|
48
|
+
end
|
49
|
+
=begin
|
50
|
+
Gets all shapes from the specified slide
|
51
|
+
@param number slide_number
|
52
|
+
=end
|
53
|
+
def get_shapes(slide_number, folder_name = '', storage_type = 'Aspose', storage_name = '')
|
54
|
+
raise 'slide_number not specified.' if slide_number <= 0
|
55
|
+
|
56
|
+
str_uri = "#{@base_uri}/slides/#{slide_number}/shapes"
|
57
|
+
str_uri = Aspose::Cloud::Common::Utils.append_storage(str_uri,folder_name,storage_name,storage_type)
|
58
|
+
signed_str_uri = Aspose::Cloud::Common::Utils.sign(str_uri)
|
59
|
+
shapes = Hash.new
|
60
|
+
JSON.parse(RestClient.get(signed_str_uri, {:accept=>'application/json'}))['ShapeList']['ShapesLinks'].each { |item|
|
61
|
+
signed_str_uri = Aspose::Cloud::Common::Utils.sign(item['Uri']['Href'])
|
62
|
+
shapes.push(JSON.parse(RestClient.get(signed_str_uri, {:accept=>'application/json'})))
|
63
|
+
}
|
64
|
+
shapes
|
65
|
+
end
|
66
|
+
|
67
|
+
=begin
|
68
|
+
Get color scheme from the specified slide
|
69
|
+
@param number slide_number
|
70
|
+
=end
|
71
|
+
def get_color_scheme(slide_number, folder_name = '', storage_type = 'Aspose', storage_name = '')
|
72
|
+
raise 'slide_number not specified.' if slide_number <= 0
|
73
|
+
|
74
|
+
str_uri = "#{@base_uri}/slides/#{slide_number}/theme/colorScheme"
|
75
|
+
str_uri = Aspose::Cloud::Common::Utils.append_storage(str_uri,folder_name,storage_name,storage_type)
|
76
|
+
signed_str_uri = Aspose::Cloud::Common::Utils.sign(str_uri)
|
77
|
+
JSON.parse(RestClient.get(signed_str_uri, {:accept=>'application/json'}))['ColorScheme']
|
78
|
+
end
|
79
|
+
=begin
|
80
|
+
Get font scheme from the specified slide
|
81
|
+
@param number slide_number
|
82
|
+
=end
|
83
|
+
def get_font_scheme(slide_number, folder_name = '', storage_type = 'Aspose', storage_name = '')
|
84
|
+
raise 'slide_number not specified.' if slide_number <= 0
|
85
|
+
|
86
|
+
str_uri = "#{@base_uri}/slides/#{slide_number}/theme/fontScheme"
|
87
|
+
str_uri = Aspose::Cloud::Common::Utils.append_storage(str_uri,folder_name,storage_name,storage_type)
|
88
|
+
signed_str_uri = Aspose::Cloud::Common::Utils.sign(str_uri)
|
89
|
+
JSON.parse(RestClient.get(signed_str_uri, {:accept=>'application/json'}))['FontScheme']
|
90
|
+
end
|
91
|
+
|
92
|
+
=begin
|
93
|
+
Get format scheme from the specified slide
|
94
|
+
@param number slide_number
|
95
|
+
=end
|
96
|
+
def get_format_scheme(slide_number, folder_name = '', storage_type = 'Aspose', storage_name = '')
|
97
|
+
raise 'slide_number not specified.' if slide_number <= 0
|
98
|
+
|
99
|
+
str_uri = "#{@base_uri}/slides/#{slide_number}/theme/formatScheme"
|
100
|
+
str_uri = Aspose::Cloud::Common::Utils.append_storage(str_uri,folder_name,storage_name,storage_type)
|
101
|
+
signed_str_uri = Aspose::Cloud::Common::Utils.sign(str_uri)
|
102
|
+
JSON.parse(RestClient.get(signed_str_uri, {:accept=>'application/json'}))['FormatScheme']
|
103
|
+
end
|
104
|
+
|
105
|
+
=begin
|
106
|
+
Gets placeholder count from a particular slide
|
107
|
+
@param number $slideNumber
|
108
|
+
=end
|
109
|
+
def get_placeholder_count(slide_number, folder_name = '', storage_type = 'Aspose', storage_name = '')
|
110
|
+
raise 'slide_number not specified.' if slide_number <= 0
|
111
|
+
|
112
|
+
str_uri = "#{@base_uri}/slides/#{slide_number}/placeholders"
|
113
|
+
str_uri = Aspose::Cloud::Common::Utils.append_storage(str_uri,folder_name,storage_name,storage_type)
|
114
|
+
signed_str_uri = Aspose::Cloud::Common::Utils.sign(str_uri)
|
115
|
+
JSON.parse(RestClient.get(signed_str_uri, {:accept=>'application/json'}))['Placeholders']['PlaceholderLinks'].length
|
116
|
+
end
|
117
|
+
|
118
|
+
=begin
|
119
|
+
Gets placeholder count from a particular slide
|
120
|
+
@param number $slideNumber
|
121
|
+
@param number $placeholderIndex
|
122
|
+
=end
|
123
|
+
def get_placeholder(slide_number, placeholder_index, folder_name = '', storage_type = 'Aspose', storage_name = '')
|
124
|
+
raise 'slide_number not specified.' if slide_number <= 0
|
125
|
+
raise 'placeholder_index not specified.' if placeholder_index.nil?
|
126
|
+
|
127
|
+
str_uri = "#{@base_uri}/slides/#{slide_number}/placeholders/#{placeholder_index}"
|
128
|
+
str_uri = Aspose::Cloud::Common::Utils.append_storage(str_uri,folder_name,storage_name,storage_type)
|
129
|
+
signed_str_uri = Aspose::Cloud::Common::Utils.sign(str_uri)
|
130
|
+
JSON.parse(RestClient.get(signed_str_uri, {:accept=>'application/json'}))['Placeholder']
|
131
|
+
end
|
132
|
+
end
|
133
|
+
end
|
134
|
+
end
|
135
|
+
end
|
@@ -0,0 +1,128 @@
|
|
1
|
+
# Copyright (c) Aspose 2002-2014. All Rights Reserved.
|
2
|
+
#
|
3
|
+
# LICENSE: This program is free software; you can redistribute it and/or
|
4
|
+
# modify it under the terms of the GNU General Public License
|
5
|
+
# as published by the Free Software Foundation; either version 3
|
6
|
+
# of the License, or (at your option) any later version.
|
7
|
+
# This program is distributed in the hope that it will be useful,
|
8
|
+
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
9
|
+
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
10
|
+
# GNU General Public License for more details.
|
11
|
+
# You should have received a copy of the GNU General Public License
|
12
|
+
# along with this program. If not, see <http://opensource.org/licenses/gpl-3.0.html>;.
|
13
|
+
#
|
14
|
+
# @package Aspose_Cloud_SDK_For_Ruby
|
15
|
+
# @author Assad Mahmood Qazi <assad.mahmood@aspose.com>
|
16
|
+
# @link https://github.com/asposeforcloud/Aspose_Cloud_SDK_For_Ruby/tree/revamp
|
17
|
+
|
18
|
+
module Aspose
|
19
|
+
module Cloud
|
20
|
+
module AsposeStorage
|
21
|
+
# This class provides functionality to manage files in a Remote Aspose Folder
|
22
|
+
class Folder
|
23
|
+
|
24
|
+
def initialize
|
25
|
+
@str_uri_folder = Aspose::Cloud::Common::Product.product_uri + '/storage/folder/'
|
26
|
+
@str_uri_file = Aspose::Cloud::Common::Product.product_uri + '/storage/file/'
|
27
|
+
@str_uri_exist = Aspose::Cloud::Common::Product.product_uri + '/storage/exist/'
|
28
|
+
@str_uri_disc = Aspose::Cloud::Common::Product.product_uri + '/storage/disc/'
|
29
|
+
end
|
30
|
+
|
31
|
+
# Uploads file from the local path to the remote folder.
|
32
|
+
# * :localFilePath represents full local file path and name
|
33
|
+
# * :remoteFolderPath represents remote folder relative to the root. Pass empty string for the root folder.
|
34
|
+
def upload_file(local_file, remote_folder='', storage_type='Aspose', storage_name='')
|
35
|
+
raise 'Local file not specified' if local_file.empty?
|
36
|
+
|
37
|
+
filename = File.basename(local_file)
|
38
|
+
str_uri = "#{ Aspose::Cloud::Common::Product.product_uri }/storage/file/#{ remote_folder + '/' unless remote_folder.empty? }#{ filename }"
|
39
|
+
str_uri = Aspose::Cloud::Common::Utils.append_storage(str_uri,'',storage_name,storage_type)
|
40
|
+
|
41
|
+
signeduri = Aspose::Cloud::Common::Utils.sign(str_uri)
|
42
|
+
response = JSON.parse(Aspose::Cloud::Common::Utils.upload_file_binary(local_file, signeduri))
|
43
|
+
response['Status'].eql? 'OK'
|
44
|
+
end
|
45
|
+
|
46
|
+
|
47
|
+
# Retrieves Files and Folder information from a remote folder. The method returns an Array of AppFile objects.
|
48
|
+
# * :remoteFolderPath represents remote folder relative to the root. Pass empty string for the root folder.
|
49
|
+
def get_files(remote_folder_path='', storage_type='Aspose', storage_name='')
|
50
|
+
str_uri = @str_uri_folder + remote_folder_path
|
51
|
+
str_uri = str_uri[0..-2] if str_uri[-1].eql? '/'
|
52
|
+
str_uri = Aspose::Cloud::Common::Utils.append_storage(str_uri,'',storage_name,storage_type)
|
53
|
+
|
54
|
+
signed_uri = Aspose::Cloud::Common::Utils.sign(str_uri)
|
55
|
+
response = RestClient.get(signed_uri, :accept => 'application/json')
|
56
|
+
|
57
|
+
JSON.parse(response)['Files']
|
58
|
+
end
|
59
|
+
|
60
|
+
# check if a file exists on the storage
|
61
|
+
def file_exists(filename, storage_type = 'Aspose', storage_name = '')
|
62
|
+
raise('Filename cannot be empty') if filename.empty?
|
63
|
+
|
64
|
+
str_uri = @str_uri_exist + filename
|
65
|
+
str_uri = Aspose::Cloud::Common::Utils.append_storage(str_uri,'',storage_name,storage_type)
|
66
|
+
|
67
|
+
signed_str_uri = Aspose::Cloud::Common::Utils.sign(str_uri)
|
68
|
+
|
69
|
+
response_stream = RestClient.get(signed_str_uri, {:accept => 'application/json'})
|
70
|
+
JSON.parse(response_stream)['FileExist']['IsExist']
|
71
|
+
end
|
72
|
+
|
73
|
+
def delete_file(filename, storage_type = 'Aspose', storage_name = '')
|
74
|
+
raise 'File name cannot be empty' if filename.empty?
|
75
|
+
|
76
|
+
str_uri = @str_uri_file + filename
|
77
|
+
str_uri = Aspose::Cloud::Common::Utils.append_storage(str_uri,'',storage_name,storage_type)
|
78
|
+
|
79
|
+
signed_str_uri = Aspose::Cloud::Common::Utils.sign(str_uri)
|
80
|
+
|
81
|
+
response_stream = RestClient.delete(signed_str_uri, {:accept => 'application/json'})
|
82
|
+
JSON.parse(response_stream)['Code'].eql? 200
|
83
|
+
end
|
84
|
+
|
85
|
+
def create_folder (folder_name, storage_type = 'Aspose', storage_name='')
|
86
|
+
raise 'Folder name cannot be empty' if folder_name.empty?
|
87
|
+
str_uri = @str_uri_folder + folder_name
|
88
|
+
str_uri = Aspose::Cloud::Common::Utils.append_storage(str_uri,'',storage_name,storage_type)
|
89
|
+
|
90
|
+
signed_uri = Aspose::Cloud::Common::Utils.sign(str_uri)
|
91
|
+
response = RestClient.put(signed_uri, '', :accept => :json)
|
92
|
+
JSON.parse(response)['Code'].eql? 200
|
93
|
+
end
|
94
|
+
|
95
|
+
def delete_folder (folder_name, storage_type = 'Aspose', storage_name='')
|
96
|
+
raise 'Folder name cannot be empty' if folder_name.empty?
|
97
|
+
str_uri = @str_uri_folder + folder_name
|
98
|
+
str_uri = Aspose::Cloud::Common::Utils.append_storage(str_uri,'',storage_name,storage_type)
|
99
|
+
|
100
|
+
signed_uri = Aspose::Cloud::Common::Utils.sign(str_uri)
|
101
|
+
response = RestClient.delete(signed_uri, :accept => 'application/json')
|
102
|
+
JSON.parse(response)['Code'].eql? 200
|
103
|
+
end
|
104
|
+
|
105
|
+
def get_disc_usage (storage_type = 'Aspose', storage_name = '')
|
106
|
+
str_uri = @str_uri_disc
|
107
|
+
str_uri = Aspose::Cloud::Common::Utils.append_storage(str_uri,'',storage_name,storage_type)
|
108
|
+
|
109
|
+
signed_uri = Aspose::Cloud::Common::Utils.sign(str_uri)
|
110
|
+
response = RestClient.get(signed_uri, :accept => 'application/json')
|
111
|
+
JSON.parse(response)['DiscUsage']
|
112
|
+
end
|
113
|
+
|
114
|
+
# Get file from storage
|
115
|
+
def get_file (file_name, storage_type = 'Aspose', storage_name = '')
|
116
|
+
raise 'Filename cannot be empty' if file_name.empty?
|
117
|
+
|
118
|
+
str_uri = @str_uri_file + file_name
|
119
|
+
str_uri += append_storage(storage_name) unless storage_type.eql? 'Aspose'
|
120
|
+
str_uri = Aspose::Cloud::Common::Utils.append_storage(str_uri,'',storage_name,storage_type)
|
121
|
+
|
122
|
+
signed_uri = Aspose::Cloud::Common::Utils.sign(str_uri)
|
123
|
+
RestClient.get(signed_uri, :accept => 'application/json')
|
124
|
+
end
|
125
|
+
end #Class Ends Here
|
126
|
+
end
|
127
|
+
end
|
128
|
+
end
|
@@ -0,0 +1,82 @@
|
|
1
|
+
# Copyright (c) Aspose 2002-2014. All Rights Reserved.
|
2
|
+
#
|
3
|
+
# LICENSE: This program is free software; you can redistribute it and/or
|
4
|
+
# modify it under the terms of the GNU General Public License
|
5
|
+
# as published by the Free Software Foundation; either version 3
|
6
|
+
# of the License, or (at your option) any later version.
|
7
|
+
# This program is distributed in the hope that it will be useful,
|
8
|
+
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
9
|
+
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
10
|
+
# GNU General Public License for more details.
|
11
|
+
# You should have received a copy of the GNU General Public License
|
12
|
+
# along with this program. If not, see <http://opensource.org/licenses/gpl-3.0.html>;.
|
13
|
+
#
|
14
|
+
# @package Aspose_Cloud_SDK_For_Ruby
|
15
|
+
# @author Assad Mahmood Qazi <assad.mahmood@aspose.com>
|
16
|
+
# @link https://github.com/asposeforcloud/Aspose_Cloud_SDK_For_Ruby/tree/revamp
|
17
|
+
|
18
|
+
module Aspose
|
19
|
+
module Cloud
|
20
|
+
module Words
|
21
|
+
class Builder
|
22
|
+
def initialize(filename)
|
23
|
+
@filename = filename
|
24
|
+
raise 'filename not specified.' if filename.empty?
|
25
|
+
@base_uri = Aspose::Cloud::Common::Product.product_uri + '/words/' + @filename
|
26
|
+
end
|
27
|
+
|
28
|
+
=begin
|
29
|
+
Inserts water mark text into the document.
|
30
|
+
@param string text
|
31
|
+
@param string rotation_angle
|
32
|
+
=end
|
33
|
+
def insert_watermark_text(text, rotation_angle, folder_name = '', storage_type = 'Aspose', storage_name = '')
|
34
|
+
raise 'text not specified.' if text.empty?
|
35
|
+
raise 'rotation_angle not specified.' if rotation_angle.nil?
|
36
|
+
|
37
|
+
json_data = {:Text => text, :RotationAngle => rotation_angle}.to_json
|
38
|
+
str_uri = "#{@base_uri}/insertWatermarkText"
|
39
|
+
signed_str_uri = Aspose::Cloud::Common::Utils.sign(str_uri)
|
40
|
+
response_stream = RestClient.post(signed_str_uri, json_data, {:content_type => :json, :accept => 'application/json'})
|
41
|
+
valid_output = Aspose::Cloud::Common::Utils.validate_output(response_stream)
|
42
|
+
valid_output.empty? ? Aspose::Cloud::Common::Utils.download_file(@filename,@filename,folder_name,storage_name,storage_type) : valid_output
|
43
|
+
end
|
44
|
+
|
45
|
+
=begin
|
46
|
+
Inserts water mark image into the document.
|
47
|
+
@param string image_file
|
48
|
+
@param string rotation_angle
|
49
|
+
=end
|
50
|
+
def insert_watermark_image(image_file, rotation_angle, folder_name = '', storage_type = 'Aspose', storage_name = '')
|
51
|
+
raise 'image_file not specified.' if image_file.empty?
|
52
|
+
raise 'rotation_angle not specified.' if rotation_angle.nil?
|
53
|
+
|
54
|
+
str_uri = "#{@base_uri}/insertWatermarkImage?imageFile=#{image_file}&rotationAngle=#{rotation_angle}"
|
55
|
+
signed_str_uri = Aspose::Cloud::Common::Utils.sign(str_uri)
|
56
|
+
response_stream = RestClient.post(signed_str_uri, '', {:content_type => :json, :accept => 'application/json'})
|
57
|
+
valid_output = Aspose::Cloud::Common::Utils.validate_output(response_stream)
|
58
|
+
valid_output.empty? ? Aspose::Cloud::Common::Utils.download_file(@filename,@filename,folder_name,storage_name,storage_type) : valid_output
|
59
|
+
end
|
60
|
+
|
61
|
+
=begin
|
62
|
+
Replace a text with the new value in the document
|
63
|
+
@param string old_value
|
64
|
+
@param string new_value
|
65
|
+
@param string is_match_case
|
66
|
+
@param string is_match_whole_word
|
67
|
+
=end
|
68
|
+
def replace_text(old_text, new_text, is_match_case = false, is_match_whole_word = false, folder_name = '', storage_type = 'Aspose', storage_name = '')
|
69
|
+
raise 'old_text not specified.' if old_text.empty?
|
70
|
+
raise 'new_text not specified.' if new_text.nil?
|
71
|
+
|
72
|
+
json_data = {:OldValue => old_text, :NewValue => new_text, :IsMatchCase => is_match_case, :IsMatchWholeWord => is_match_whole_word}.to_json
|
73
|
+
str_uri = "#{@base_uri}/replaceText"
|
74
|
+
signed_str_uri = Aspose::Cloud::Common::Utils.sign(str_uri)
|
75
|
+
response_stream = RestClient.post(signed_str_uri, json_data, {:content_type => :json, :accept => 'application/json'})
|
76
|
+
valid_output = Aspose::Cloud::Common::Utils.validate_output(response_stream)
|
77
|
+
valid_output.empty? ? Aspose::Cloud::Common::Utils.download_file(@filename,@filename,folder_name,storage_name,storage_type) : valid_output
|
78
|
+
end
|
79
|
+
end
|
80
|
+
end
|
81
|
+
end
|
82
|
+
end
|
@@ -0,0 +1,67 @@
|
|
1
|
+
# Copyright (c) Aspose 2002-2014. All Rights Reserved.
|
2
|
+
#
|
3
|
+
# LICENSE: This program is free software; you can redistribute it and/or
|
4
|
+
# modify it under the terms of the GNU General Public License
|
5
|
+
# as published by the Free Software Foundation; either version 3
|
6
|
+
# of the License, or (at your option) any later version.
|
7
|
+
# This program is distributed in the hope that it will be useful,
|
8
|
+
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
9
|
+
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
10
|
+
# GNU General Public License for more details.
|
11
|
+
# You should have received a copy of the GNU General Public License
|
12
|
+
# along with this program. If not, see <http://opensource.org/licenses/gpl-3.0.html>;.
|
13
|
+
#
|
14
|
+
# @package Aspose_Cloud_SDK_For_Ruby
|
15
|
+
# @author Assad Mahmood Qazi <assad.mahmood@aspose.com>
|
16
|
+
# @link https://github.com/asposeforcloud/Aspose_Cloud_SDK_For_Ruby/tree/revamp
|
17
|
+
|
18
|
+
module Aspose
|
19
|
+
module Cloud
|
20
|
+
module Words
|
21
|
+
class Converter
|
22
|
+
def initialize(filename)
|
23
|
+
@filename = filename
|
24
|
+
raise 'filename not specified.' if filename.empty?
|
25
|
+
@base_uri = Aspose::Cloud::Common::Product.product_uri + '/words/' + @filename
|
26
|
+
end
|
27
|
+
|
28
|
+
def convert(save_format, folder_name = '', storage_type = 'Aspose', storage_name = '')
|
29
|
+
raise 'save_format not specified.' if save_format.empty?
|
30
|
+
|
31
|
+
str_uri = "#{@base_uri}?format=#{save_format}"
|
32
|
+
str_uri = Aspose::Cloud::Common::Utils.append_storage(str_uri,folder_name,storage_name,storage_type)
|
33
|
+
signed_str_uri = Aspose::Cloud::Common::Utils.sign(str_uri)
|
34
|
+
response_stream = RestClient.get(signed_str_uri, {:accept=>'application/json'})
|
35
|
+
|
36
|
+
valid_output = Aspose::Cloud::Common::Utils.validate_output(response_stream)
|
37
|
+
|
38
|
+
if valid_output.empty?
|
39
|
+
output_path = "#{Aspose::Cloud::Common::AsposeApp.output_location}#{Aspose::Cloud::Common::Utils.get_filename(@filename)}.#{save_format}"
|
40
|
+
Aspose::Cloud::Common::Utils.save_file(response_stream,output_path)
|
41
|
+
else
|
42
|
+
valid_output
|
43
|
+
end
|
44
|
+
end
|
45
|
+
|
46
|
+
def convert_local_file(input_file_path, output_filename, save_format)
|
47
|
+
raise 'input_file_path not specified.' if input_file_path.empty?
|
48
|
+
raise 'output_filename not specified.' if output_filename.empty?
|
49
|
+
raise 'save_format not specified.' if save_format.empty?
|
50
|
+
|
51
|
+
str_uri = "#{Aspose::Cloud::Common::Product.product_uri}/words/convert?format=#{save_format}"
|
52
|
+
signed_str_uri = Aspose::Cloud::Common::Utils.sign(str_uri)
|
53
|
+
response_stream = Aspose::Cloud::Common::Utils.upload_file_binary(input_file_path, signed_str_uri)
|
54
|
+
|
55
|
+
valid_output = Aspose::Cloud::Common::Utils.validate_output(response_stream)
|
56
|
+
|
57
|
+
if valid_output.empty?
|
58
|
+
save_format = 'zip' if save_format.eql?('html')
|
59
|
+
output_path = "#{Aspose::Cloud::Common::AsposeApp.output_location}#{Aspose::Cloud::Common::Utils.get_filename(output_filename)}.#{save_format}"
|
60
|
+
Aspose::Cloud::Common::Utils.save_file(response_stream,output_path)
|
61
|
+
end
|
62
|
+
valid_output
|
63
|
+
end
|
64
|
+
end
|
65
|
+
end
|
66
|
+
end
|
67
|
+
end
|
@@ -0,0 +1,117 @@
|
|
1
|
+
# Copyright (c) Aspose 2002-2014. All Rights Reserved.
|
2
|
+
#
|
3
|
+
# LICENSE: This program is free software; you can redistribute it and/or
|
4
|
+
# modify it under the terms of the GNU General Public License
|
5
|
+
# as published by the Free Software Foundation; either version 3
|
6
|
+
# of the License, or (at your option) any later version.
|
7
|
+
# This program is distributed in the hope that it will be useful,
|
8
|
+
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
9
|
+
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
10
|
+
# GNU General Public License for more details.
|
11
|
+
# You should have received a copy of the GNU General Public License
|
12
|
+
# along with this program. If not, see <http://opensource.org/licenses/gpl-3.0.html>;.
|
13
|
+
#
|
14
|
+
# @package Aspose_Cloud_SDK_For_Ruby
|
15
|
+
# @author Assad Mahmood Qazi <assad.mahmood@aspose.com>
|
16
|
+
# @link https://github.com/asposeforcloud/Aspose_Cloud_SDK_For_Ruby/tree/revamp
|
17
|
+
|
18
|
+
module Aspose
|
19
|
+
module Cloud
|
20
|
+
module Words
|
21
|
+
class Document
|
22
|
+
def initialize(filename)
|
23
|
+
@filename = filename
|
24
|
+
raise 'filename not specified.' if filename.empty?
|
25
|
+
@base_uri = "#{Aspose::Cloud::Common::Product.product_uri}/words/#{@filename}"
|
26
|
+
end
|
27
|
+
|
28
|
+
=begin
|
29
|
+
Appends a list of documents to this one.
|
30
|
+
@param string append_docs
|
31
|
+
@param import_format_modes
|
32
|
+
@param source_folder
|
33
|
+
=end
|
34
|
+
def append_document(append_docs, import_format_modes, folder_name = '', storage_type = 'Aspose', storage_name = '')
|
35
|
+
raise 'append_docs not specified.' if append_docs.empty?
|
36
|
+
raise 'import_format_modes not specified.' if import_format_modes.empty?
|
37
|
+
|
38
|
+
docs = Array.new
|
39
|
+
append_docs.to_enum.with_index(0).each { |item,i|
|
40
|
+
docs.push({ :Href => folder_name.empty? ? item : "#{folder_name}/#{item}", :ImportFormatMode => import_format_modes[i] })
|
41
|
+
}
|
42
|
+
json_data = JSON.generate({:DocumentEntries => docs})
|
43
|
+
|
44
|
+
str_uri = "#{@base_uri}/appendDocument"
|
45
|
+
str_uri = Aspose::Cloud::Common::Utils.append_storage(str_uri,'',storage_name,storage_type)
|
46
|
+
signed_str_uri = Aspose::Cloud::Common::Utils.sign(str_uri)
|
47
|
+
response_stream = RestClient.post(signed_str_uri, json_data, {:content_type=>:json, :accept=>'application/json'})
|
48
|
+
valid_output = Aspose::Cloud::Common::Utils.validate_output(response_stream)
|
49
|
+
valid_output.empty? ? Aspose::Cloud::Common::Utils.download_file(@filename,@filename,folder_name,storage_name,storage_type) : valid_output
|
50
|
+
end
|
51
|
+
|
52
|
+
=begin
|
53
|
+
Get Resource Properties information like document source format, IsEncrypted, IsSigned and document properties
|
54
|
+
=end
|
55
|
+
|
56
|
+
def get_document_info(folder_name = '', storage_type = 'Aspose', storage_name = '')
|
57
|
+
str_uri = Aspose::Cloud::Common::Utils.append_storage(@base_uri,folder_name,storage_name,storage_type)
|
58
|
+
signed_str_uri = Aspose::Cloud::Common::Utils.sign(str_uri)
|
59
|
+
JSON.parse(RestClient.get(signed_str_uri, {:accept => 'application/json'}))['Document']
|
60
|
+
end
|
61
|
+
|
62
|
+
=begin
|
63
|
+
Get Resource Properties information like document source format, IsEncrypted, IsSigned and document properties
|
64
|
+
@param string property_name
|
65
|
+
=end
|
66
|
+
def get_property(property_name, folder_name = '', storage_type = 'Aspose', storage_name = '')
|
67
|
+
raise 'property_name not specified.' if property_name.empty?
|
68
|
+
|
69
|
+
str_uri = "#{@base_uri}/documentProperties/#{property_name}"
|
70
|
+
str_uri = Aspose::Cloud::Common::Utils.append_storage(str_uri,folder_name,storage_name,storage_type)
|
71
|
+
signed_str_uri = Aspose::Cloud::Common::Utils.sign(str_uri)
|
72
|
+
JSON.parse(RestClient.get(signed_str_uri, {:accept=>'application/json'}))['DocumentProperty']
|
73
|
+
end
|
74
|
+
|
75
|
+
=begin
|
76
|
+
Set document property
|
77
|
+
@param string property_name
|
78
|
+
@param string property_value
|
79
|
+
=end
|
80
|
+
def set_property(property_name, property_value, folder_name = '', storage_type = 'Aspose', storage_name = '')
|
81
|
+
raise 'property_name not specified.' if property_name.empty?
|
82
|
+
raise 'property_value not specified.' if property_value.empty?
|
83
|
+
|
84
|
+
json_data = JSON.generate('Value'=>property_value)
|
85
|
+
|
86
|
+
str_uri = "#{@base_uri}/documentProperties/#{property_name}"
|
87
|
+
str_uri = Aspose::Cloud::Common::Utils.append_storage(str_uri,folder_name,storage_name,storage_type)
|
88
|
+
signed_str_uri = Aspose::Cloud::Common::Utils.sign(str_uri)
|
89
|
+
JSON.parse(RestClient.put(signed_str_uri, json_data, {:content_type=>:json, :accept=>'application/json'}))['DocumentProperty']
|
90
|
+
end
|
91
|
+
|
92
|
+
=begin
|
93
|
+
Delete a document property
|
94
|
+
@param string property_name
|
95
|
+
=end
|
96
|
+
def delete_property(property_name, folder_name = '', storage_type = 'Aspose', storage_name = '')
|
97
|
+
raise 'property_name not specified.' if property_name.empty?
|
98
|
+
|
99
|
+
str_uri = "#{@base_uri}/documentProperties/#{property_name}"
|
100
|
+
str_uri = Aspose::Cloud::Common::Utils.append_storage(str_uri,folder_name,storage_name,storage_type)
|
101
|
+
signed_str_uri = Aspose::Cloud::Common::Utils.sign(str_uri)
|
102
|
+
JSON.parse(RestClient.delete(signed_str_uri, {:accept=>'application/json'}))['Code'] == 200 ? true : false
|
103
|
+
end
|
104
|
+
|
105
|
+
=begin
|
106
|
+
Get Document's properties
|
107
|
+
=end
|
108
|
+
def get_properties(folder_name = '', storage_type = 'Aspose', storage_name = '')
|
109
|
+
str_uri = "#{@base_uri}/documentProperties"
|
110
|
+
str_uri = Aspose::Cloud::Common::Utils.append_storage(str_uri,folder_name,storage_name,storage_type)
|
111
|
+
signed_str_uri = Aspose::Cloud::Common::Utils.sign(str_uri)
|
112
|
+
JSON.parse(RestClient.get(signed_str_uri, {:accept=>'application/json'}))['DocumentProperties']['List']
|
113
|
+
end
|
114
|
+
end
|
115
|
+
end
|
116
|
+
end
|
117
|
+
end
|