2

我已经了解Ghostscript 前端查看器;但我想知道gs它本身如何用于查看 PDF 文档?

我能做到的最接近的方法是明确指定x11窗口作为输出设备,通过指定窗口的宽度和高度-g,并通过指定光栅化分辨率-r;或者,像这样的命令行:

gs -sDevice=x11 -g500x500 -r150x150 -dFirstPage=3 fontspec.pdf

...结果如下:

ghostscript-viewing.png

......事实上,一切都很好 - 除了它从左下角开始;并且这里没有键盘快捷键(据我所知)来移动视口或执行一些缩放。

我知道ghostscipt可能没有鼠标/键盘交互来导航 x11 窗口输出,因为类似的东西是为前端查看器(如gv. 因此,ghostscript 中与(对我而言)最接近的是 - 如何呈现页面的特定区域?Via-d-r最重要的参数已经指定 - 我只想在查看时指定一个不同于 0x0 的点(例如,x=100 y=100)作为左下角。

换句话说,我想说ghostscript:在 500x500 的窗口中显示 document.pdf 的第 3 页,光栅化为 150x150,从左下角 x,y=100,100 开始)。

如何做到这一点ghostscript?是否有命令行开关 - 或者一旦加载就必须postscript在终端中使用语言命令?ghostscript

非常感谢您的任何答案,
干杯!

4

2 回答 2

2

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:

ghostscript-view-offset.png

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!

于 2012-06-18T23:18:09.193 回答
1

不,AFAIK,Ghostscript 本身并不能提供您想要的(“视口”)。这正是 ghostview 和 gv GUI 前端的用途。

Ghostscript 将 x11 设备(几乎)视为打印页面输出设备,并且打印页面确实具有固定大小,您也不能在其上移动页面图像的“视口”——除非您使用不同的方式重新打印它们设置:这就是一个不同值的 -c "<</PageOffset [-150 133]>> setpagedevice"参数发挥作用的地方......

于 2012-06-19T15:38:36.893 回答