Нет, насколько мне известно, невозможно удалить все изображения в PDF-файле с помощью инструмента командной строки.
Какова цель вашего запроса в любом случае? Сохранить на размер файла? Удалить информацию, содержащуюся в изображениях? Или ...?
Обходной путь
К чему бы вы ни стремились, вот команда, которая понижает разрешение всех изображений до разрешения 2 ppi (Обновление: 1 ppi не работает). Который достигает сразу двух целей:
- уменьшить размер файла
- сделать все изображения в основном непонятными
Вот как это сделать выборочно, только для изображений на странице 33 original.pdf
:
gs \
-o images-uncomprehendable.pdf \
-sDEVICE=pdfwrite \
-dDownsampleColorImages=true \
-dDownsampleGrayImages=true \
-dDownsampleMonoImages=true \
-dColorImageResolution=2 \
-dGrayImageResolution=2 \
-dMonoImageResolution=2 \
-dFirstPage=33 \
-dLastPage=33 \
original.pdf
Если вы хотите сделать это для всех изображений на всех страницах, просто пропустите параметры -dFirstPage
и -dLastPage
.
Если вы хотите удалить всю информацию о цвете из изображений, преобразуйте их в оттенки серого с помощью той же команды (ищите другие ответы на Stackoverflow, где обсуждаются подробности).
Обновление: изначально я предлагал использовать разрешение 1 PPI. Кажется, это не работает с Ghostscript. Я сейчас тестировал с 2 PPI. Это работает.
Обновление 2. См. также следующий (новый) вопрос с ответом:
Он предоставляет пример кода PostScript, который полностью удаляет все (растровые) изображения из PDF, оставляя остальную часть макета страницы без изменений.
Это также отражает расширенные новые возможности Ghostscript, которые теперь могут выборочно удалять либо весь текст, либо все растровые изображения, либо все векторные объекты из PDF, либо любую комбинацию этих трех типов.
person
Kurt Pfeifle
schedule
19.12.2013