class Aspose::Cloud::Pdf::TextEditor

Public Class Methods

new(filename) click to toggle source
# File lib/Pdf/text_editor.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

get_fragment_count(page_number, folder_name = '', storage_type = 'Aspose', storage_name = '') click to toggle source
Gets count of the fragments from a particular page 
@param number page_number

end

# File lib/Pdf/text_editor.rb, line 42
def get_fragment_count(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}/fragments"
  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'].length
end
get_segment_count(page_number, fragment_number, folder_name = '', storage_type = 'Aspose', storage_name = '') click to toggle source

Gets count of the segments in a fragment @param number pageNumber @param number fragmentNumber

# File lib/Pdf/text_editor.rb, line 123
def get_segment_count(page_number, fragment_number, folder_name = '', storage_type = 'Aspose', storage_name = '')
  raise 'page_number not specified.' if page_number.nil?
  raise 'fragment_number not specified.' if fragment_number.nil?

  str_uri = "#{@base_uri}/pages/#{page_number}/fragments/#{fragment_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)
  JSON.parse(RestClient.get(signed_str_uri, {:accept=>'application/json'}))['TextItems']['List'].length
end
get_segment_text_format(page_number, fragment_number, segment_number, folder_name = '', storage_type = 'Aspose', storage_name = '') click to toggle source

Get Text Format of a Particular Segment @param number page_number @param number fragment_number @param number segment_number

# File lib/Pdf/text_editor.rb, line 71
def get_segment_text_format(page_number, fragment_number, segment_number, folder_name = '', storage_type = 'Aspose', storage_name = '')
  raise 'page_number not specified.' if page_number.nil?
  raise 'fragment_number not specified.' if fragment_number.nil?
  raise 'segment_number not specified.' if segment_number.nil?

  str_uri = "#{@base_uri}/pages/#{page_number}/fragments/#{fragment_number}/segments/#{segment_number}/textformat"
  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'}))['TextFormat']
end
get_text(page_number = 0, folder_name='', storage_type = 'Aspose', storage_name = '') click to toggle source
Gets raw text from the whole PDF file or a specific page
@param number page_number [optinal]

end

# File lib/Pdf/text_editor.rb, line 15
def get_text(page_number = 0, folder_name='', storage_type = 'Aspose', storage_name = '')
  str_uri = "#{@base_uri}/#{ page_number > 0 ? 'pages/' + page_number.to_s + '/' : '' }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)
  response = JSON.parse(RestClient.get(signed_str_uri, {:accept=>'application/json'}))
  output_text = ''
  response['TextItems']['List'].each { |item| output_text.concat(item['Text'])  }
  output_text
end
get_text_format(page_number, fragment_number, folder_name = '', storage_type = 'Aspose', storage_name = '') click to toggle source

Gets TextFormat of a particular Fragment @param number page_number @param number fragment_number

# File lib/Pdf/text_editor.rb, line 56
def get_text_format(page_number, fragment_number, folder_name = '', storage_type = 'Aspose', storage_name = '')
  raise 'page_number not specified.' if page_number.nil?
  raise 'fragment_number not specified.' if fragment_number.nil?
  str_uri = "#{@base_uri}/pages/#{page_number}/fragments/#{fragment_number}/textformat"
  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'}))['TextFormat']
end
get_text_items(page_number, fragment_number, folder_name = '', storage_type = 'Aspose', storage_name = '') click to toggle source
Gets text items from the whole PDF file or a specific page 
@param number page_number

end

# File lib/Pdf/text_editor.rb, line 29
def get_text_items(page_number, fragment_number, folder_name = '', storage_type = 'Aspose', storage_name = '')
  raise 'page_number not specified.' if page_number.nil?
  raise 'fragment_number not specified.' if fragment_number.nil?
  str_uri = "#{@base_uri}/pages/#{page_number}/fragments/#{fragment_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)
  JSON.parse(RestClient.get(signed_str_uri, {:accept=>'application/json'}))['TextItems']['List']
end
replace_multiple_text(str_xml, page_number = 0, folder_name = '', storage_type = 'Aspose', storage_name = '') click to toggle source
Replaces multiple instances of old text with new text in a PDF file or a particular page
@param string str_xml Data in XML format.
@param number page_number Number of the page.

end

# File lib/Pdf/text_editor.rb, line 106
def replace_multiple_text(str_xml, page_number = 0, folder_name = '', storage_type = 'Aspose', storage_name = '')
  raise 'str_xml not specified.' if str_xml.empty?

  str_uri = page_number > 0 ? "#{@base_uri}/pages/#{page_number}/replaceTextList" : "#{@base_uri}/replaceTextList"
  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','XML',str_xml)
  json = JSON.parse(response)
  json['Status'] == 'OK' ? true : false
end
replace_text(old_text, new_text, is_regular_expression = false, page_number = 0, folder_name = '', storage_type = 'Aspose', storage_name = '') click to toggle source
Replaces all instances of old text with new text in a PDF file or a particular page
@param string old_text
@param string new_text

end

# File lib/Pdf/text_editor.rb, line 87
def replace_text(old_text, new_text, is_regular_expression = false, page_number = 0, folder_name = '', storage_type = 'Aspose', storage_name = '')
  raise 'old_text not specified.' if old_text.empty?
  raise 'new_text not specified.' if new_text.empty?

  json_data = { 'OldValue' => old_text, 'NewValue'=> new_text, 'Regex'=> is_regular_expression }.to_json
  str_uri = page_number > 0 ? "#{@base_uri}/pages/#{page_number}/replaceText" : "#{@base_uri}/replaceText"
  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,json_data,{ :content_type => 'application/json', :accept => 'application/json' })
  valid_output = Aspose::Cloud::Common::Utils.validate_output(response_stream)
  valid_output.empty? ? true : valid_output
end