Обрезка PDF / Добавление рамки обрезки с помощью Ghostscript - PullRequest
8 голосов
/ 27 апреля 2011

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

Как я могу сделать это, используя Ghostscript (v8.71)?Я нашел это:

gs -sDEVICE=pdfwrite -sOutputFile=marked.pdf [/CropBox [54 54 1314 810] /PAGES pdfmark original.pdf

Я пробовал это (и все варианты, которые я могу придумать), но я всегда получаю ошибку, такую ​​как это:

Error: /undefinedfilename in ([/CropBox)

Я пытался перемещаться по параметрам команды, но, похоже, ничего не работает.Кто-нибудь знает, как это можно сделать?

Обновление: после исправления синтаксиса поле обрезки по-прежнему отсутствует, см. Результаты -

Результаты для: pdfinfo -box -f 1 -l 3 original.pdf

Producer:       PDFlib 7.0.2 (PHP5/Linux)
CreationDate:   Wed Oct 21 11:41:04 2009
ModDate:        Wed Oct 21 13:38:22 2009
Tagged:         no
Pages:          1
Encrypted:      no
Page    1 size: 1423 x 918 pts
Page    1 MediaBox:     0.00     0.00  1423.00   918.00
Page    1 CropBox:      0.00     0.00  1423.00   918.00
Page    1 BleedBox:    54.00    54.00  1369.00   864.00
Page    1 TrimBox:      0.00     0.00  1423.00   918.00
Page    1 ArtBox:       0.00     0.00  1423.00   918.00
File size:      914373 bytes
Optimized:      no
PDF version:    1.4`

Результаты для: pdfinfo -box -f 1 -l 3 marked.pdf

Producer:       GPL Ghostscript 8.71
CreationDate:   Wed Apr 27 15:43:38 2011
ModDate:        Wed Apr 27 15:43:38 2011
Tagged:         no
Pages:          1
Encrypted:      no
Page    1 size: 1423 x 918 pts
Page    1 MediaBox:     0.00     0.00  1423.00   918.00
Page    1 CropBox:      0.00     0.00  1423.00   918.00
Page    1 BleedBox:     0.00     0.00  1423.00   918.00
Page    1 TrimBox:      0.00     0.00  1423.00   918.00
Page    1 ArtBox:       0.00     0.00  1423.00   918.00
File size:      392382 bytes
Optimized:      no
PDF version:    1.4

Обновление: отправлены примеры PDF-файлов -

able_to_crop.pdf can_crop.pdf

1 Ответ

9 голосов
/ 27 апреля 2011

Вы на правильном пути, пытаясь использовать pdfmark / Ghostscript для добавления CropBox. Но ваш синтаксис не на 100% правильный.

Попробуйте вместо этого:

 gs \
  -sDEVICE=pdfwrite \
  -o marked.pdf \
  -c "[/CropBox [54 54 1314 810] /PAGES pdfmark" \
  -f original.pdf
...