
У меня есть довольно большой (~100 МБ) PDF-документ с большим количеством изображений (в качестве иллюстраций и фоновых изображений), и я хотел бы получить копию этого PDF-файла без изображений, но не могу понять, как это сделать.
Я не говорю о преобразовании только в текст, я хотел бы сохранить абзацы/таблицы/несколько столбцов такими, какие они есть.
Я уверенно работаю с командной строкой и имею несколько компьютеров с разными дистрибутивами, которые я могу использовать.
решение1
Последние версии Ghostscript тоже могут это делать. Просто добавьте параметр -dFILTERIMAGE
в свою команду.
Есть еще два новых параметра, которые можно добавить для выборочного удаления типов контента."вектор"и"текст":
-dFILTERIMAGE
: создает вывод, в котором удалены все растровые изображения.-dFILTERTEXT
: создает вывод, в котором удалены все текстовые элементы.-dFILTERVECTOR
: создает вывод, в котором удалены все векторные рисунки.
Любые два из этих вариантов можно объединить. (Если объединить все три, то все страницы будут очищены...)
Примеры
Вот скриншот примера страницы PDF-файла, содержащей все 3 типа контента, упомянутые выше:
Скриншот оригинальной страницы PDFсодержащий элементы «изображение», «вектор» и «текст».
Выполнение следующих 6 команд создаст все 6 возможных вариантов оставшегося содержимого:
gs -o noIMG.pdf -sDEVICE=pdfwrite -dFILTERIMAGE input.pdf gs -o noTXT.pdf -sDEVICE=pdfwrite -dFILTERTEXT input.pdf gs -o noVCT.pdf -sDEVICE=pdfwrite -dFILTERVECTOR input.pdf gs -o onlyIMG.pdf -sDEVICE=pdfwrite -dFILTERVECTOR -dFILTERTEXT input.pdf gs -o onlyTXT.pdf -sDEVICE=pdfwrite -dFILTERVECTOR -dFILTERIMAGE input.pdf gs -o onlyVCT.pdf -sDEVICE=pdfwrite -dFILTERIMAGE -dFILTERTEXT input.pdf
Результаты показаны на следующем рисунке:
Верхний ряд,слева направо: удален весь «текст»; удалены все «изображения»; удалены все «векторы».Нижний ряд,слева направо: сохранен только «текст»; сохранены только «изображения»; сохранены только «векторы».
решение2
cpdf -draft original.pdf -o version_without_images.pdf
Его нет в репозиториях, но вы можете найти его для скачивания (предварительно скомпилированныйилиисточник) наих веб-сайт.
15.1 Проекты документов
Параметр -draft удаляет из файла растровые (фотографические) изображения, чтобы его можно было напечатать с меньшим расходом чернил. При желании можно добавить параметр -boxes, заполняя пустые места перечеркнутым квадратом, обозначающим место, где было изображение. Не гарантируется, что оно будет полностью видимо во всех случаях (растровое изображение может быть частично закрыто векторными объектами или обрезано в оригинале). Например:
cpdf -draft -boxes in.pdf -o out.pdf
решение3
В то время как ответ @Rinzwind - этоПравильная вещь, я хотел бы просто прокомментировать "промежуточное" решение. Обычно можно значительно уменьшить размер изображений, используяghostscriptс
gs -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dPDFSETTINGS=/screen \
-dNOPAUSE -dQUIET -dBATCH -sOutputFile=small.pdf original.pdf
...иногда это очень удобно для корректуры. Страница руководства по написанию PDF-файловздесь.
решение4
Вы можете использоватьМастер-редактор PDF(для Windows, Linux, macOS):
- Открыть PDF-файл
- Удалить эти изображения
- Сохранить как новый PDF-файл
Вы можете загрузить его из центра программного обеспечения Ubuntu.