Вопрос:
У меня есть PDF-файл, содержащий слои.
Например, на некоторых страницах есть графики, поверх которых при нажатии (слои) отображаются дополнительные данные.
Теперь мне нужно попытаться извлечь все эти слои из файла PDF, или, если быть точным, мне нужны ВСЕ данные из этого файла PDF, включая слои. Файл PDF содержит javascript для отображения / скрытия слоев, когда это необходимо.
Каков наилучший подход? Есть ли какой-либо инструмент, который действительно работает для моих намерений? Или я должен написать что-то сам? (Если это возможно, конечно).
Редактировать:
Здесь вы можете скачать PDF-файл:http://www.2shared.com/document/IutUfDfr/OR_erasmus.html
Пароль для просмотра: erasmus
Ответ №1:
Я не знаю, есть ли какие-либо инструменты как таковые, но если вы не можете их найти, вы можете сделать следующее:
- для каждой комбинации слоев включения / выключения, которая вас интересует, пройдитесь по всем страницам и соберите потоки содержимого. Обозначьте их и вырежьте содержимое, которое вы не хотите видеть (команды, которые вам нужно отслеживать, чтобы определить это, — BDC и EMC). Сохраните поток снова с обрезанным содержимым (естественно, сохраните результат в разных файлах). Вам нужно что-то, чтобы прочитать структуру объекта PDF и обновить некоторые объекты (для этого есть множество библиотек), плюс вам нужно иметь возможность анализировать потоки содержимого.
Теперь у вас будет набор PDF-файлов без слоев (необязательный контент), для которых есть множество инструментов для рендеринга в HTML и т.д.
Примечание: необязательное содержимое <—> переключатели слоев в программе просмотра PDF обычно равны 1: 1, но стандарт поддерживает полное отображение n: m. Я бы сосредоточился на реальных дополнительных блоках содержимого, которые можно включать / выключать, чтобы упростить задачу.
Комментарии:
1. Это выглядит не в моей лиге. Я пытаюсь что-то сделать с внешней библиотекой PDF (itextsharp), сейчас я перехожу к той части, где я просматриваю каждую страницу, собирая содержимое этой страницы в PdfDictionary. Тогда я вроде как в ловушке…
Ответ №2:
вы можете использовать этот инструмент для извлечения изображений и текста даже из заблокированных PDF-файлов
http://download.cnet.com/Able2Extract/3000-2079_4-10249654.html
Я сам иногда использую его, и у него есть возможность конвертировать в HTML
Комментарии:
1. Я пробовал это, однако при открытии файла PDF я получаю сообщение об ошибке неизвестного используемого шифрования…
2. Я добавлю PDF, чтобы вы могли видеть, какого он типа.