public byte[] ReadLineAsBytes() { ByteBuilder line = new ByteBuilder(); byte[] data = new byte[1]; data[0] = (byte)' '; while ((data[0] != '\r') && (data[0] != '\n') && !Eof) { m_st.Read(data, 0, 1); if ((data[0] != '\r') && (data[0] != '\n')) { line.Append(data[0]); } } if (data[0] == '\r') { long pos = Position; m_st.Read(data, 0, 1); if (data[0] != '\n') { Position = pos; line.Append((byte)'\n'); } } return(line.ToBytes()); }
private void ReadStream(PdfStream st) { if (st.PeekLine() == "stream") { Utility.TraceLine("Read stream: "); st.ReadLine(); while (!st.PeekLine(true, true).EndsWith("endstream") && !st.Eof) { Utility.Trace("-"); m_stream.Append(st.ReadLineAsBytes()); } Utility.TraceLine(" Done"); st.ReadLine(); // Sometimes there is a blank line after the endstream st.ConsumeWhitespace(); } }