Class: Aspose::Cloud::Pdf::TextEditor
- Inherits:
-
Object
- Object
- Aspose::Cloud::Pdf::TextEditor
- Defined in:
- lib/Pdf/text_editor.rb
Instance Method Summary collapse
-
#get_fragment_count(page_number, folder_name = '', storage_type = 'Aspose', storage_name = '') ⇒ Object
Gets count of the fragments from a particular page @param number page_number.
-
#get_segment_count(page_number, fragment_number, folder_name = '', storage_type = 'Aspose', storage_name = '') ⇒ Object
Gets count of the segments in a fragment @param number pageNumber @param number fragmentNumber.
-
#get_segment_text_format(page_number, fragment_number, segment_number, folder_name = '', storage_type = 'Aspose', storage_name = '') ⇒ Object
Get Text Format of a Particular Segment @param number page_number @param number fragment_number @param number segment_number.
-
#get_text(page_number = 0, folder_name = '', storage_type = 'Aspose', storage_name = '') ⇒ Object
Gets raw text from the whole PDF file or a specific page @param number page_number [optinal].
-
#get_text_format(page_number, fragment_number, folder_name = '', storage_type = 'Aspose', storage_name = '') ⇒ Object
Gets TextFormat of a particular Fragment @param number page_number @param number fragment_number.
-
#get_text_items(page_number, fragment_number, folder_name = '', storage_type = 'Aspose', storage_name = '') ⇒ Object
Gets text items from the whole PDF file or a specific page @param number page_number.
-
#initialize(filename) ⇒ TextEditor
constructor
A new instance of TextEditor.
-
#replace_multiple_text(str_xml, page_number = 0, folder_name = '', storage_type = 'Aspose', storage_name = '') ⇒ Object
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.
-
#replace_text(old_text, new_text, is_regular_expression = false, page_number = 0, folder_name = '', storage_type = 'Aspose', storage_name = '') ⇒ Object
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.
Constructor Details
#initialize(filename) ⇒ TextEditor
Returns a new instance of TextEditor.
5 6 7 8 9 |
# 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 |
Instance Method Details
#get_fragment_count(page_number, folder_name = '', storage_type = 'Aspose', storage_name = '') ⇒ Object
Gets count of the fragments from a particular page
@param number page_number
42 43 44 45 46 47 48 49 |
# 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 = '') ⇒ Object
Gets count of the segments in a fragment
@param number pageNumber
@param number fragmentNumber
123 124 125 126 127 128 129 130 131 132 |
# 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 = '') ⇒ Object
Get Text Format of a Particular Segment
@param number page_number
@param number fragment_number
@param number segment_number
71 72 73 74 75 76 77 78 79 80 |
# 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 = '') ⇒ Object
Gets raw text from the whole PDF file or a specific page
@param number page_number [optinal]
15 16 17 18 19 20 21 22 23 |
# 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 = '') ⇒ Object
Gets TextFormat of a particular Fragment
@param number page_number
@param number fragment_number
56 57 58 59 60 61 62 63 |
# 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 = '') ⇒ Object
Gets text items from the whole PDF file or a specific page
@param number page_number
29 30 31 32 33 34 35 36 |
# 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 = '') ⇒ Object
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.
106 107 108 109 110 111 112 113 114 115 116 |
# 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 = '') ⇒ Object
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
87 88 89 90 91 92 93 94 95 96 97 98 99 |
# 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 |