Подтвердить что ты не робот

Извлечь ТОС PDF?

Я извлекаю pdf в изображения /swf и текст с помощью SWFTools и XPDF. Я запускаю их в формате PDF script.

Но теперь я пытаюсь сделать еще один шаг и попытаться получить TOC из PDF, можно ли извлечь эту информацию?

4b9b3361

Ответ 1

Я нашел это с небольшим количеством поисков. Это выглядит довольно многообещающе.

PDFMiner: http://www.unixuser.org/~euske/python/pdfminer/index.html

Примечание. Инструмент основан на Python, но вы должны иметь возможность использовать этот инструмент через доступ к оболочке. Кроме того, вы можете получить полезную информацию из самого исходного кода, так как проект является открытым исходным кодом.

С сайта:

dumppdf.py

dumppdf.py выгружает внутреннее содержимое PDF файла в псевдо-XML-формате. Эта программа предназначена в первую очередь для целей отладки, но также позволяет извлекать содержательное содержимое (например, изображения).

Примеры:

$ dumppdf.py -a foo.pdf
(dump all the headers and contents, except stream objects)

$ dumppdf.py -T foo.pdf
(dump the table of contents)

$ dumppdf.py -r -i6 foo.pdf > pic.jpeg
(extract a JPEG image)

Ответ 2

Я пробовал dump.pdf -T, но он не работал в некоторых файлах PDF.

Есть еще один инструмент из MuPDF с именем mutool, который я только что нашел. Я не знаю, было ли это лучше, чем dump.pdf, но работал над файлом PDF dump.pdf выдает ошибку.

Здесь, как извлечь TOC с mutool

mutool show {your-pdf-file} outline

MuPDF

Ответ 3

В качестве альтернативы вы можете использовать MuPDF, который представляет собой довольно легкую, но полную реализацию PDF, написанную C. В подкаталоге apps/ вы найдут некоторые инструменты, которые могут просматривать, выгружать и извлекать информацию из файлов PDF. Я бы предпочел MuPDF над xpdf, потому что он активно поддерживается и имеет лучшую поддержку PDF.

В противном случае всегда Poppler, который фактически основан на xpdf. Разработчики портировали свой код на С++. Следовательно, он работает хуже, чем его предшественник. По сравнению с MuPDF, Poppler, похоже, имеет несколько больше функций, но в свою очередь код намного сложнее.

Для ваших целей MuPDF должен быть достаточным. Вы можете взломать простое приложение из кода примера, представленного в apps/, который извлекает всю необходимую информацию, не полагаясь на внешние приложения.

Ответ 4

Я думаю, что смотреть на PHP PDFLib было бы очень хорошим местом для начала. Если вы прокрутите вниз, вы увидите множество решений для преобразования PDF в HTML или PDF в текст. После преобразования относительно простая функция сопоставления может извлекать помеченные элементы TOC и, например, выталкивать их в массив, который вы затем можете манипулировать по своему усмотрению.

fooobar.com/info/299050/... есть еще несколько решений.

Надеюсь, что это поможет.