2015-01-25 2 views
0

Я пытаюсь извлечь изображения из pdf. pdfbox способен извлекать изображения из большинства PDF-файлов, но их представляют собой некоторые pdf-файлы, изображения которых не извлекаются из pdfbox.pdfbox и itext не удалось извлечь изображение

Для извлечения изображения я использую следующий код: Not able to extract images from PDFA1-a format document

Вы можете скачать образец PDF с этой проблемой по этой ссылке: http://myslams.com/test/2.pdf

их что-то неправильно код может быть что-то я забыл обрабатывать или что-то не так с pdf вместе?

+0

* Для извлечения изображения я использую следующий код * - вы имеете в виду ваш код из этого другого вопроса или кода, адаптированного в соответствии с ответом @ Tilman. – mkl

+0

@mkl код, адаптированный в соответствии с tilman –

+0

Я получаю * Запрашиваемый URL /test/2.pdf не найден на этом сервере. * Так же, как нет PDF-кода в указанном вами URL-адресе, возможно, на изображении нет изображения вы упоминаете. Возможно, вы пытаетесь извлечь форму XObject, предполагая, что это XObject изображения. То, что может восприниматься как изображение для человеческого глаза, на самом деле может быть кучей линий и форм вместо реального изображения. –

ответ

1

Поскольку OP еще не заменил свою устаревшую ссылку PDF-образца на рабочий, вопрос может быть дан только в общих чертах.

Код, на который ссылается OP (с исправлениями в ответ @Tilman), повторяет непосредственные ресурсы изображения на каждой странице и сохраняет соответствующие файлы.

Таким образом, код может хранить слишком много изображений, поскольку изображения ресурсов страницы не обязательно могут быть использованы на странице в вопросе:

  1. С одной стороны, он не может быть использован на всех в файл или, по крайней мере, нигде не видно, просто осталось от предыдущего сеанса редактирования PDF.
  2. С другой стороны, на нескольких страницах может быть словарь общих ресурсов, содержащий все изображения на всех этих страницах; в этом случае код OP экспортирует много дубликатов.

И код может хранить слишком мало изображения, потому что есть и другие места, где изображения могут быть помещены:

  1. Данные изображения могут быть непосредственно включены в поток контента страницы, иначе встроенные изображения.
  2. Создает собственные ресурсы (форма xobjects, шаблоны, глифы типа 3), используемые из содержимого страницы, могут предоставлять свои собственные ресурсы изображения или встроенные иммаги.
  3. Аннотации, например. Поля формы AcroForm могут также иметь собственные потоки внешнего вида с собственными ресурсами и, следовательно, могут предоставлять свои собственные графические ресурсы или встроенные объекты.
  4. Формы XFA могут также предоставлять свои собственные изображения.

Как только ОП предоставляет репрезентативный образец файла, можно определить тип изображений, которые он пропускает, и может быть определено конкретное решение.

EDIT

Согласно замечанием ОП, его проблемы извлечения изображения были решены путем использования информации из this answer на его вопрос "pdfbox and itext extracting image with incorrect dpi". Особенно важно указать код примера, подходящий для версии PDF 1.8, используемой OP sems.

Таким образом, любой вид неправильного вывода также может возникать в результате проблем с программным управлением.

+0

Ваш ответ здесь http://stackoverflow.com/questions/28140311/pdfbox-and-itext-extracting-image-with-incorrect-dpi решил мою проблему. Могу ли я отредактировать ваш ответ выше и пометить его как ответ. –

+0

@sameersingh Надеюсь, мое редактирование правильно передает причину разрешения. – mkl

Смежные вопросы