iTextSharp.text.pdf.PdfReader.ReadObjStm C# (CSharp) Метод

ReadObjStm() защищенный Метод

protected ReadObjStm ( PRStream stream, IntHashtable map ) : void
stream PRStream
map IntHashtable
Результат void
        protected internal void ReadObjStm(PRStream stream, IntHashtable map) {
            int first = stream.GetAsNumber(PdfName.FIRST).IntValue;
            int n = stream.GetAsNumber(PdfName.N).IntValue;
            byte[] b = GetStreamBytes(stream, tokens.File);
            PRTokeniser saveTokens = tokens;
            tokens = new PRTokeniser(b);
            try {
                int[] address = new int[n];
                int[] objNumber = new int[n];
                bool ok = true;
                for (int k = 0; k < n; ++k) {
                    ok = tokens.NextToken();
                    if (!ok)
                        break;
                    if (tokens.TokenType != PRTokeniser.TK_NUMBER) {
                        ok = false;
                        break;
                    }
                    objNumber[k] = tokens.IntValue;
                    ok = tokens.NextToken();
                    if (!ok)
                        break;
                    if (tokens.TokenType != PRTokeniser.TK_NUMBER) {
                        ok = false;
                        break;
                    }
                    address[k] = tokens.IntValue + first;
                }
                if (!ok)
                    throw new InvalidPdfException("Error reading ObjStm");
                for (int k = 0; k < n; ++k) {
                    if (map.ContainsKey(k)) {
                        tokens.Seek(address[k]);
                        PdfObject obj = ReadPRObject();
                        xrefObj[objNumber[k]] = obj;
                    }
                }            
            }
            finally {
                tokens = saveTokens;
            }
        }