Method: PDF::Reader::Buffer#read
- Defined in:
- lib/pdf/reader/buffer.rb
#read(bytes, opts = {}) ⇒ Object
return raw bytes from the underlying IO stream.
bytes - the number of bytes to read
options:
:skip_eol - if true, the IO stream is advanced past a CRLF or LF that
is sitting under the io cursor.
92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 |
# File 'lib/pdf/reader/buffer.rb', line 92 def read(bytes, opts = {}) reset_pos if opts[:skip_eol] @io.seek(-1, IO::SEEK_CUR) str = @io.read(2) if str.nil? return nil elsif str == "\r\n" # do nothing elsif str[0,1] == "\n" @io.seek(-1, IO::SEEK_CUR) else @io.seek(-2, IO::SEEK_CUR) end end bytes = @io.read(bytes) save_pos bytes end |