Кажется, проблема связана с размером потока в файле.Когда я читал файл с file_get_contents и запускал preg_match_all, я получал ошибку предела возврата назад из preg_match, однако, когда я копировал текст из notepad ++ и вставлял его в веб-форму, в которой использовалось то же регулярное выражение, что и я.Оказывается, когда я его вставил, он читался как UTF8, и, следовательно, в нем было меньше символов, поэтому я не достиг предела возврата.Размер потока был достаточно велик, чтобы он работал как UTF8, но я бы достиг предела возврата по чуть более длинному тексту ANSI.
В конечном итоге я изменил регулярное выражение для поиска только начала объекта, а затем использовал strpos, чтобы найти конец.Это оказалось намного более эффективным методом, чем ([0-9] + [0-9] +) obj (. *?) Endobj