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

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

15
задан Aristoteles 31 May 2010 в 11:47
поделиться

2 ответа

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

Этот метод использует небольшую вспомогательную программу, написанную на PostScript, поставляемую с исходным кодом Ghostscript. Найдите в подкаталоге 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 ]
  [....]
10
ответ дан 1 December 2019 в 02:37
поделиться

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

Но поскольку вы запросили и другие возможности: довольно надежный способ определения размеров носителя для каждой страницы (и даже каждого из встроенных полей {Обрезка, Медиа, Обрезка, Обрезка}) - это инструмент командной строки pdfinfo. исполняемый. Эта утилита является частью инструментов 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
12
ответ дан 1 December 2019 в 02:37
поделиться
Другие вопросы по тегам:

Похожие вопросы: