class Aspose::Cloud::Pdf::TextEditor

Public Class Methods

new(filename) click to toggle source
# File lib/Pdf/text_editor.rb, line 7
def initialize filename
  @filename = filename
end

Public Instance Methods

get_fragment_count(page_number) 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 81
def get_fragment_count page_number
  begin

    if @filename == ''
      raise 'filename not specified'
    end

    if page_number == ''
      raise 'page number not specified'
    end

       
    str_uri = $product_uri + '/pdf/' + @filename + '/pages/' + page_number.to_s + '/fragments'        
    str_signed_uri = Aspose::Cloud::Common::Utils.sign(str_uri)        
    response_stream = RestClient.get(str_signed_uri, {:accept=>'application/json'})  

    stream_hash = JSON.parse(response_stream)

    return stream_hash['TextItems']['List'].length

  rescue Exception=>e
    print e
  end
end
get_segment_count(page_number, fragment_number) click to toggle source
Gets count of the segments in a fragment
@param number pageNumber
@param number fragmentNumber

end

# File lib/Pdf/text_editor.rb, line 198
def get_segment_count page_number, fragment_number
  begin

    if @filename == ''
      raise 'filename not specified'
    end

    if page_number == ''
      raise 'page number not specified'
    end

    if fragment_number == ''
      raise 'page number not specified'
    end
       
    str_uri = $product_uri + '/pdf/' + @filename + '/pages/' + page_number.to_s + '/fragments/' + fragment_number.to_s       

    str_signed_uri = Aspose::Cloud::Common::Utils.sign(str_uri)        
    response_stream = RestClient.get(str_signed_uri, {:accept=>'application/json'})  

    stream_hash = JSON.parse(response_stream)

    return stream_hash['TextItems']['List'].length                

  rescue Exception=>e
    print e
  end
end
get_text(page_number = 0) 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
  begin

    if @filename == ''
      raise 'filename not specified'
    end

    if page_number > 0
      str_uri = $product_uri + '/pdf/' + @filename + '/pages/' + page_number.to_s + '/textitems'
    else
      str_uri = $product_uri + '/pdf/' + @filename + '/textitems';
    end

    str_signed_uri = Aspose::Cloud::Common::Utils.sign(str_uri)        
    response_stream = RestClient.get(str_signed_uri, {:accept=>'application/json'})  

    stream_hash = JSON.parse(response_stream)
    output_text = ''
    stream_hash['TextItems']['List'].each { |item| output_text.concat(item['Text'])  }

    return output_text        

  rescue Exception=>e
    print e
  end
end
get_text_format(page_number, fragment_number, segament_number = 0) click to toggle source
Gets TextFormat of a particular Fragment
@param number page_number 
@param number fragment_number

end

# File lib/Pdf/text_editor.rb, line 111
def get_text_format page_number, fragment_number, segament_number = 0
  begin

    if @filename == ''
      raise 'filename not specified'
    end

    if page_number == ''
      raise 'page number not specified'
    end

    if fragment_number == ''
      raise 'fragment number not specified'
    end

       
    str_uri = $product_uri + '/pdf/' + @filename + '/pages/' + page_number.to_s + '/fragments/' + fragment_number.to_s + (!segament_number.nil? ?  '/segments/' + segament_number.to_s : '') + '/textformat'
    str_signed_uri = Aspose::Cloud::Common::Utils.sign(str_uri)        
    response_stream = RestClient.get(str_signed_uri, {:accept=>'application/json'})  

    stream_hash = JSON.parse(response_stream)

    return stream_hash['TextFormat']

  rescue Exception=>e
    print e
  end
end
get_text_items(page_number = 0,fragment_number = 0) click to toggle source
Gets text items from the whole PDF file or a specific page 
@param number page_number [optinal]

end

# File lib/Pdf/text_editor.rb, line 46
def get_text_items page_number = 0,fragment_number = 0
  begin

    if @filename == ''
      raise 'filename not specified'
    end

    if page_number > 0
      str_uri = $product_uri + '/pdf/' + @filename + '/pages/' + page_number.to_s + '/textitems'
    else
      str_uri = $product_uri + '/pdf/' + @filename + '/textitems';
    end
    if fragment_number > 0
      str_uri = $product_uri + '/pdf/' + @filename + '/fragments/' + fragment_number.to_s + '/textitems'
    else
      str_uri = $product_uri + '/pdf/' + @filename + '/textitems';
    end


    str_signed_uri = Aspose::Cloud::Common::Utils.sign(str_uri)        
    response_stream = RestClient.get(str_signed_uri, {:accept=>'application/json'})  

    stream_hash = JSON.parse(response_stream)

    return stream_hash['TextItems']['List']                

  rescue Exception=>e
    print e
  end
end
replace_text(old_text, new_text, is_regular_expression = false, page_number = 0) 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 145
def replace_text old_text, new_text, is_regular_expression = false, page_number = 0
  begin

    if @filename == ''
      raise 'filename not specified'
    end

    if old_text == ''
      raise 'old text not specified'
    end

    if new_text == ''
      raise 'new text not specified'
    end        

       
    post_hash = { 'OldValue' => old_text, 'NewValue'=> new_text, 'Regex'=> 'false' }
    json_data = post_hash.to_json    


    if page_number > 0
      str_uri = $product_uri + '/pdf/' + @filename + '/pages/' + page_number.to_s + '/replaceText'
    else
      str_uri = $product_uri + '/pdf/' + @filename + '/replaceText'
    end


    str_signed_uri = Aspose::Cloud::Common::Utils.sign(str_uri)        

    response_stream = RestClient.post(str_signed_uri,json_data,{:accept=>'application/json'})  
       
    valid_output = Aspose::Cloud::Common::Utils.validate_output(response_stream)

    if valid_output == ''
      folder = Aspose::Cloud::AsposeStorage::Folder.new           
      output_stream = folder.get_file(@filename)          
      output_path = $out_put_location + @filename;          
      Aspose::Cloud::Common::Utils.save_file(output_stream,output_path)
      return ''
    else
      return valid_output
    end

  rescue Exception=>e
    print e
  end
end