Sha256: c22719d2773cdf7b1505e2e002af30db280f01ecc90451b227acaafe0e27f83a

Contents?: true

Size: 945 Bytes

Versions: 6

Compression:

Stored size: 945 Bytes

Contents

#!/usr/bin/env ruby

require 'rubygems'
$LOAD_PATH.unshift(File.dirname(__FILE__) + "/../lib")

require 'pdf/reader'

class PageTextReceiver
  attr_accessor :content

  # Called when page parsing starts
  def end_page(arg = nil)
    if @content
      puts @content
      @content = nil
      puts
    end
  end

  def show_text(*params)
    @content = "" if @content.nil?
    params.each do |str|
      @content << str.to_s
    end
  end

  # there's a few text callbacks, so make sure we process them all
  alias :super_show_text :show_text
  alias :move_to_next_line_and_show_text :show_text
  alias :set_spacing_next_line_show_text :show_text

  def show_text_with_positioning(*params)
    params = params.first
    params ||= []
    params.each { |str| show_text(str) if str.kind_of?(String)}
  end
end

receiver = PageTextReceiver.new

if ARGV.empty?
  PDF::Reader.new.parse($stdin, receiver)
else
  PDF::Reader.file(ARGV[0], receiver)
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
pdf-reader-0.10.1 bin/pdf_text
pdf-reader-0.10.0 bin/pdf_text
pdf-reader-0.9.3 bin/pdf_text
pdf-reader-0.9.2 bin/pdf_text
pdf-reader-0.9.1 bin/pdf_text
pdf-reader-0.9.0 bin/pdf_text