8

У меня есть файл PDF, содержащий карты здания, в котором я работаю, здесь:

http://www.libsys.und.edu/dev/FloorPlans_All.pdf

Исходные исходные файлы были утеряны, и меня попросили извлечь изображения карты, желательно без текста и значков, наложенных поверх них. Это оказалось досадно трудным.

До сих пор я пробовал следующие программы с графическим интерфейсом:

  • Adobe Reader: позволяет мне выбирать текст, но не фоновые изображения
  • FoxIt PDF Viewer: позволяет мне выбирать текст, но не фоновые изображения
  • XPDF в Ubuntu 10.10: позволяет выбирать текст, но не фоновые изображения

А также следующие программы командной строки:

  • pdfimages: извлекает значки, обозначающие ванные комнаты просто отлично, но не фоновые изображения
  • pdftohtml: так же, как pdfimages, плюс он делает плохо размеченный HTML-документ
  • pdfextract: такой же, как pdfimages
  • конвертировать: успешно сохраненные изображения, но с записанным в них текстом

Я даже пытался открыть PDF вручную в текстовом редакторе и извлечь объекты потока, вставив их в новый файл и сохранив его с расширением .jpg, .png или .bmp (каждый по очереди). Учитывая, как мало я знаю о внутренней структуре файлов PDF, неудивительно, что это не сработало.

Итак ... есть ли способ получить изображения карты из этой вещи, не получая также текст и значки?

6 ответов6

6

Вы можете загрузить библиотеку XPDF с http://www.foolabs.com/xpdf/download.html для Linux и Windows. Затем запустите pdfimages -j input.pdf output и вы должны получить output-000.jpg , output-001.jpg и т.д. Кроме того, обратитесь к http://linuxcommand.org/man_pages/pdfimages1.html для получения дополнительных возможностей использования.

2

Хорошо, после того, как я возился с этим в течение 5 минут, мой анализ состоит в том, что PDF даже страннее, чем я думал, и это о чем-то говорит.

Не уверен, каков ваш бюджет, но с Acrobat Pro Extended 9 вы можете использовать:

A. Инструменты, Расширенное редактирование, Touchup Text Tool

-Select All
-Right click, Properties
-Text tab
-Select a standard font (e.g. Arial), close
-Hit Delete

B. Инструменты, Расширенное редактирование, Инструмент Touchup Object

-Выберите объект (вы можете получить большинство, но не все, из них (например, значки компьютеров учеников не могут быть выбраны), затем удалите

Вот как выглядела Страница 1 после быстрой очистки:http://dl.dropbox.com/u/7434256/p1test.pdf

1

Возьмите PDF, созданный Крейгом Н, и немного оптимизируйте его, запустив его через Ghostscript. В Windows командная строка:

gswin32c.exe ^
   -o p1test-gs-optimized.pdf ^
   -sDEVICE=pdfwrite ^
   -dPDFSETTIINGS=/prepress ^
    p1test.pdf

В Linux/Unix/Mac OS X выполните:

gs \
   -o p1test-gs-optimized.pdf \
   -sDEVICE=pdfwrite \
   -dPDFSETTIINGS=/prepress \
    p1test.pdf

Это уменьшит размер файла с 3.000 кБайт до 60 кбайт без потери содержимого. Тогда его импорт в Inkscape (или InDesign, Illustrator, ...) должен быть намного быстрее ....

1

... вы можете попробовать Photoshop. Он читает PDF, и «возможно», он возник в PS и, возможно, все еще содержит слои ... но это очень далеко.

0

В среде Linux я использовал pdfmod для извлечения всех изображений за один раз. См. Https://wiki.gnome.org/Apps/PdfMod или, для пользователей Ubuntu, https://apps.ubuntu.com/cat/applications/pdfmod/.

Чтобы загрузить и установить его в Ubuntu, достаточно набрать sudo apt-get install pdfmod .

  • Запустите графический интерфейс pdfmod (введите pdfmod на панели инструментов или в терминале командной строки)
  • Откройте PDF документ
  • Выберите все страницы (или любые, с которых вы хотите извлечь изображения)
  • Пункт меню «Правка» предоставит возможность извлекать столько изображений, сколько их можно извлечь в пределах выбранного диапазона (export n images с n соответствующим номером). Вы также можете получить доступ к этой команде, наведя указатель мыши на выделение и активировав локальное меню (щелкните правой кнопкой мыши для правой руки).
  • Как только вы это сделаете, откроется новое окно, в котором вы выберете место для сохранения изображений.

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

-1

Откройте документ на экране, увеличьте изображение, чтобы сделать его как можно больше, но все еще видно. Нажмите alt+prnt scrn (или эквивалент в вашей операционной системе), и он должен сделать снимок экрана программы. Теперь откройте краску или ваш любимый графический редактор (фотошоп, gimp и т.д.), Вставьте изображение и обрежьте все, что вам не нужно.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .