如何将一页后记(但不是封装后记)嵌入到另一个文档中

问题描述 投票:0回答:1

从某种意义上说,我是在问

psnup
是如何工作的。

假设我有一个遵循文档结构约定的现有文档。我可以扫描它,拉出序言、预告片和单独的页面。然后,我想将选定的页面嵌入到另一个文档的输出中,并进行缩放和翻译。我尝试遵循封装后脚本的约定,但这些约定假设源材料遵循正确的规则。

我尝试过这样做:

在序言中定义这些:

/BeginEPSF {
  /b4_inc_state save def            % save state for cleanup
  /dict_count countdictstack def    % count objects on dict stack
  /op_count count 1 sub def         % count objects on operand stack
  userdict begin                    % push userdict on dict stack
  /showpage { } def                 % redefined showpage
  0 setgray 0 setlinecap
  1 setlinewidth 0 setlinejoin
  10 setmiterlimit [] 0 setdash newpath
  /languagelevel where
  {pop languagelevel
  1 ne
    {false setstrokeadjust false setoverprint
    } if
  } if
} bind def


/EndEPSF {
  count op_count sub {pop} repeat   % clean up stacks
  countdictstack dict_count sub {end} repeat
  b4_inc_state restore
} bind def

然后在我的输出页面之一中我做了这样的事情:

%%Page: "1" 1
BeginEPSF
gsave
0.00000 49.76471 translate
0.64706 0.64706 scale

(copy one page from source document, discarding its leading %%Page)

grestore
EndEPSF
showpage

然而嵌入的页面在输出文档中呈现不变。嵌入页面中的某些内容覆盖了我的

BeginEPSF
功能。

我已经比较并确认我的代码和 psnup 都复制了页面内容不变(除了删除 %%Page 注释),所以它是包装代码中的东西。

我没有花几天时间尝试理解 psnup 代码,而是想知道是否有一个类似于 EPS 规范的文档,说明应该如何完成此操作。

postscript eps
1个回答
0
投票

不是最终答案,但我通过从 psnup 复制 prolog 代码并根据需要进行修改来解决它。

暂时保留这个问题,因为我希望找到一个官方的“规范”答案,而不是复制粘贴我不太理解的代码。

© www.soinside.com 2019 - 2024. All rights reserved.