首页 > 解决方案 > 尝试重新定义变量时访问无效

问题描述

我正在尝试从内部更新变量BeginPage。当我尝试重新定义它时,我得到:

无效访问

下面是postscript. 我省略了大部分配置文件,我刚刚粘贴了postscript给我问题的那个。

我在这里尝试做的是rotate每页even180 度。我认为 的定义PageCounter将存储在userdict允许我读/写访问的地方,但我猜事实并非如此。

任何帮助将不胜感激。

<<
    /PageCounter 1 def
    /BeginPage
    {
        PageCounter 2 mod 0 eq {100 100 translate 180 rotate} if
        /PageCounter PageCounter 1 add def
    }
>> setpagedevice

标签: postscript

解决方案


在我的测试 pdf 发生翻转和消失之前,这是我所能得到的最接近的结果。我怀疑它们可能会有所不同。我越来越困了。我将操作数从堆栈中弹出并使用 /PageCount 代替。请记住,开始页面中的计数减少了 1。我很高兴你有另一个解决方案。

%!
<<
/BeginPage { pop currentpagedevice /PageCount get 2 mod 1 eq{ 45 rotate 300 -300 translate}if }
>> setpagedevice

编辑:这适用于ghostscript。我终于打败了自动旋转功能,除了还认为 /Tumble 应该工作。我只有一台单面打印机,所以不要使用双面/翻转设置。所以我想知道这是否适用于您的蒸馏器或打印机类型:

%!
<<
/BeginPage {
pop currentpagedevice /PageCount get 2 mod 1 eq{
180 rotate -612 -792 translate
}if }
>> setpagedevice

<< /AutoRotatePages /None >> setpagedevice

推荐阅读