Beispiel #1
0
        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());
        }
Beispiel #2
0
        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();
            }
        }