Usare GhostScript per ottenere le dimensioni della pagina

È ansible ottenere le dimensioni della pagina (ad esempio da una pagina di documento PDF) usando GhostScript? Ho visto il dispositivo “bbox”, ma restituisce il rettangolo di selezione (differisce per pagina), non il TrimBox (o CropBox) delle pagine PDF. (Vedi http://www.prepressure.com/pdf/basics/page_boxes per informazioni sui box di pagina.) Altre possibilità?

Nel frattempo ho trovato un metodo diverso. Questo usa solo Ghostscript (proprio come richiesto). Non c’è bisogno di ulteriori utilità di terze parti.

Questo metodo utilizza un piccolo programma di supporto, scritto in PostScript, spedito con il codice sorgente di Ghostscript. Cerca nella sottodirectory toolbin per il file pdf_info.ps .

I commenti inclusi dicono che dovresti eseguirlo in questo modo per elencare i font utilizzati, le dimensioni dei supporti utilizzate

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

L’ho eseguito su un file di esempio locale, con parametri della riga di comando che richiedono solo le dimensioni del supporto (non i caratteri utilizzati). Ecco il risultato:

 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 ] [....] 

Sfortunatamente non sembra abbastanza facile ottenere le dimensioni della pagina (possibilmente diverse) (o * Box per quella materia) all’interno di un PDF con l’aiuto di Ghostscript.

Ma dal momento che hai chiesto anche altre possibilità: un modo abbastanza affidabile per determinare le dimensioni dei supporti per ogni pagina (e anche ciascuna delle caselle incorporate {Trim, Media, Crop, Bleed}) è lo strumento a riga di comando pdfinfo.exe. Questa utility fa parte degli strumenti XPDF di http://www.foolabs.com/xpdf/download.html . Puoi eseguire lo strumento con il parametro “-box” e dirlo con “-f 3” per iniziare a pagina 3 e con “-l 8” per interrompere l’elaborazione a pagina 8.

Esempio di output:

 C: \ download> pdfinfo -box -f 1 -l 3 _IXUS_850IS_ADVCUG_EN.pdf
 Creatore: FrameMaker 6.0
 Produttore: Acrobat Distiller 5.0.5 (Windows)
 Data di creazione: 17/08/06 16:43:06
 ModDate: 22/08/06 12:20:24
 Tagged: no
 Pagine: 146
 Crittografato: no
 Page 1 dimensioni: 419.535 x 297.644 punti
 Pagina 2: 297.646 x 419.524 punti
 Page 3 dimensioni: 297,646 x 419,524 punti
 Page 1 MediaBox: 0,00 0,00 595,00 842,00
 Pagina 1 CropBox: 87,25 430,36 506,79 728,00
 Pagina 1 BleedBox: 87.25 430,36 506,79 728,00
 Page 1 TrimBox: 87.25 430,36 506,79 728,00
 Pagina 1 ArtBox: 87,25 430,36 506,79 728,00
 Page 2 MediaBox: 0,00 0,00 595,00 842,00
 Pagina 2 CropBox: 148,17 210,76 445,81 630,28
 Pagina 2 BleedBox: 148,16 210,76 445,81 630,28
 Page 2 TrimBox: 148,16 210,76 445,81 630,28
 Pagina 2 ArtBox: 148,16 210,76 445,81 630,28
 Page 3 MediaBox: 0,00 0,00 595,00 842,00
 Pagina 3 CropBox: 148,16 210,76 445,81 630,28
 Pagina 3 BleedBox: 148,16 210,76 445,81 630,28
 Page 3 TrimBox: 148,16 210,76 445,81 630,28
 ArtBox: 148,16 210,76 445,81 630,28
 Dimensione del file: 6888764 byte
 Ottimizzato: sì
 Versione PDF: 1.4