1

Я обрезаю и растеризую некоторые PDF-файлы, используя ImageMagick. Чтобы удалить какой-то текст, который мне не нужен, я хочу обрезать его до меньшего размера, чем необходимо, а затем перенастроить размер страницы, добавив пробел.

Чтобы растеризовать и обрезать, я действую следующим образом:

for filename in *.eps; do
    convert -density 150 -crop "$bbwpx"x"$bbhpx"+"$xoffpx"+"$yoffpx" \
      +repage "$filename" "${filename%.*}.png"
    convert "${filename%.*}.png" "${filename%.*}.pdf"
done

После этого ответа я хочу увеличить высоту страницы. Поэтому я добавил еще одну строку в код, показанный выше, чтобы получить:

for filename in *.eps; do
    convert -density 150 -crop "$bbwpx"x"$bbhpx"+"$xoffpx"+"$yoffpx" \
       +repage "$filename" "${filename%.*}.png"
    convert "${filename%.*}.png" "${filename%.*}.pdf"
    gs -q -sDEVICE=pdfwrite -dBATCH -dNOPAUSE -sOutputFile="${filename%.*}-crop.pdf"\
      -dDEVICEWIDTHPOINTS="$bbw" -dDEVICEHEIGHTPOINTS="$bbhnew" -dFIXEDMEDIA -c \
      "<< /CurrPageNum 1 def /Install {0 $bbcorr translate} bind  >> \
      setpagedevice" -f "${filename%.*}.pdf"
done

Тем не менее, после выполнения этого высота всегда остается такой же, как прежде (как показано в pdfinfo), однако содержимое pdf корректно переведено.

Однако выполнение кода на не растеризованных PDF-файлах работает.

0