2010-03-11 54 views
0

我正在使用点阵打印机,必须进行连续的打印作业。用c继续打印#

我使用的纸张是213毫米X 350毫米,并分割在页面中间。

我试过一些东西,我可以打印页面的第一面,但打印页面在页面的第二部分会移动?

是否有任何教程解释了如何从scracth执行此操作,包括打印机的设置应该是什么。

我用c#编码,但我猜.net的库不适合这个。

有什么建议吗?

回答

1

这里是我做了什么:

我的打印机是OKI 3320.我找到了它的手册并了解了打印机的转义字符。

我准备了一个字符串模板来匹配格式。包括变量,“回车”,“换行”和“换页”转义序列的标签。

我测量了我的纸张长度并根据它设置了我的打印机后部页面长度。通过这样做,当我发送打印机FF命令时,它将调整打印机到下一个表格的起始点。

在我的应用程序中,我已将字符串替换为具有apropritate值的标记,并使用RawPrinterHelper将它们发送到打印机。由于RawPrinterHelper仅支持英文字符,因此我也必须替换土耳其文字符。

现在工作正常。

当然可能会有更专业的方法。您可以使用转义序列完全控制您的打印机。您可以给出打印区域的坐标或以编程方式设置页面长度,从而不需要配置打印机。由于我的申请只能使用一次,我的解决方案对我来说已经足够了。

2

也许看起来有点古怪,但前一段时间,我们已经从Windows中使用这样的事情

  1. 内容写入到文件(在需要的时候使用的打印机转义序列完成打印到点阵打印机,写作FF (换),其中页面应该结束了,你需要有corrent页面大小的打印机设置)
  2. 壳EXEC“复制file.txt的LPT1:”
+1

感谢您的回复。 但我的打印机使用USB端口;) 我能够做出正确的设置,现在我可以从Windows环境中的文本文件进行打印。 但我必须从代​​码打印。我试图从代码中将相同的文本文件发送到打印机,但在第一页之后,打印机头继续停留在此处。 如何从代码发送换页命令。 还是有办法告诉代码使用我在Windows中创建的窗体。 – fkucuk 2010-03-12 08:57:35

+1

一个USB端口上的点阵打印机 - 这只是让我的心灵稍微有些不适。 – harpo 2010-09-23 08:01:30

-1

也许看起来有点古怪,但前一段时间,我们已经从Windows中使用这样的事情

1.write内容到一个文件中(在需要的时候使用的打印机转义序列完成打印到点阵打印机,写作FF (换),其中页面应该结束了,你需要有corrent页面大小的打印机设置) 2.shell EXEC“复制file.txt的LPT1:”

灿Nighttingale7进一步解释:

  • 会像这样打印保留字体类型a nd文件的字体大小?如果是这样,当向文件写入数据时,我们如何设置字体类型和字体大小?