我在 DOS(Windows 7 中的 CMD 提示符)中使用批处理文件将行数打印到 DOT MATRIX 打印机中。它是 A5 纸。问题是我无法为 A5 打印添加每行超过 53 个字符。如何增加此 A5 尺寸的每行字符数。
答案1
此打印机 (TVS MSP 250 Star) 支持 ESC/P(这是 Epson 标准)和 IBM Proprinter 仿真。这意味着您可以在实际文件之前发送一个小文件,从而将打印机切换到压缩模式。
对于 ESC/P 仿真,您可以执行以下操作:
创建small.txt
文件:
<#27><#15>
这不是文字文件。文件应该只有 2 个字符(#27 和 #15)。您需要一个可以创建“Escape”(#27)和“Condensed”(#15)字符的编辑器(例如十六进制编辑器)。如果您没有,请参阅下文如何创建文件。
接下来你可以像这样打印文件:
copy small.txt+ACTUAL_FILE.TXT LPT1
exit
如果您没有十六进制编辑器,您可以执行以下操作:
创建一个包含以下内容的文本文件(称之为small.vbs
):
Wscript.Stdout.Write Chr(27)+Chr(15)
然后在命令提示符下执行以下操作:
cscript /nologo small.vbs > small.txt
这将生成一个small.txt
可以使用复制命令的文件。
编辑:建议#15
先尝试一下。如果不行,再尝试#27#15
。
#15
要用C#编写,您可以使用(char)15
或\x0F
。
来自ESC/P手册: 和
编辑:
总结一下(不包括边框/边距,因此边距可能会更少):
- 10cpi ≈ 58 个字符 = Esc P (
#27P
) - 12cpi ≈ 70 个字符 = Esc M (
#27M
) - 15cpi ≈ 87 个字符 = Esc g (
#27g
) - 10cpi 压缩 ≈ 100 个字符 = Esc P SI (
#27P#15
) - 12cpi 压缩 ≈ 116 个字符 = Esc M SI (
#27M#15
) - 15cpi 压缩 ≈ (不可用)
因此最小的是#27M#15
。(116 个字符)
如果您不需要在普通编辑器中打开文件,则可以将这些代码包含在文件中。然后,您还可以添加粗体、斜体等功能。要将单词设置为粗体,您可以执行以下操作:
This is a #27Ebold#27F word.
#27E
设置粗体并#27F
再次取消。您也可以切换回 10cpi 并将其与粗体结合。
#27M#15This is a #18#27P#27Ebold#27F#27M#15 word.
#27M#15
将其设置为 12cpi 压缩。#18
取消压缩。#27P
设置为 10cpi 并在之后#27M#15
再次将其设置为 12cpi 压缩。
您还可以使用“双倍字体宽度/高度”:
#27M#15This is a #27W#1#27w#1big#27W#0#27w#0 word.
#27W#1
双倍字体宽度和#27w#1
双倍字体高度,然后#0
再次取消它们。
您会发现,您可以将所有这些代码组合起来做任何事情。还有一个“主选择”(手册第 125 页)。如果您经常在字体之间切换,您可以使用它在一条命令中切换 cpi、粗体、压缩、斜体等。(#27!
+n,其中 n 是类型)
答案2
首先,您需要找到打印机使用的打印机语言。然后,在作业之前查找并发送精简的打印命令。许多点阵式设备使用转义码序列,因此您需要发送 esc 字符(有时显示为十六进制 027),然后发送一系列字符。此序列告诉打印机更改字体、行距、字体大小...请注意,它是特定于打印机的。没有真正通用的语言。