groupdocs 1.5.0 → 1.5.1
Sign up to get free protection for your applications and to get access to all the features.
- data/CHANGELOG.md +6 -0
- data/examples/api-samples/README.md +1 -1
- data/examples/api-samples/public/css/style.css +2 -2
- data/examples/api-samples/public/docs/annotation-sample.html +57 -0
- data/examples/api-samples/public/docs/envelope-sample.html +32 -32
- data/examples/api-samples/public/docs/sample1.html +3 -3
- data/examples/api-samples/public/docs/sample10.html +25 -24
- data/examples/api-samples/public/docs/sample11.html +17 -17
- data/examples/api-samples/public/docs/sample12.html +4 -4
- data/examples/api-samples/public/docs/sample13.html +5 -5
- data/examples/api-samples/public/docs/sample14.html +5 -5
- data/examples/api-samples/public/docs/sample15.html +4 -4
- data/examples/api-samples/public/docs/sample16.html +3 -3
- data/examples/api-samples/public/docs/sample17.html +3 -3
- data/examples/api-samples/public/docs/sample18.html +129 -34
- data/examples/api-samples/public/docs/sample19.html +59 -0
- data/examples/api-samples/public/docs/sample2.html +5 -5
- data/examples/api-samples/public/docs/sample20.html +51 -0
- data/examples/api-samples/public/docs/sample21.html +66 -0
- data/examples/api-samples/public/docs/sample22.html +53 -0
- data/examples/api-samples/public/docs/sample3.html +4 -4
- data/examples/api-samples/public/docs/sample4.html +27 -16
- data/examples/api-samples/public/docs/sample5.html +29 -22
- data/examples/api-samples/public/docs/sample6.html +6 -6
- data/examples/api-samples/public/docs/sample7.html +8 -8
- data/examples/api-samples/public/docs/sample8.html +31 -23
- data/examples/api-samples/public/docs/sample9.html +26 -8
- data/examples/api-samples/public/templates/merge_feid_doc.docx +0 -0
- data/examples/api-samples/samples/annotation-sample.rb +22 -16
- data/examples/api-samples/samples/envelope-sample.rb +26 -25
- data/examples/api-samples/samples/sample1.rb +2 -2
- data/examples/api-samples/samples/sample10.rb +21 -20
- data/examples/api-samples/samples/sample11.rb +18 -18
- data/examples/api-samples/samples/sample12.rb +3 -3
- data/examples/api-samples/samples/sample13.rb +4 -4
- data/examples/api-samples/samples/sample14.rb +4 -4
- data/examples/api-samples/samples/sample15.rb +3 -3
- data/examples/api-samples/samples/sample16.rb +2 -2
- data/examples/api-samples/samples/sample17.rb +2 -2
- data/examples/api-samples/samples/sample18.rb +90 -106
- data/examples/api-samples/samples/sample19.rb +5 -5
- data/examples/api-samples/samples/sample2.rb +4 -4
- data/examples/api-samples/samples/sample20.rb +4 -4
- data/examples/api-samples/samples/sample21.rb +4 -4
- data/examples/api-samples/samples/sample22.rb +2 -2
- data/examples/api-samples/samples/sample23.rb +0 -0
- data/examples/api-samples/samples/sample24.rb +0 -0
- data/examples/api-samples/samples/sample25.rb +96 -0
- data/examples/api-samples/samples/sample3.rb +3 -3
- data/examples/api-samples/samples/sample4.rb +23 -12
- data/examples/api-samples/samples/sample5.rb +23 -16
- data/examples/api-samples/samples/sample6.rb +8 -8
- data/examples/api-samples/samples/sample7.rb +7 -7
- data/examples/api-samples/samples/sample8.rb +29 -21
- data/examples/api-samples/samples/sample9.rb +23 -5
- data/examples/api-samples/views/_others_samples.haml +57 -0
- data/examples/api-samples/views/annotation_sample.haml +30 -30
- data/examples/api-samples/views/envelope_sample.haml +31 -31
- data/examples/api-samples/views/index.haml +33 -25
- data/examples/api-samples/views/sample1.haml +22 -69
- data/examples/api-samples/views/sample10.haml +57 -73
- data/examples/api-samples/views/sample11.haml +31 -79
- data/examples/api-samples/views/sample12.haml +18 -66
- data/examples/api-samples/views/sample13.haml +21 -70
- data/examples/api-samples/views/sample14.haml +18 -67
- data/examples/api-samples/views/sample15.haml +15 -63
- data/examples/api-samples/views/sample16.haml +13 -61
- data/examples/api-samples/views/sample17.haml +19 -67
- data/examples/api-samples/views/sample18.haml +74 -159
- data/examples/api-samples/views/sample19.haml +25 -74
- data/examples/api-samples/views/sample2.haml +19 -66
- data/examples/api-samples/views/sample20.haml +19 -68
- data/examples/api-samples/views/sample21.haml +28 -76
- data/examples/api-samples/views/sample22.haml +29 -77
- data/examples/api-samples/views/sample23.haml +0 -0
- data/examples/api-samples/views/sample24.haml +0 -0
- data/examples/api-samples/views/sample25.haml +91 -0
- data/examples/api-samples/views/sample3.haml +20 -68
- data/examples/api-samples/views/sample4.haml +53 -68
- data/examples/api-samples/views/sample5.haml +54 -70
- data/examples/api-samples/views/sample6.haml +21 -69
- data/examples/api-samples/views/sample7.haml +19 -66
- data/examples/api-samples/views/sample8.haml +60 -75
- data/examples/api-samples/views/sample9.haml +54 -70
- data/examples/api-samples/web.rb +20 -0
- data/lib/groupdocs/api/request.rb +4 -2
- data/lib/groupdocs/version.rb +1 -1
- data/spec/groupdocs/api/request_spec.rb +10 -2
- metadata +18 -5
- data/examples/api-samples/app.rb +0 -15
@@ -16,7 +16,7 @@ post '/sample22' do
|
|
16
16
|
begin
|
17
17
|
|
18
18
|
# check required variables
|
19
|
-
raise
|
19
|
+
raise 'Please enter all required parameters' if settings.client_id.empty? or settings.private_key.empty? or settings.fileId.empty? or settings.email.empty? or settings.first_name.empty? or settings.last_name.empty?
|
20
20
|
|
21
21
|
# create new user
|
22
22
|
user = GroupDocs::User.new
|
@@ -48,5 +48,5 @@ post '/sample22' do
|
|
48
48
|
end
|
49
49
|
|
50
50
|
# set variables for template
|
51
|
-
haml :sample22, :locals => {
|
51
|
+
haml :sample22, :locals => {:userId => settings.client_id, :privateKey => settings.private_key, :fileId => settings.fileId, :email => settings.email, :first_name => settings.first_name, :last_name => settings.last_name, :err => err}
|
52
52
|
end
|
File without changes
|
File without changes
|
@@ -0,0 +1,96 @@
|
|
1
|
+
# GET request
|
2
|
+
get '/sample25' do
|
3
|
+
haml :sample25
|
4
|
+
end
|
5
|
+
|
6
|
+
# POST request
|
7
|
+
post '/sample25' do
|
8
|
+
# set variables
|
9
|
+
set :client_id, params[:client_id]
|
10
|
+
set :private_key, params[:private_key]
|
11
|
+
set :source, params[:source]
|
12
|
+
set :file_id, params[:fileId]
|
13
|
+
set :url, params[:url]
|
14
|
+
|
15
|
+
# Set download path
|
16
|
+
downloads_path = "#{File.dirname(__FILE__)}/../public/downloads"
|
17
|
+
|
18
|
+
# Remove all files from download directory or create folder if it not there
|
19
|
+
if File.directory?(downloads_path)
|
20
|
+
Dir.foreach(downloads_path) { |f| fn = File.join(downloads_path, f); File.delete(fn) if f != '.' && f != '..' }
|
21
|
+
else
|
22
|
+
Dir::mkdir(downloads_path)
|
23
|
+
end
|
24
|
+
|
25
|
+
begin
|
26
|
+
# Check required variables
|
27
|
+
raise 'Please enter all required parameters' if settings.client_id.empty? or settings.private_key.empty?
|
28
|
+
|
29
|
+
|
30
|
+
# get document by file GUID
|
31
|
+
case settings.source
|
32
|
+
when 'guid'
|
33
|
+
# Create instance of File
|
34
|
+
file = GroupDocs::Storage::File.new({:guid => settings.file_id})
|
35
|
+
when 'local'
|
36
|
+
# Construct path
|
37
|
+
file_path = "#{Dir.tmpdir}/#{params[:file][:filename]}"
|
38
|
+
# Open file
|
39
|
+
File.open(file_path, 'wb') { |f| f.write(params[:file][:tempfile].read) }
|
40
|
+
# Make a request to API using client_id and private_key
|
41
|
+
file = GroupDocs::Storage::File.upload!(file_path, {}, {:client_id => settings.client_id, :private_key => settings.private_key})
|
42
|
+
when 'url'
|
43
|
+
# Upload file from defined url
|
44
|
+
file = GroupDocs::Storage::File.upload_web!(settings.url, {:client_id => settings.client_id, :private_key => settings.private_key})
|
45
|
+
else
|
46
|
+
raise 'Wrong GUID source.'
|
47
|
+
end
|
48
|
+
|
49
|
+
# Raise exception if something went wrong
|
50
|
+
raise 'No such file' unless file.is_a?(GroupDocs::Storage::File)
|
51
|
+
|
52
|
+
# Make GroupDocs::Storage::Document instance
|
53
|
+
document = file.to_document
|
54
|
+
|
55
|
+
# Create datasource with fields
|
56
|
+
datasource = GroupDocs::DataSource.new
|
57
|
+
|
58
|
+
# Get arry of document's fields
|
59
|
+
fields = document.fields!({:client_id => settings.client_id, :private_key => settings.private_key})
|
60
|
+
|
61
|
+
# Create Field instance and fill the fields
|
62
|
+
datasource.fields = fields.map { |field| GroupDocs::DataSource::Field.new(name: field.name, type: :text, values: %w(value1 value2)) }
|
63
|
+
|
64
|
+
# Adds datasource.
|
65
|
+
datasource.add!({:client_id => settings.client_id, :private_key => settings.private_key})
|
66
|
+
|
67
|
+
|
68
|
+
# Creates new job to merge datasource into document.
|
69
|
+
job = document.datasource!(datasource, {:new_type => 'pdf'}, {:client_id => settings.client_id, :private_key => settings.private_key})
|
70
|
+
sleep 10 # wait for merge and convert
|
71
|
+
|
72
|
+
# Returns an hash of input and output documents associated to job.
|
73
|
+
document = job.documents!({:client_id => settings.client_id, :private_key => settings.private_key})
|
74
|
+
|
75
|
+
# Download file
|
76
|
+
document[:inputs][0].outputs[0].download!("#{File.dirname(__FILE__)}/../public/downloads", {:client_id => settings.client_id, :private_key => settings.private_key})
|
77
|
+
|
78
|
+
# Set converted document GUID
|
79
|
+
guid = document[:inputs][0].outputs[0].guid
|
80
|
+
# Set converted document Name
|
81
|
+
file_name = document[:inputs][0].outputs[0].name
|
82
|
+
|
83
|
+
# Set iframe with document GUID or raise an error
|
84
|
+
if guid
|
85
|
+
iframe = "<iframe width='100%' height='600' frameborder='0' src='https://apps.groupdocs.com/document-viewer/embed/#{guid}'></iframe>"
|
86
|
+
else
|
87
|
+
raise 'File was not converted'
|
88
|
+
end
|
89
|
+
|
90
|
+
rescue Exception => e
|
91
|
+
err = e.message
|
92
|
+
end
|
93
|
+
|
94
|
+
# set variables for template
|
95
|
+
haml :sample25, :locals => {:userId => settings.client_id, :privateKey => settings.private_key, :iframe => iframe, :file_name => file_name, :err => err}
|
96
|
+
end
|
@@ -11,7 +11,7 @@ post '/sample3' do
|
|
11
11
|
|
12
12
|
begin
|
13
13
|
# check required variables
|
14
|
-
raise
|
14
|
+
raise 'Please enter all required parameters' if settings.client_id.empty? or settings.private_key.empty?
|
15
15
|
|
16
16
|
# construct path
|
17
17
|
filepath = "#{Dir.tmpdir}/#{params[:file][:filename]}"
|
@@ -23,11 +23,11 @@ post '/sample3' do
|
|
23
23
|
# result massages
|
24
24
|
massage = "<p>File was uploaded to GroupDocs. Here you can see your <strong>#{params[:file][:filename]}</strong> file in the GroupDocs Embedded Viewer.</p>"
|
25
25
|
iframe = "<iframe src='https://apps.groupdocs.com/document-viewer/Embed/#{file.guid}' frameborder='0' width='720' height='600'></iframe>"
|
26
|
-
|
26
|
+
|
27
27
|
rescue Exception => e
|
28
28
|
err = e.message
|
29
29
|
end
|
30
30
|
|
31
31
|
# set variables for template
|
32
|
-
haml :sample3, :locals => {
|
32
|
+
haml :sample3, :locals => {:userId => settings.client_id, :privateKey => settings.private_key, :iframe => iframe, :massage => massage, :err => err}
|
33
33
|
end
|
@@ -9,24 +9,35 @@ post '/sample4' do
|
|
9
9
|
set :client_id, params[:client_id]
|
10
10
|
set :private_key, params[:private_key]
|
11
11
|
set :file_id, params[:file_id]
|
12
|
+
set :source, params[:source]
|
13
|
+
set :url, params[:url]
|
12
14
|
|
13
15
|
begin
|
14
16
|
# check required variables
|
15
|
-
raise
|
17
|
+
raise 'Please enter all required parameters' if settings.client_id.empty? or settings.private_key.empty?
|
16
18
|
|
17
|
-
#
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
19
|
+
# get file GUID
|
20
|
+
file = nil
|
21
|
+
case settings.source
|
22
|
+
when 'guid'
|
23
|
+
file = GroupDocs::Storage::File.new({:guid => settings.file_id})
|
24
|
+
when 'local'
|
25
|
+
# construct path
|
26
|
+
filepath = "#{Dir.tmpdir}/#{params[:file][:filename]}"
|
27
|
+
# open file
|
28
|
+
File.open(filepath, 'wb') { |f| f.write(params[:file][:tempfile].read) }
|
29
|
+
# make a request to API using client_id and private_key
|
30
|
+
file = GroupDocs::Storage::File.upload!(filepath, {}, client_id: settings.client_id, private_key: settings.private_key)
|
31
|
+
when 'url'
|
32
|
+
file = GroupDocs::Storage::File.upload_web!(settings.url, client_id: settings.client_id, private_key: settings.private_key)
|
33
|
+
else
|
34
|
+
raise 'Wrong GUID source.'
|
26
35
|
end
|
27
36
|
|
37
|
+
pp file
|
38
|
+
pp file.name
|
28
39
|
# download file
|
29
|
-
dowloaded_file =
|
40
|
+
dowloaded_file = file.download!("#{File.dirname(__FILE__)}/../public/downloads", {:client_id => settings.client_id, :private_key => settings.private_key})
|
30
41
|
unless dowloaded_file.empty?
|
31
42
|
massage = "<font color='green'>File was downloaded to the <font color='blue'>#{dowloaded_file}</font> folder</font> <br />"
|
32
43
|
end
|
@@ -36,5 +47,5 @@ post '/sample4' do
|
|
36
47
|
end
|
37
48
|
|
38
49
|
# set variables for template
|
39
|
-
haml :sample4, :locals => {
|
50
|
+
haml :sample4, :locals => {:userId => settings.client_id, :privateKey => settings.private_key, :file_id => settings.file_id, :massage => massage, :err => err}
|
40
51
|
end
|
@@ -9,35 +9,42 @@ post '/sample5' do
|
|
9
9
|
set :client_id, params[:client_id]
|
10
10
|
set :private_key, params[:private_key]
|
11
11
|
set :file_id, params[:file_id]
|
12
|
+
set :url, params[:url]
|
12
13
|
set :copy, params[:copy]
|
13
14
|
set :move, params[:move]
|
14
15
|
set :dest_path, params[:dest_path]
|
15
|
-
|
16
|
+
|
16
17
|
begin
|
17
18
|
# check required variables
|
18
|
-
raise
|
19
|
-
|
20
|
-
# make a request to API using client_id and private_key
|
21
|
-
files_list = GroupDocs::Storage::Folder.list!('/', {}, { :client_id => settings.client_id, :private_key => settings.private_key})
|
19
|
+
raise 'Please enter all required parameters' if settings.client_id.empty? or settings.private_key.empty? or settings.file_id.empty?
|
22
20
|
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
21
|
+
file = nil
|
22
|
+
# get document by file GUID
|
23
|
+
case settings.source
|
24
|
+
when 'guid'
|
25
|
+
file = GroupDocs::Storage::File.new({:guid => settings.file_id})
|
26
|
+
when 'local'
|
27
|
+
# construct path
|
28
|
+
filepath = "#{Dir.tmpdir}/#{params[:file][:filename]}"
|
29
|
+
# open file
|
30
|
+
File.open(filepath, 'wb') { |f| f.write(params[:file][:tempfile].read) }
|
31
|
+
# make a request to API using client_id and private_key
|
32
|
+
file = GroupDocs::Storage::File.upload!(filepath, {}, client_id: settings.client_id, private_key: settings.private_key)
|
33
|
+
when 'url'
|
34
|
+
file = GroupDocs::Storage::File.upload_web!(settings.url, client_id: settings.client_id, private_key: settings.private_key)
|
35
|
+
else
|
36
|
+
raise 'Wrong GUID source.'
|
29
37
|
end
|
30
|
-
raise "No file with such FileID" if manipulate_file.nil?
|
31
38
|
|
32
39
|
# copy file using request to API
|
33
40
|
unless settings.copy.nil?
|
34
|
-
file =
|
41
|
+
file = file.copy!(settings.dest_path, {}, {:client_id => settings.client_id, :private_key => settings.private_key})
|
35
42
|
button = settings.copy
|
36
43
|
end
|
37
44
|
|
38
45
|
# move file using request to API
|
39
46
|
unless settings.move.nil?
|
40
|
-
file =
|
47
|
+
file = file.move!(settings.dest_path, {}, {:client_id => settings.client_id, :private_key => settings.private_key})
|
41
48
|
button = settings.move
|
42
49
|
end
|
43
50
|
|
@@ -45,11 +52,11 @@ post '/sample5' do
|
|
45
52
|
if file
|
46
53
|
massage = "File was #{button}'ed to the #{settings.dest_path} folder"
|
47
54
|
end
|
48
|
-
|
55
|
+
|
49
56
|
rescue Exception => e
|
50
57
|
err = e.message
|
51
58
|
end
|
52
59
|
|
53
60
|
# set variables for template
|
54
|
-
haml :sample5, :locals => {
|
61
|
+
haml :sample5, :locals => {:userId => settings.client_id, :privateKey => settings.private_key, :file_id => settings.file_id, :dest_path => settings.dest_path, :massage => massage, :err => err}
|
55
62
|
end
|
@@ -8,29 +8,29 @@ post '/sample6' do
|
|
8
8
|
# set variables
|
9
9
|
set :client_id, params[:client_id]
|
10
10
|
set :private_key, params[:private_key]
|
11
|
-
|
11
|
+
|
12
12
|
begin
|
13
13
|
# check required variables
|
14
|
-
raise
|
14
|
+
raise 'Please enter all required parameters' if settings.client_id.empty? or settings.private_key.empty?
|
15
15
|
|
16
16
|
# construct file path and open file
|
17
|
-
|
17
|
+
file_one_path = "#{Dir.tmpdir}/#{params[:document][:filename]}"
|
18
18
|
File.open(file_one_path, 'wb') { |f| f.write(params[:document][:tempfile].read) }
|
19
19
|
|
20
20
|
# create new file
|
21
|
-
|
21
|
+
file_one = GroupDocs::Storage::File.new(name: params[:document][:filename], local_path: file_one_path)
|
22
22
|
document_one = file_one.to_document
|
23
23
|
|
24
24
|
# construct signature path and open file
|
25
|
-
|
25
|
+
signature_one_path = "#{Dir.tmpdir}/#{params[:signature][:filename]}"
|
26
26
|
File.open(signature_one_path, 'wb') { |f| f.write(params[:signature][:tempfile].read) }
|
27
27
|
|
28
28
|
# add signature to file using API
|
29
29
|
signature_one = GroupDocs::Signature.new(name: 'Test', image_path: signature_one_path)
|
30
|
-
signature_one.position = {
|
30
|
+
signature_one.position = {top: 0.1, left: 0.07, width: 50, height: 50}
|
31
31
|
|
32
32
|
# make a request to API using client_id and private_key
|
33
|
-
signed_documents = GroupDocs::Document.sign_documents!([document_one], [signature_one], {}, {
|
33
|
+
signed_documents = GroupDocs::Document.sign_documents!([document_one], [signature_one], {}, {:client_id => settings.client_id, :private_key => settings.private_key})
|
34
34
|
guid = signed_documents.first.file.guid
|
35
35
|
|
36
36
|
# generate result
|
@@ -43,5 +43,5 @@ post '/sample6' do
|
|
43
43
|
end
|
44
44
|
|
45
45
|
# set variables for template
|
46
|
-
haml :sample6, :locals => {
|
46
|
+
haml :sample6, :locals => {:userId => settings.client_id, :privateKey => settings.private_key, :iframe => iframe, :err => err}
|
47
47
|
end
|
@@ -8,13 +8,13 @@ post '/sample7' do
|
|
8
8
|
# set variables
|
9
9
|
set :client_id, params[:client_id]
|
10
10
|
set :private_key, params[:private_key]
|
11
|
-
|
11
|
+
|
12
12
|
begin
|
13
13
|
# check required variables
|
14
|
-
raise
|
14
|
+
raise 'Please enter all required parameters' if settings.client_id.empty? or settings.private_key.empty?
|
15
15
|
|
16
16
|
# make a request to API using client_id and private_key
|
17
|
-
files_list = GroupDocs::Storage::Folder.list!('/', {:extended => true}, {
|
17
|
+
files_list = GroupDocs::Storage::Folder.list!('/', {:extended => true}, {:client_id => settings.client_id, :private_key => settings.private_key})
|
18
18
|
|
19
19
|
# construct result string
|
20
20
|
thumbnails = ''
|
@@ -22,13 +22,13 @@ post '/sample7' do
|
|
22
22
|
if element.class.name.split('::').last == 'Folder'
|
23
23
|
next
|
24
24
|
end
|
25
|
-
|
25
|
+
|
26
26
|
if element.thumbnail
|
27
|
-
name = element.name
|
27
|
+
name = element.name
|
28
28
|
thumbnails += "<p><img src='data:image/png;base64,#{element.thumbnail}', width='40px', height='40px'> #{name}</p>"
|
29
29
|
end
|
30
30
|
end
|
31
|
-
|
31
|
+
|
32
32
|
unless thumbnails.empty?
|
33
33
|
set :thumbnails, thumbnails
|
34
34
|
end
|
@@ -38,5 +38,5 @@ post '/sample7' do
|
|
38
38
|
end
|
39
39
|
|
40
40
|
# set variables for template
|
41
|
-
haml :sample7, :locals => {
|
41
|
+
haml :sample7, :locals => {:userId => settings.client_id, :privateKey => settings.private_key, :thumbnailList => thumbnails, :err => err}
|
42
42
|
end
|
@@ -10,34 +10,42 @@ post '/sample8' do
|
|
10
10
|
set :private_key, params[:private_key]
|
11
11
|
set :guid, params[:guid]
|
12
12
|
set :page_number, params[:page_number]
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
13
|
+
|
14
|
+
# file = GroupDocs::Storage::Folder.list!.last
|
15
|
+
# document = file.to_document
|
16
|
+
# document.page_images! 1024, 768, first_page: 0, page_count: 1
|
17
|
+
|
18
18
|
begin
|
19
19
|
# check required variables
|
20
|
-
raise
|
21
|
-
|
22
|
-
# make a request to API using client_id and private_key
|
23
|
-
files_list = GroupDocs::Storage::Folder.list!('/', {}, { :client_id => settings.client_id, :private_key => settings.private_key})
|
20
|
+
raise 'Please enter all required parameters' if settings.client_id.empty? or settings.private_key.empty?
|
24
21
|
|
22
|
+
file = nil
|
25
23
|
doc = nil
|
26
24
|
metadata = nil
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
25
|
+
|
26
|
+
# get document by file GUID
|
27
|
+
case settings.source
|
28
|
+
when 'guid'
|
29
|
+
file = GroupDocs::Storage::File.new({:guid => settings.file_id})
|
30
|
+
when 'local'
|
31
|
+
# construct path
|
32
|
+
filepath = "#{Dir.tmpdir}/#{params[:file][:filename]}"
|
33
|
+
# open file
|
34
|
+
File.open(filepath, 'wb') { |f| f.write(params[:file][:tempfile].read) }
|
35
|
+
# make a request to API using client_id and private_key
|
36
|
+
file = GroupDocs::Storage::File.upload!(filepath, {}, client_id: settings.client_id, private_key: settings.private_key)
|
37
|
+
when 'url'
|
38
|
+
file = GroupDocs::Storage::File.upload_web!(settings.url, client_id: settings.client_id, private_key: settings.private_key)
|
39
|
+
else
|
40
|
+
raise 'Wrong GUID source.'
|
37
41
|
end
|
38
42
|
|
43
|
+
doc = file.to_document
|
44
|
+
metadata = doc.metadata!({:client_id => settings.client_id, :private_key => settings.private_key})
|
45
|
+
|
46
|
+
|
39
47
|
# get document page images
|
40
|
-
images =
|
48
|
+
images = doc.page_images!(800, 400, {:first_page => 0, :page_count => metadata.page_count}, {:client_id => settings.client_id, :private_key => settings.private_key})
|
41
49
|
|
42
50
|
# result
|
43
51
|
unless images.empty?
|
@@ -49,5 +57,5 @@ post '/sample8' do
|
|
49
57
|
end
|
50
58
|
|
51
59
|
# set variables for template
|
52
|
-
haml :sample8, :locals => {
|
60
|
+
haml :sample8, :locals => {:userId => settings.client_id, :privateKey => settings.private_key, :guid => settings.guid, :page_number => settings.page_number, :image => image, :err => err}
|
53
61
|
end
|
@@ -6,17 +6,35 @@ end
|
|
6
6
|
# POST request
|
7
7
|
post '/sample9' do
|
8
8
|
# set variables
|
9
|
-
set :
|
9
|
+
set :file_id, params[:fileId]
|
10
10
|
set :width, params[:width]
|
11
11
|
set :height, params[:height]
|
12
12
|
|
13
13
|
begin
|
14
14
|
# check required variables
|
15
|
-
raise
|
15
|
+
raise 'Please enter all required parameters' if settings.guid.empty? or settings.width.empty? or settings.height.empty?
|
16
|
+
|
17
|
+
# get document by file GUID
|
18
|
+
file = nil
|
19
|
+
case settings.source
|
20
|
+
when 'guid'
|
21
|
+
file = GroupDocs::Storage::File.new({:guid => settings.file_id})
|
22
|
+
when 'local'
|
23
|
+
# construct path
|
24
|
+
filepath = "#{Dir.tmpdir}/#{params[:file][:filename]}"
|
25
|
+
# open file
|
26
|
+
File.open(filepath, 'wb') { |f| f.write(params[:file][:tempfile].read) }
|
27
|
+
# make a request to API using client_id and private_key
|
28
|
+
file = GroupDocs::Storage::File.upload!(filepath, {}, client_id: settings.client_id, private_key: settings.private_key)
|
29
|
+
when 'url'
|
30
|
+
file = GroupDocs::Storage::File.upload_web!(settings.url, client_id: settings.client_id, private_key: settings.private_key)
|
31
|
+
else
|
32
|
+
raise 'Wrong GUID source.'
|
33
|
+
end
|
16
34
|
|
17
35
|
# construct result string
|
18
|
-
v_url = "https://apps.groupdocs.com/document-viewer/embed/#{
|
19
|
-
|
36
|
+
v_url = "https://apps.groupdocs.com/document-viewer/embed/#{file.guid}?frameborder='0' width='#{settings.width}' height='#{settings.height}'"
|
37
|
+
|
20
38
|
if v_url
|
21
39
|
v_url = v_url
|
22
40
|
end
|
@@ -26,5 +44,5 @@ post '/sample9' do
|
|
26
44
|
end
|
27
45
|
|
28
46
|
# set variables for template
|
29
|
-
haml :sample9, :locals => {
|
47
|
+
haml :sample9, :locals => {:guid => settings.guid, :width => settings.width, :height => settings.height, :v_url => v_url, :err => err}
|
30
48
|
end
|