Exemple #1
0
        private void LoadHash(long[] addresses)
        {
            this.objects = new Hashtable();
            int part  = 0;
            int total = addresses.Length;

            foreach (long add in addresses)
            {
                this.ProgressEvent(part, total);
                this.memory.Seek(add, SeekOrigin.Begin);
                StreamReader sr   = new StreamReader(this.memory);
                string       line = sr.ReadLine();
                if (line.Length < 2)
                {
                    line = sr.ReadLine();
                }
                Match m = Regex.Match(line, @"(?'id'\d+)( )+0 obj", RegexOptions.ExplicitCapture);
                if (m.Success)
                {
                    int num = int.Parse(m.Groups["id"].Value);
                    if (!objects.ContainsKey(num))
                    {
                        objects.Add(num, PdfFileObject.Create(this, num, add));
                    }
                }
                part++;
            }
        }