增加 DOS 输出中每行的字母数

增加 DOS 输出中每行的字母数

我在 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),然后发送一系列字符。此序列告诉打印机更改字体、行距、字体大小...请注意,它是特定于打印机的。没有真正通用的语言。

相关内容