Я извлекаю pdf в изображения/swf и текст с помощью SWFTools и XPDF. Я запускаю их в сценарии PDF.Выдержка TOC PDF?
Но теперь я пытаюсь сделать еще один шаг и попытаться получить ТОС из PDF, можно ли извлечь эту информацию?
Я извлекаю pdf в изображения/swf и текст с помощью SWFTools и XPDF. Я запускаю их в сценарии PDF.Выдержка TOC PDF?
Но теперь я пытаюсь сделать еще один шаг и попытаться получить ТОС из PDF, можно ли извлечь эту информацию?
Я нашел это с немного поиска. Это выглядит довольно многообещающе.
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)
После дальнейших исследований я мог бы найти действительно полезные приложения для этого инструмента, я сам! +1 к Юсуке Шиняма и остальной команде PDFMiner! –
Спасибо, я посмотрю .. но он генерирует TOC внутри XML тоже .. ass теперь я использую XPDF и PDF2SWF, чтобы получить контент уже :) Но нет опции для TOC – Chris
Я думаю, что я не уверен, что вы спрашиваете. Вторая строка «пример» претендует на то, чтобы специально указать TOC в XML-файл, который вы можете анализировать любым способом. Я не использовал инструмент сам, это просто звучит так, как будто это выполнит то, что вы хотите сделать. –
Я думаю, что посмотреть на PHP's PDFLib было бы очень хорошим местом для начала. Если вы прокрутите вниз, вы увидите множество решений для преобразования PDF в HTML или PDF в текст. После преобразования относительно простая функция сопоставления может извлекать помеченные элементы TOC и, например, высылать их в массив, который вы затем можете манипулировать по своему усмотрению.
This StackOverflow post также имеет несколько решений.
Надеюсь, это поможет.
Я использую XPDF pdf2txt уже ... но как бы вы это соответствовали? ToC обычно создается вручную .. и информация должна быть где-то в pdf .. (так как они могут иметь боковую панель) – Chris
TOC * должен * быть создан только вручную, когда люди не имеют требуемого профессионала инструменты для этого автоматически. Если это делается автоматически, элементы в TOC будут помечены как закладки (и я думаю, что это то, что вы называете «боковой панелью») и связаны со своими страницами, и поэтому их легче сопоставить. Если они выполняются вручную, то они ничем не отличаются от любого другого фрагмента текста в любом PDF-файле и с успешным совпадением сценария они будут практически невозможны. –
В качестве альтернативы, вы можете использовать MuPDF, который является довольно легкой, но полной реализацией PDF написанного С. В подкаталоге apps/
вы найдете некоторые инструменты, которые можно просматривать, свалку и извлекать информацию из файлов PDF. Я бы предпочел MuPDF над xpdf, потому что он активно поддерживается и имеет лучшую поддержку PDF.
В противном случае всегда есть Poppler, который фактически основан на xpdf. Разработчики портировали свой код на C++. Следовательно, он работает хуже, чем его предшественник. По сравнению с MuPDF, Poppler, похоже, имеет несколько больше возможностей, но в свою очередь код намного сложнее.
Для ваших целей MuPDF должен быть достаточным, хотя. Вы можете взломать простое приложение из кода примера, приведенного в apps/
, который извлекает всю необходимую информацию, не полагаясь на внешние приложения.
Спасибо, я дам это попробовать тоже ^^ – Chris
Я пробовал dump.pdf -T
, но он не работал над некоторыми PDF-файлами.
Существует еще один инструмент от MuPDF по имени mutool
, который я только что нашел. Я не знаю, было ли это лучше, чем dump.pdf, но работал над файлом PDF dump.pdf выдает ошибку.
Вот как извлечь TOC с mutool
mutool show {your-pdf-file} outline
+1, я оценил бы видеть, как сделать это, как хорошо. –
Если вы хотите сделать это с помощью стороннего приложения, я могу порекомендовать [Debenu PDF Aerialist] (http://www.debenu.com/products/desktop/debenu-pdf-aerialist/), который имеет функцию экспорта для "Содержание". –