当前位置: 首页 > 知识库问答 >
问题:

PostScript不会在柯尼卡美能达上把两页钉在一起

宰父霖
2023-03-14

我正试图发送一个简单的附言到柯尼卡美能达C364打印机,它有一个装订分页器。我可以打印几页并装订,如果我这样做的话,可以直接打印一个PDF文件,然后从打印用户界面选择适当的设置。但是,我无法通过PostScript命令执行相同的操作。

我尝试了许多不同的命令,在<代码>的开头和结尾都添加了它们。ps文件,从简单文件开始:

<< /Staple 3 >>

然后尝试一些其他选项:

<< /Staple 3  /StapleDetails << /Type 17 /Position 17 >> >> setpagedevice
or    
<</Staple 3 /StapleDetails <</Type 1 /StapleLocation(SinglePortrait)>> >> setpagedevice

还有更多建议,如:

<</BindingLocation (LongEdge) >> setpagedevice 
<</Collate true /Rotate false /Jog 0>> setpagedevice 
<</Staple 2 /StapleDetails <</Type 5 /Position (1PLU)>> >> setpagedevice

它们都没有任何影响-打印文档,但不执行任何装订。

是我使用了错误的命令还是我遗漏了什么?

我还试着寻找一个简单的预制<代码>。ps文件在互联网上有相同的命令,但我找不到。在不同的论坛和网站上有许多不同的建议,但到目前为止,我尝试的都没有成功,所以欢迎提出任何建议。非常感谢。

编辑:这里有一个指向示例的链接。ps我正在使用的文件:https://www9.zippyshare.com/v/QW6w7yHl/file.html

不幸的是,我必须通过链接来完成,因为代码太长了,11k行。

编辑2:在将PostScript保存到文件而不是发送到打印机后,我能够查看生成的代码并提取以下行,如果将这些行添加到文件顶部,则可以实现装订的技巧:

@PJL COMMENT
@PJL SET ORIENTATION = PORTRAIT
@PJL SET BINDING = LEFT
@PJL SET FINISH = LEFT1POINT
@PJL SET EDGEMATCHING = FINISH
@PJL ENTER LANGUAGE = POSTSCRIPT

希望他们能被添加到下面的答案中!


共有1个答案

黄修永
2023-03-14

在语言级别2或3中,通过调用setpagedevice,可以控制与设备相关的操作(如装订,以及双面打印、翻滚、整理等)。

一些与设备相关的功能(如双工)在规范中定义良好,其他功能定义不太明确,制造商可以创建自己的键/值对,这些键/值对完全未定义。setpagedevice操作符的工作方式将忽略它不理解的任何内容。

所以我希望:

<< /Staple 3 >>

不要做任何事。这只需创建一个键/装订值为3的字典,然后将该操作数留在操作数堆栈上,并一直保留到作业结束。

您的其他示例将字典传递给setpage edevice,因此它们可能会做一些事情,尽管Collate和Bindinglocing不会影响装订!请注意,在PostScript程序结束时发送它们不会做任何有用的事情,因为到那时程序已经完成并且页面已经打印完毕。

也有可能把它放在PostScript程序的前面也不会有任何效果,因为程序的内容可能是通过将设备重置到默认状态开始的。如果是这种情况,那么您需要在适当的位置将setpage edevice调用插入程序。如果程序符合DSC,那么您可以把它放在一个定义的位置,如果不是,那么坦率地说,所有的赌注都取消了。但是大多数PostScript程序都符合DSC。

问题是,所需值的确切细节是特定于制造商的,因此不可能告诉您应该使用什么。

最好的方法通常是选择“打印到文件”,并使用您知道将启用装订的设置打印文档(如有必要,可提前试用)。一旦你有,你可以打开一个文本编辑器,并通过它的装订设置结果文件。

不幸的是,打印机的控制面板可以做各种各样的事情,甚至可能无法通过PostScript控制打印机。你确定这可以通过PostScript控制吗?你试过联系制造商并询问他们的支持部门吗?

