Использование GhostScript для получения размера страницы

Можно ли получить размер страницы (например, на странице PDF-документа) с помощью GhostScript? Я видел устройство "bbox", но он возвращает ограничивающий прямоугольник (он отличается на странице), а не TrimBox (или CropBox) страниц PDF. (См. http://www.prepressure.com/pdf/basics/page_boxes для информации о страницах.) Любая другая возможность?

Ответы

Ответ 1

Между тем я нашел другой метод. Этот использует только Ghostscript (так же, как вам нужно). Нет необходимости в дополнительных сторонних утилитах.

Этот метод использует небольшую вспомогательную программу, написанную на PostScript, отправляющую исходный код Ghostscript. Посмотрите в subdir toolbin для файла pdf_info.ps.

Включенные комментарии говорят, что вы должны запускать его так, чтобы отображать используемые шрифты, используемые размеры носителей

gswin32c -dNODISPLAY ^
   -q ^
   -sFile=____.pdf ^
   [-dDumpMediaSizes] ^
   [-dDumpFontsUsed [-dShowEmbeddedFonts]] ^
   toolbin/pdf_info.ps

Я запустил его в файле локального примера с параметрами командной строки, которые запрашивают только размер носителя (не используемые шрифты). Вот результат:

C:\> gswin32c ^
      -dNODISPLAY ^
      -q ^
      -sFile=c:\downloads\_IXUS_850IS_ADVCUG_EN.pdf ^
      -dDumpMediaSizes ^
      C:/gs8.71/lib/pdf_info.ps


  c:\downloads\_IXUS_850IS_ADVCUG_EN.pdf has 146 pages.
  Creator: FrameMaker 6.0
  Producer: Acrobat Distiller 5.0.5 (Windows)
  CreationDate: D:20060817164306Z
  ModDate: D:20060822122024+02'00'

  Page 1 MediaBox: [ 595 842 ] CropBox: [ 419.535 297.644 ]
  Page 2 MediaBox: [ 595 842 ] CropBox: [ 297.646 419.524 ]
  Page 3 MediaBox: [ 595 842 ] CropBox: [ 297.646 419.524 ]
  Page 4 MediaBox: [ 595 842 ] CropBox: [ 297.646 419.524 ]
  [....]

Ответ 2

К сожалению, не очень легко получить (возможно, разные) размеры страниц (или * Коробки, если на то пошло) внутри PDF с помощью Ghostscript.

Но так как вы также попросили другие возможности: достаточно надежный способ определить размеры медиа для каждой страницы (и даже каждый из встроенных ящиков {Trim, Media, Crop, Bleed}) - это инструмент командной строки pdfinfo. Exe. Эта утилита является частью инструментов XPDF из http://www.foolabs.com/xpdf/download.html. Вы можете запустить инструмент с параметром "-box" и сообщить ему с "-f 3", чтобы начать со страницы 3 и с "-l 8", чтобы остановить обработку на стр. 8.

Пример вывода:

C:\downloads>pdfinfo -box -f 1 -l 3 _IXUS_850IS_ADVCUG_EN.pdf
Creator:        FrameMaker 6.0
Producer:       Acrobat Distiller 5.0.5 (Windows)
CreationDate:   08/17/06 16:43:06
ModDate:        08/22/06 12:20:24
Tagged:         no
Pages:          146
Encrypted:      no
Page    1 size: 419.535 x 297.644 pts
Page    2 size: 297.646 x 419.524 pts
Page    3 size: 297.646 x 419.524 pts
Page    1 MediaBox:     0.00     0.00   595.00   842.00
Page    1 CropBox:     87.25   430.36   506.79   728.00
Page    1 BleedBox:    87.25   430.36   506.79   728.00
Page    1 TrimBox:     87.25   430.36   506.79   728.00
Page    1 ArtBox:      87.25   430.36   506.79   728.00
Page    2 MediaBox:     0.00     0.00   595.00   842.00
Page    2 CropBox:    148.17   210.76   445.81   630.28
Page    2 BleedBox:   148.17   210.76   445.81   630.28
Page    2 TrimBox:    148.17   210.76   445.81   630.28
Page    2 ArtBox:     148.17   210.76   445.81   630.28
Page    3 MediaBox:     0.00     0.00   595.00   842.00
Page    3 CropBox:    148.17   210.76   445.81   630.28
Page    3 BleedBox:   148.17   210.76   445.81   630.28
Page    3 TrimBox:    148.17   210.76   445.81   630.28
Page    3 ArtBox:     148.17   210.76   445.81   630.28
File size:      6888764 bytes
Optimized:      yes
PDF version:    1.4