首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将参数传递到ps脚本中

如何将参数传递到ps脚本中
EN

Stack Overflow用户
提问于 2019-08-30 12:07:07
回答 1查看 616关注 0票数 0

我对postscript和幽灵脚本非常陌生,如何将参数传递到ps文件中?我有一个powershell脚本,在它执行类似的操作之后,它会进行一些计算并存储变量$par1中的结果

代码语言:javascript
复制
gswin64c.exe -o "result.pdf" -sDEVICE=pdfwrite pdfProc.ps -f "input.pdf"

我希望在pdfProc.ps中使用pdfProc.ps值,但是除了将pdfProc.ps中的所有代码写入-o参数之外,我找不到正确的方法。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-08-30 13:48:00

对于Ghostscript ,只有,命令行上的参数保留在PostScript环境中。对于PostScript解释器来说,这不是通常的行为,所以如果您使用此特性,您的程序将限制在使用Ghostscript。

命令行上任何未被设备识别的开关都存储在(IIRC)系统中。有两种开关:-s和-d,-s引入字符串变量,-d引入名称或数字。

因此,举一个具体的例子,如果我想定义一个数量的苹果,我可以这样做:

gswin64c -dNumApples=4 -sDEVICE=pdfwrite -o out.pdf pdfProc.ps input.pdf

然后,您的PostScript程序(pdfProc.ps)可以使用命名变量/NumApples,该变量的值为4 (NB通常应该使用knownwhere来检查变量的存在,以避免在未定义变量时发生错误)。

所以一个简单的程序

代码语言:javascript
复制
%!PS
/NumApples where {
  /NumApples get
  (Number of apples is ) print ==
}{
  (NumApples not defined\n) print
} ifselse

将为上面的命令行打印结果4。

顺便说一句,我不明白您所说的“除了将pdfProc.ps中的所有代码写入-o参数之外”。-o开关只指定输出文件名,并暗示-dBATCH -dNOPAUSE,它不处理PostScript或类似的东西。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57726462

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档