1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39
|
# typed: true
# coding: utf-8
class CallbackHelper
include Singleton
def good_receivers
@registers ||= {}
if @registers.empty?
good_files.map { |filename|
receiver = PDF::Reader::RegisterReceiver.new
PDF::Reader.open(filename) do |reader|
reader.pages.each do |page|
page.walk(receiver)
end
end
@registers[filename] = receiver
}
end
@registers
end
private
def good_files
@good_files ||= Dir.glob(File.dirname(__FILE__) + "/../data/*.pdf").select { |filename|
!filename.include?("screwey_xref_offsets") &&
!filename.include?("difference_table_encrypted") &&
!filename.include?("broken_string.pdf") &&
!filename.include?("cross_ref_stream.pdf") &&
!filename.include?("zlib_stream_issue.pdf") &&
!filename.include?("20070313") &&
!filename.include?("refers_to_invalid_font.pdf") &&
!filename.include?("encrypted") &&
!filename.include?("junk_prefix")
}
end
end
|