Module: Pdfrb::Content::SmartTextExtractor
- Defined in:
- lib/pdfrb/content/smart_text_extractor.rb
Class Method Summary collapse
Class Method Details
.extract(document) ⇒ Object
8 9 10 11 12 13 14 15 16 |
# File 'lib/pdfrb/content/smart_text_extractor.rb', line 8 def extract(document) results = [] document.pages.each do |page| text = extract_page_text(document, page) results << { page: page, text: text } end block_given? ? yield(results) : results end |
.extract_page_text(document, page) ⇒ Object
18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 |
# File 'lib/pdfrb/content/smart_text_extractor.rb', line 18 def extract_page_text(document, page) contents = page.value[:Contents] return "" unless contents ref = contents.is_a?(Pdfrb::Model::Reference) ? contents : nil return "" unless ref stream = document.object(ref) return "" unless stream.is_a?(Pdfrb::Model::Cos::Stream) data = stream.decoded_stream return "" unless data && !data.empty? collector = TextCollector.new(document, page) begin collector.process(data) rescue StandardError # Best effort extraction end collector.text end |