Использование 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