Добавить черную рамку вокруг файла PDF с помощью ghostscript

Я использую ghostscript для обработки некоторых файлов PDF, и я хотел бы добавить тонкую черную рамку вокруг файлов. Это что-то, что можно сделать с помощью ghostscript, или есть другие (не потерянные) средства командной строки, которые могут это сделать?

  • Как собрать статистику появления байтов в двоичном файле?
  • Команда «ls» застряла, пытаясь перечислить устаревшую точку монтирования. Как вы убиваете / останавливаете его?
  • Разница между «команда не найдена» и «нет такого файла или каталога»?
  • Файлы размером более 1 ГБ и старше 6 месяцев
  • Доступ к USB-накопителю на сервере Ubuntu
  • Как удалить пакеты из командной строки на Ubuntu?
  • Передача значений через трубы
  • Терминальная (не GUI) виртуальная компьютерная программа?
  • Как печатать имена символа Unicode для строки ввода?
  • diff, где строки в основном одни и те же, но не в порядке?
  • Как проследить, почему печать pdf из Ghostscript vs Evince отличается?
  • Значение корня: колесо
  • 2 Solutions collect form web for “Добавить черную рамку вокруг файла PDF с помощью ghostscript”

    Не уверен, что это недостаточно для вас, но вы можете использовать ImageMagick :

    convert foo.pdf -bordercolor black -border 10 foo_with_a_10px_border.pdf 

    Для решения с уверенностью, чтобы не потерять, вы можете создать одностраничный документ PDF с рамкой на прозрачном фоне и применить его по каждой странице вашего документа с помощью команды stamp pdftk :

     pdftk foo.pdf stamp border.pdf output foo_with_my_home-made_border.pdf 

    Как правило, это можно сделать путем преобразования pdf в PostScript, добавив к началу небольшой фрагмент кода PostScript, чтобы переопределить страницу showpage page на странице, а затем распечатать ее или преобразовать в pdf.

    Вы можете конвертировать в и из pdf с pdf2ps и ps2pdf которые обычно упакованы в ghostscript. Этот пример кода PostScript добавляет границу размера A4:

     %!PS % A4 paper is 21.0 × 29.7 cm /cm { 28.4 mul } bind def /w 21.0 cm def /h 29.7 cm def /border { 0.5 cm setlinewidth newpath 0 0 moveto w 0 lineto wh lineto 0 h lineto closepath stroke } bind def /add-border { gsave initgraphics 0 setgray border grestore } def /orig-showpage /showpage load def /showpage { orig-showpage add-border } def add-border 

    Поместите это в файл, скажем, addborder.ps , тогда вы можете

     pdf2ps a.pdf a.ps cat addborder.ps a.ps >b.ps ps2pdf b.ps b.pdf gv b.pdf 

    Для других размеров бумаги отредактируйте определение /w и /h в сантиметрах. Примерная ширина строки составляет 0.5 cm (или половину этого, так как линия центрирована на краю бумаги).

    Linux и Unix - лучшая ОС в мире.