Ваша проблема не отличается от попытки выяснить, где находятся абзацы и столбцы в файлах PDF; PDF обычно не помечает страницу содержания как таковую. Так что даже с библиотекой PDF (такой как iTextSharp указал mkl) это не будет тривиальной задачей.
С такой библиотекой вы сможете видеть страницы в файле PDF и текст на страницах. Однако, если это, например, книга, страница оглавления может быть первой, второй, третьей или x-й страницей в файле PDF из-за того, что перед ней появляются различные другие страницы (обложка, вторая обложка, авторское право, дань уважения, вы называете это...).
Таким образом, алгоритм, чтобы обнаружить, существует ли оглавление, должен быть в состоянии обнаружить его где-то на первых x страницах PDF-файла. Поскольку стандартных тегов, выделяющих текст в оглавлении, нет, это необходимо делать путем анализа формата текста на этой странице.
Есть две вещи, которые могут помочь (если они доступны):
1) Во многих PDF-файлах элементы в таблице, как вы говорите, кликабельны. Таким образом, вы можете заглянуть в файл PDF и попытаться найти первую страницу, содержащую множество элементов с гиперссылками.
2) Во многих PDF-файлах оглавление отображается в закладках. Таким образом, вы также можете изучить структуру закладок и посмотреть, сможете ли вы использовать ее, чтобы выяснить, сколько глав в книге.
Имейте в виду, что обе эти функции являются необязательными и не стандартизируются, если они присутствуют.
person
David van Driessche
schedule
31.12.2012