Все статьи

Удалить страницы PDF через CLI

Ghostscript оставляет только нужные страницы: удаление — это список того, что сохранить.

Открыть онлайн-конвертер

Какие пакеты установить

Используйте ghostscript. В -sPageList перечислите страницы, которые должны остаться.

ghostscript
apt install
sudo apt-get update
sudo apt-get install -y ghostscript

Как вызвать команду

Чтобы удалить 2-ю страницу из 10-страничного файла, оставьте 1,3-10: gs ... -sPageList=1,3-10 -sOutputFile=cleaned.pdf input.pdf. Диапазон 2- значит «со второй до конца».

gs
gs -sDEVICE=pdfwrite -dNOPAUSE -dBATCH -dSAFER -sPageList=1,3-10 -sOutputFile=cleaned.pdf input.pdf

Пример Dockerfile

Соберите минимальный образ Ubuntu с нужными пакетами и запускайте конвертацию в контейнере.

Dockerfile
FROM ubuntu:24.04

RUN apt-get update && \
    apt-get install -y --no-install-recommends \
        ghostscript && \
    rm -rf /var/lib/apt/lists/*

WORKDIR /work
docker build && docker run
docker build -t delete-pages-pdf .
docker run --rm -v "$PWD:/work" -w /work delete-pages-pdf \
  gs -sDEVICE=pdfwrite -dNOPAUSE -dBATCH -dSAFER -sPageList=1,3-10 -sOutputFile=cleaned.pdf input.pdf

Примеры команд

Команды ниже можно запускать локально после установки пакетов или внутри контейнера из Dockerfile.

Пример 1
gs -sDEVICE=pdfwrite -dNOPAUSE -dBATCH -dSAFER -sPageList=1,3-10 -sOutputFile=cleaned.pdf input.pdf
Пример 2
gs -sDEVICE=pdfwrite -dNOPAUSE -dBATCH -dSAFER -sPageList=2- -sOutputFile=without-first.pdf input.pdf