如果您可以像上面那样捕获一个程序(理想情况下,打印内容尽可能简单,以减少大小和复杂性),请将其发布到某个公共URL,然后将URL放在此处。我来看看。如果你可以发布你想要修改的PostScript程序,那么我可以告诉你在该程序中插入代码的位置。

如果你不能捕获PostScript程序,那么我想不出任何方法,除了问打印机制造商,找到一种方法来做到这一点。

[编辑]

PostScript程序是Ghostscript的ps2write设备的输出,因此我怀疑您没有使用pdf2ps。而不是使用PDF2P。bat,一个调用Ghostscript的命令shell脚本。您还使用了旧版本的Ghostscript(9.20)。出于安全考虑,您应该升级到9.25版本(将在未来几天内发布)。

但我仍然不知道你的装订正确的设置是什么。如上所述,如果可以从操作系统打印到打印机,并将其用于执行装订,则可以捕获PostScript并从中提取相关部分。

但是没有这些,我真的什么也不能告诉你。

根据要求,这里是形成原始问题的PJL(不是PostScript)代码,它显然适用于添加装订):

@PJL COMMENT
@PJL SET ORIENTATION = PORTRAIT
@PJL SET BINDING = LEFT
@PJL SET FINISH = LEFT1POINT
@PJL SET EDGEMATCHING = FINISH
@PJL ENTER LANGUAGE = POSTSCRIPT
 类似资料:
  • 我正在用iText 5.5.8生成一个PDF文档,在这个文档中,有编号的段落只包含一个标题段落和一个PDFPtable。 现在,当表大于页面其余部分的te空间时,表将被‘移动’到下一页(setKeepTogether())。这很好。但是,我希望标题段落始终与PDFPtable在同一页上。所以标题段也应该移到下一页。 卡雷尔

  • 我已经将下面的c程序编译成asm,看看它使用了什么指令。我在C中的内容是: 我对指令“应该是什么”的想法(根据我对asm非常有限的知识)是: null

  • 我要“登录” 而我愿意这样 我也使用Bootstrap4,但不是为了我想做的事情,我在某个地方读到,不使用Bootstrap,自己做更好。 下面是我使用的代码: css: html: 如果可以使用Bootstrap 4完成,我也可以。

  • 3米内0.6秒多人行进间人脸识别考勤,复杂光环境轻松识别。具备面试和新员工主动接待能力。 包材清单 主机、电源适配器 挂墙件:用挂墙螺钉锁到墙上 挂墙件:用平头螺钉锁到主机上,底座插入底座螺栓 配件说明 挂墙件:用挂墙螺钉锁到墙上 主机配件:用平头螺钉锁到主机上 桌面底座:底座螺栓拧到主机后,桌面底座插入底座螺栓 摆放方式 挂墙摆放 挂墙摆放 平放桌面 平放桌面 落地支架 落地支架 产品结构 产品

  • 钉钉智能文档是一款面向商务办公领域的文档协同工具。主要提供文档与表格编辑器功能,支持多人实时协作,可在多终端上使用。除此之外,钉钉文档还支持历史版本管理、权限控制功能以及钉钉核心能力整合的功能,为多种办公场景提供高效的解决方案。 如何在线编辑Office文档 在会话中发送Office文档或表格,点击文件消息-「在线编辑」,即可在线编写。 在会话发送Office文件,点击-在线编辑 进入编辑页面 如

  • 正在尝试在我的应用程序中显示横幅广告 测试广告在模拟器中正确显示 cordoa-plugin-admobpro:2.35.3 离子:4.5.0 科尔多瓦:8.1.2 Android:7.1.4 我没有收到任何错误或警告。有人知道发生了什么吗?我的广告已经在Admob上活跃了3到4周,所以这不是时间问题。 上载过程中发生了什么导致admob插件失败的情况?应用程序中的其他所有内容都按预期工作。 谢谢