Звучит замечательно, как ошибка.
IIRC, есть несколько различных форматов, которые могут использовать закладки ... это может быть просто "страница 7" или "эта область просмотра на этом объекте страницы независимо от того, какой номер страницы это происходит", и несколько вещей между ними .
Ваше решение:
1) Получите копию спецификации PDF (предположительно, Adobe по-прежнему хранит ее, хотя у меня не было необходимости просматривать ее в течение ближайших 10 лет.
2) Посмотрите на разделы "закладки" и "места назначения".
3) Когда вы импортируете любой PDF-файл, просмотрите его закладки и убедитесь, что все места назначения относятся к категории «объект страницы». Возможно, вам придется конвертировать их «вручную», или iText может предоставить это как функцию. Это было долгое время с тех пор, как я работал над iText, понятия не имею, с чем они связались с тех пор.
Кстати, ссылки на страницы тоже могут быть пунктами назначения ... так что все эти удобные ссылки на оглавление и глоссарий могут быть так же сломаны.
Вам нужно будет использовать базовые манипуляторы PDF на уровне объектов ... PdfString, PdfDictionary, PdfArray и т. Д. ... Я предлагаю iText-RUPS. Он позволяет вам просматривать PDF на уровне базового объекта, чтобы вы могли видеть, что там есть и какой код соответствует. Есть множество таких программ, но это единственная, чье имя я помню по макушке.