ngdsjck的办法是可以的,但是页边距也许你不满意,还有一种方法
假设你的TXT文件是放在Memo里面的
在你打印事件里面添加以下代码:
//略...
var
i,x,y,Line:integer;//x,y,是输出字符串的位置,Line是行号
begin
x:=40;y:=40;Line:=0;//从左边40,上边40开始打印
printer.begin
doc;
for i:=0 to Memo1.LinesCount-1do
begin
y:=y+24*Line;//有一个专门的函数可以得到字符的高度,好像是StringHeight(str),这里假设打印两行的间距是24
printer.canvas.TextOut(x,y,Memo.Lines);
//增加当i多大的时候换页的判断,比如i=30的时候换页
if i>30 then
begin
newpage;
Line:=0;
y:=0;
end
else
Inc(Line);
end;
printer.enddoc;
end;