命名页面大小

时间:2013-12-22 17:48:34

标签: postscript

我记得曾经在某个地方读过PostScript包含某种类型的命名页面大小,或某种预设的默认媒体大小,但是我无法找到我在哪里找到它的地方。 (我知道可以写/Letter <</PageSize [612 792]>> def来自己命名一个页面媒体,但这不是我想要的。)

任何人都可以遵守这一点,或者知道这可能存在的地方,如果存在的话?

此外,如何获取当前页面(或页面边界框)角落的位置,以绘制边框等?

1 个答案:

答案 0 :(得分:3)

语言级别1实现确实有一些预定义的媒体大小,但在以后的实现中,这几乎已被弃用。然而,许多口译人员仍然在用户指示或状态判断中有定义。

来自第3版PLRM 6.4输出设备字典 在LanguageLevel 3中,页面设备的某些功能,例如可能的页面 大小或分辨率,可以在输出设备字典中汇总 存储为OutputDevice资源类别的实例。这使应用程序 直接查询设备功能并保持功能等效性 使用LanguageLevel 1(有关页面大小功能的信息) 由userdict条目(例如letter,legal和a4)的存在表示。

从第二版PLRM开始 userdict运算符userdict字典中定义的运算符导致了运算符 要定义的可成像区域。这些运营商的例子包括, 但不限于:a4,a4small,b5,分类帐,legal,letter,lettersmall, 并注意。这些运算符执行相当于initgraphics 和一个擦除页面。这些运算符不能用在EPS文件中 它们将删除包含EPS文件的整个页面。

可悲的是,我不再拥有第一版PLRM的副本。

查找页面边界框的规范方法类似于

initgraphics     %% reset graphics state to the initial state
clippath         %% set the currant path to be the current clip path (ie the page)
flattenpath      %% shouldn't be required, as the initial clip should be rectangular...
pathbbox         %% get the path bounding box