I already know about Ghostscript front end viewers; but I was wondering how gs
itself could be used for viewing PDF documents?
The closest I could get to, is to specify explicitly x11
window as output device, specify width and height of the window via -g
, and specify rasterization resolution via -r
; or, a command line like this:
gs -sDevice=x11 -g500x500 -r150x150 -dFirstPage=3 fontspec.pdf
... which results with something like:
... which is, in fact, all good - except, it starts at lower left corner; and there are no keyboard shortcuts (as far as I can see) here to move the viewport, or to perform some zooming.
I'm aware that ghostscipt
probably doesn't have mouse/keyboard interaction for navigating a x11 window output, given that something like that is reserved for front-end viewers like gv
. So, the closest thing to that (for me) in ghostscript would be - how to render a specific region of a page? Via -d
and -r
the most important parameters are already specified - I'd just want to, say, specify a different point than 0x0 (say, x=100 y=100) as a lower left corner when viewing.
(In other words, I'd like to say to ghostscript
: show page 3 of document.pdf, rasterized at 150x150, in a window of 500x500, starting from lower-left corner x,y=100,100).
How can this be done in ghostscript
? Are there command line switches for that - or would one have to use postscript
language commands in terminal, once ghostscript
has loaded?
Many thanks in advance for any answers,
Cheers!
No, AFAIK, Ghostscript itself doesn't provide what you want (a 'viewport'). That's exactly what the ghostview and gv GUI frontends are for.
Ghostscript treats the x11 device (almost) as a print page output device, and print pages do have fixed sizes, and you cannot move a 'viewport' of the page image on them either -- unless you do re-print them with a different setting: and this is then where a differently valued -c "<</PageOffset [-150 133]>> setpagedevice"
parameter comes into play...
OK, thanks to (#277826) ghostscript - How can I shift page images in PDF files more to the left or to the right?, I can see there is possibility to use postscript
's PageOffset
command/operator to achieve offset/displacement of the viewport; thus the following command line can be used:
gs -sDevice=x11 -g500x500 -r150x150 -dFirstPage=3 -c '<</PageOffset [-150 133]>> setpagedevice' -f fontspec.pdf
Note that, unlike the command line in OP - here you must use the -f
switch to specify the input file here - if not, the command will fail with: Error: /undefined in fontspec.pdf
.
Otherwise, the output looks like this:
So this is nice to know - but I'm still curious if ghostscript
doesn't already have some default switches, that would allow this viewport offset/repositioning thing...
Hope this helps someone,
Cheers!
来源:https://stackoverflow.com/questions/11092065/using-ghostscript-as-x11-viewer-gs-x11-viewport-positioning