class Aspose::Cloud::Pdf::Document
Public Class Methods
new(filename)
click to toggle source
# File lib/Pdf/document.rb, line 5 def initialize(filename) @filename = filename raise 'filename not specified.' if filename.empty? @base_uri = Aspose::Cloud::Common::Product.product_uri + '/pdf/' + @filename end
Public Instance Methods
add_new_page(folder_name = '', storage_type = 'Aspose', storage_name = '')
click to toggle source
# File lib/Pdf/document.rb, line 173 def add_new_page(folder_name = '', storage_type = 'Aspose', storage_name = '') str_uri = "#{@base_uri}/pages" 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.put(signed_str_uri,'',{:accept=>'application/json'}) valid_output = Aspose::Cloud::Common::Utils.validate_output(response_stream) valid_output.empty? ? Aspose::Cloud::Common::Utils.download_file(@filename,@filename,folder_name,storage_name,storage_type) : valid_output end
add_signature(json_data, page_number = 0, folder_name = '', storage_type = 'Aspose', storage_name = '')
click to toggle source
# File lib/Pdf/document.rb, line 348 def add_signature(json_data, page_number = 0, folder_name = '', storage_type = 'Aspose', storage_name = '') raise 'json_data not specified.' if json_data.empty? str_uri = page_number > 0 ? "#{@base_uri}/pages/#{page_number}/sign" : "#{@base_uri}/sign" 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 = Aspose::Cloud::Common::Utils.process_command(signed_str_uri,'POST','JSON',json_data) json = JSON.parse(response) if json['Code'] == 200 Aspose::Cloud::Common::Utils.download_file(@filename,@filename,folder_name,storage_name,storage_type) end end
add_stamp(page_number, post_data, folder_name = '', storage_type = 'Aspose', storage_name = '')
click to toggle source
# File lib/Pdf/document.rb, line 333 def add_stamp(page_number, post_data, folder_name = '', storage_type = 'Aspose', storage_name = '') raise 'page_number not specified.' if page_number.nil? raise 'post_data not specified.' if post_data.empty? str_uri = "#{@base_uri}/pages/#{page_number}/stamp" 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.put(signed_str_uri, post_data, {:content_type=>:json, :accept=>'application/json'}) json = JSON.parse(response) if json['Code'] == 200 Aspose::Cloud::Common::Utils.download_file(@filename,@filename,folder_name,storage_name,storage_type) end end
append_document(append_file, startpage = 0, endpage = 0, folder_name = '', storage_type = 'Aspose', storage_name = '')
click to toggle source
# File lib/Pdf/document.rb, line 19 def append_document(append_file, startpage = 0, endpage = 0, folder_name = '', storage_type = 'Aspose', storage_name = '') raise 'append_file not specified.' if append_file.empty? str_uri = "#{@base_uri}/appendDocument" qry = Hash.new qry[:appendFile] = append_file qry[:startPage] = startpage unless startpage == 0 qry[:endPage] = endpage unless endpage == 0 str_uri = Aspose::Cloud::Common::Utils.build_uri(str_uri,qry) 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.post(signed_str_uri, '', {:accept=>'application/json'}) json = JSON.parse(response) json['Code'] == 200 ? true : false end
create_empty_pdf(folder_name = '', storage_type = 'Aspose', storage_name = '')
click to toggle source
# File lib/Pdf/document.rb, line 164 def create_empty_pdf(folder_name = '', storage_type = 'Aspose', storage_name = '') str_uri = "#{@base_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) response_stream = RestClient.put(signed_str_uri,'',{:accept=>'application/json'}) valid_output = Aspose::Cloud::Common::Utils.validate_output(response_stream) valid_output.empty? ? Aspose::Cloud::Common::Utils.download_file(@filename,@filename,folder_name,storage_name,storage_type) : valid_output end
create_from_html(html_filename, folder_name = '', storage_type = 'Aspose', storage_name = '')
click to toggle source
# File lib/Pdf/document.rb, line 87 def create_from_html (html_filename, folder_name = '', storage_type = 'Aspose', storage_name = '') raise 'html_filename not specified.' if html_filename.empty? str_uri = "#{@base_uri}" qry = Hash.new qry[:templatefile] = html_filename qry[:templatetype] = 'html' str_uri = Aspose::Cloud::Common::Utils.build_uri(str_uri,qry) 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.put(signed_str_uri,'',{:accept=>'application/json'}) json = JSON.parse(response) json['Code'] == 200 ? true : false end
create_from_jpeg(jpeg_filename, folder_name = '', storage_type = 'Aspose', storage_name = '')
click to toggle source
# File lib/Pdf/document.rb, line 119 def create_from_jpeg(jpeg_filename, folder_name = '', storage_type = 'Aspose', storage_name = '') raise 'jpeg_filename not specified.' if jpeg_filename.empty? str_uri = "#{@base_uri}" qry = Hash.new qry[:templatefile] = jpeg_filename qry[:templatetype] = 'jpeg' str_uri = Aspose::Cloud::Common::Utils.build_uri(str_uri,qry) 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.put(signed_str_uri,'',{:accept=>'application/json'}) valid_output = Aspose::Cloud::Common::Utils.validate_output(response_stream) valid_output.empty? ? Aspose::Cloud::Common::Utils.download_file(@filename,@filename,folder_name,storage_name,storage_type) : valid_output end
create_from_svg(svg_filename, folder_name = '', storage_type = 'Aspose', storage_name = '')
click to toggle source
# File lib/Pdf/document.rb, line 134 def create_from_svg(svg_filename, folder_name = '', storage_type = 'Aspose', storage_name = '') raise 'svg_filename not specified.' if svg_filename.empty? str_uri = "#{@base_uri}" qry = Hash.new qry[:templatefile] = svg_filename qry[:templatetype] = 'svg' str_uri = Aspose::Cloud::Common::Utils.build_uri(str_uri,qry) 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.put(signed_str_uri,'',{:accept=>'application/json'}) valid_output = Aspose::Cloud::Common::Utils.validate_output(response_stream) valid_output.empty? ? Aspose::Cloud::Common::Utils.download_file(@filename,@filename,folder_name,storage_name,storage_type) : valid_output end
create_from_tiff(tiff_filename, folder_name = '', storage_type = 'Aspose', storage_name = '')
click to toggle source
# File lib/Pdf/document.rb, line 149 def create_from_tiff(tiff_filename, folder_name = '', storage_type = 'Aspose', storage_name = '') raise 'tiff_filename not specified.' if tiff_filename.empty? str_uri = "#{@base_uri}" qry = Hash.new qry[:templatefile] = tiff_filename qry[:templatetype] = 'tiff' str_uri = Aspose::Cloud::Common::Utils.build_uri(str_uri,qry) 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.put(signed_str_uri,'',{:accept=>'application/json'}) valid_output = Aspose::Cloud::Common::Utils.validate_output(response_stream) valid_output.empty? ? Aspose::Cloud::Common::Utils.download_file(@filename,@filename,folder_name,storage_name,storage_type) : valid_output end
create_from_xml(xslt_filename, xml_filename, folder_name = '', storage_type = 'Aspose', storage_name = '')
click to toggle source
# File lib/Pdf/document.rb, line 102 def create_from_xml (xslt_filename, xml_filename, folder_name = '', storage_type = 'Aspose', storage_name = '') raise 'xslt_filename not specified.' if xslt_filename.empty? raise 'xml_filename not specified.' if xml_filename.empty? str_uri = "#{@base_uri}" qry = Hash.new qry[:templatefile] = xslt_filename qry[:datafile] = xml_filename qry[:templatetype] = 'xml' str_uri = Aspose::Cloud::Common::Utils.build_uri(str_uri,qry) 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.put(signed_str_uri,'',{:accept=>'application/json'}) json = JSON.parse(response) json['Code'] == 200 ? true : false end
delete_page(page_number, folder_name = '', storage_type = 'Aspose', storage_name = '')
click to toggle source
# File lib/Pdf/document.rb, line 182 def delete_page(page_number, folder_name = '', storage_type = 'Aspose', storage_name = '') raise 'page_number not specified.' if page_number.nil? str_uri = "#{@base_uri}/pages/#{page_number}" 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.delete(signed_str_uri,{:accept=>'application/json'}) valid_output = Aspose::Cloud::Common::Utils.validate_output(response_stream) valid_output.empty? ? Aspose::Cloud::Common::Utils.download_file(@filename,@filename,folder_name,storage_name,storage_type) : valid_output end
get_document_properties(folder_name = '', storage_type = 'Aspose', storage_name = '')
click to toggle source
# File lib/Pdf/document.rb, line 240 def get_document_properties(folder_name = '', storage_type = 'Aspose', storage_name = '') str_uri = "#{@base_uri}/documentProperties" 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'}))['DocumentProperties']['List'] end
get_document_property(property_name, folder_name = '', storage_type = 'Aspose', storage_name = '')
click to toggle source
# File lib/Pdf/document.rb, line 231 def get_document_property(property_name, folder_name = '', storage_type = 'Aspose', storage_name = '') raise 'property_name not specified.' if property_name.empty? str_uri = "#{@base_uri}/documentProperties/#{property_name}" 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'}))['DocumentProperty'] end
get_form_field(field_name, folder_name = '', storage_type = 'Aspose', storage_name = '')
click to toggle source
# File lib/Pdf/document.rb, line 61 def get_form_field(field_name, folder_name = '', storage_type = 'Aspose', storage_name = '') raise 'field_name not specified.' if field_name.empty? str_uri = "#{@base_uri}/fields/#{field_name}" 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'}))['Field'] end
get_form_field_count(folder_name = '', storage_type = 'Aspose', storage_name = '')
click to toggle source
# File lib/Pdf/document.rb, line 47 def get_form_field_count(folder_name = '', storage_type = 'Aspose', storage_name = '') str_uri = "#{@base_uri}/fields" 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'}))['Fields']['List'].length end
get_form_fields(folder_name = '', storage_type = 'Aspose', storage_name = '')
click to toggle source
# File lib/Pdf/document.rb, line 54 def get_form_fields(folder_name = '', storage_type = 'Aspose', storage_name = '') str_uri = "#{@base_uri}/fields" 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'}))['Fields']['List'] end
get_page_count(folder_name = '', storage_type = 'Aspose', storage_name = '')
click to toggle source
# File lib/Pdf/document.rb, line 11 def get_page_count(folder_name = '', storage_type = 'Aspose', storage_name = '') str_uri = "#{@base_uri}/pages" 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'}))['Pages']['List'].length end
merge_documents(merged_filename, source_files, folder_name = '', storage_type = 'Aspose', storage_name = '')
click to toggle source
# File lib/Pdf/document.rb, line 35 def merge_documents(merged_filename, source_files, folder_name = '', storage_type = 'Aspose', storage_name = '') raise 'merged_filename not specified.' if merged_filename.empty? raise 'source_files not specified.' if source_files.nil? || source_files.length < 2 json_data = JSON.generate( 'List'=>source_files ) str_uri = "#{Aspose::Cloud::Common::Product.product_uri}/pdf/#{merged_filename}/merge" 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.put(signed_str_uri,json_data,{ :content_type=>:json, :accept=>'application/json' }))['Status'] == 'OK' ? true : false end
move_page(page_number, new_location, folder_name = '', storage_type = 'Aspose', storage_name = '')
click to toggle source
# File lib/Pdf/document.rb, line 193 def move_page(page_number, new_location, folder_name = '', storage_type = 'Aspose', storage_name = '') raise 'page_number not specified.' if page_number.nil? raise 'new_location not specified.' if new_location.nil? str_uri = "#{@base_uri}/pages/#{page_number}/movepage?newindex=#{new_location}" 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.post(signed_str_uri, '', {:accept=>'application/json'}) valid_output = Aspose::Cloud::Common::Utils.validate_output(response_stream) valid_output.empty? ? Aspose::Cloud::Common::Utils.download_file(@filename,@filename,folder_name,storage_name,storage_type) : valid_output end
remove_all_properties(folder_name = '', storage_type = 'Aspose', storage_name = '')
click to toggle source
# File lib/Pdf/document.rb, line 259 def remove_all_properties(folder_name = '', storage_type = 'Aspose', storage_name = '') str_uri = "#{@base_uri}/documentProperties" 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.delete(signed_str_uri, {:accept=>'application/json'}))['Code'] == 200 ? true : false end
replace_image_file(page_number, image_index, image_file, folder_name = '', storage_type = 'Aspose', storage_name = '')
click to toggle source
# File lib/Pdf/document.rb, line 218 def replace_image_file(page_number, image_index, image_file, folder_name = '', storage_type = 'Aspose', storage_name = '') raise 'page_number not specified.' if page_number.nil? raise 'image_index not specified.' if image_index.nil? raise 'image_file not specified.' if image_file.empty? str_uri = "#{@base_uri}/pages/#{page_number}/images/#{image_index}?imagefile=#{image_file}" 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.post(signed_str_uri, '', {:accept=>'application/json'}) valid_output = Aspose::Cloud::Common::Utils.validate_output(response_stream) valid_output.empty? ? Aspose::Cloud::Common::Utils.download_file(@filename,@filename,folder_name,storage_name,storage_type) : valid_output end
replace_image_stream(page_number, image_index, image_stream, folder_name = '', storage_type = 'Aspose', storage_name = '')
click to toggle source
# File lib/Pdf/document.rb, line 205 def replace_image_stream(page_number, image_index, image_stream, folder_name = '', storage_type = 'Aspose', storage_name = '') raise 'page_number not specified.' if page_number.nil? raise 'image_index not specified.' if image_index.nil? raise 'image_stream not specified.' if image_stream.nil? str_uri = "#{@base_uri}/pages/#{page_number}/images/#{image_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_stream = RestClient.post(signed_str_uri, image_stream, {:accept=>'application/json'}) valid_output = Aspose::Cloud::Common::Utils.validate_output(response_stream) valid_output.empty? ? Aspose::Cloud::Common::Utils.download_file(@filename,@filename,folder_name,storage_name,storage_type) : valid_output end
set_document_property(property_name, property_value, folder_name = '', storage_type = 'Aspose', storage_name = '')
click to toggle source
# File lib/Pdf/document.rb, line 247 def set_document_property(property_name, property_value, folder_name = '', storage_type = 'Aspose', storage_name = '') raise 'property_name not specified.' if property_name.empty? raise 'property_value not specified.' if property_value.empty? json_data = JSON.generate('Value'=>property_value) str_uri = "#{@base_uri}/documentProperties/#{property_name}" 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.put(signed_str_uri, json_data, {:content_type=>:json, :accept=>'application/json'}))['DocumentProperty'] end
split_all_pages(folder_name = '', storage_type = 'Aspose', storage_name = '')
click to toggle source
# File lib/Pdf/document.rb, line 266 def split_all_pages(folder_name = '', storage_type = 'Aspose', storage_name = '') str_uri = "#{@base_uri}/split" 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.post(signed_str_uri, '', {:content_type=>:json, :accept=>'application/json'}) json = JSON.parse(response) i=1 json['Result']['Documents'].each { |split_page| source_filename = Aspose::Cloud::Common::Utils.get_filename(@filename) split_filename = File.basename(split_page['Href']) str_uri = Aspose::Cloud::Common::Product.product_uri + '/storage/file/' + split_filename signed_str_uri = Aspose::Cloud::Common::Utils.sign(str_uri) response_stream = RestClient.get(signed_str_uri, {:accept=>'application/json'}) filename = "#{source_filename}_#{i}.pdf" output_path = "#{Aspose::Cloud::Common::AsposeApp.output_location}#{filename}" Aspose::Cloud::Common::Utils.save_file(response_stream,output_path) i += 1 } end
split_pages(from, to, folder_name = '', storage_type = 'Aspose', storage_name = '')
click to toggle source
# File lib/Pdf/document.rb, line 286 def split_pages(from, to, folder_name = '', storage_type = 'Aspose', storage_name = '') raise 'from not specified.' if from.nil? raise 'to not specified.' if to.nil? str_uri = "#{@base_uri}/split?from=#{from}&to=#{to}" 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.post(signed_str_uri, '', {:content_type=>:json, :accept=>'application/json'}) json = JSON.parse(response) i=1 json['Result']['Documents'].each { |split_page| source_filename = Aspose::Cloud::Common::Utils.get_filename(@filename) split_filename = File.basename(split_page['Href']) str_uri = Aspose::Cloud::Common::Product.product_uri + '/storage/file/' + split_filename signed_str_uri = Aspose::Cloud::Common::Utils.sign(str_uri) response_stream = RestClient.get(signed_str_uri, {:accept=>'application/json'}) filename = "#{source_filename}_#{i}.pdf" output_path = "#{Aspose::Cloud::Common::AsposeApp.output_location}#{filename}" Aspose::Cloud::Common::Utils.save_file(response_stream,output_path) i += 1 } end
split_pages_to_any_format(from, to, save_format, folder_name = '', storage_type = 'Aspose', storage_name = '')
click to toggle source
# File lib/Pdf/document.rb, line 309 def split_pages_to_any_format(from, to, save_format, folder_name = '', storage_type = 'Aspose', storage_name = '') raise 'from not specified.' if from.nil? raise 'to not specified.' if to.nil? raise 'save_format not specified.' if save_format.empty? str_uri = "#{@base_uri}/split?from=#{from}&to=#{to}&format=#{save_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 = RestClient.post(signed_str_uri, '', {:content_type=>:json, :accept=>'application/json'}) json = JSON.parse(response) i=1 json['Result']['Documents'].each { |split_page| source_filename = Aspose::Cloud::Common::Utils.get_filename(@filename) split_filename = File.basename(split_page['Href']) str_uri = Aspose::Cloud::Common::Product.product_uri + '/storage/file/' + split_filename signed_str_uri = Aspose::Cloud::Common::Utils.sign(str_uri) response_stream = RestClient.get(signed_str_uri, {:accept=>'application/json'}) filename = "#{source_filename}_#{i}.#{save_format}" output_path = "#{Aspose::Cloud::Common::AsposeApp.output_location}#{filename}" Aspose::Cloud::Common::Utils.save_file(response_stream,output_path) i += 1 } end
update_form_field(field_name, field_type, field_value, folder_name = '', storage_type = 'Aspose', storage_name = '')
click to toggle source
# File lib/Pdf/document.rb, line 70 def update_form_field(field_name, field_type, field_value, folder_name = '', storage_type = 'Aspose', storage_name = '') raise 'field_name not specified.' if field_name.empty? raise 'field_type not specified.' if field_type.empty? raise 'field_value not specified.' if field_value.empty? str_uri = "#{@base_uri}/fields/#{field_name}" 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) data = Hash['Name' => field_name, 'Type' => field_type, 'Values' => Array.new('field_value')] json_data = JSON.generate(data) response = RestClient.put(signed_str_uri, json_data, {:content_type=>:json, :accept=>'application/json'}) json = JSON.parse(response) json['Code'] == 200 ? json['Field'] : nil end