delphi-在打印过程中改变页面的设置


你不可以在打印的时候改变文档打印的属性,但可以中断打印的过程,改变打印机的属性,再继续打印,代码如下:

uses Printers;
...
procedure TForm1.Button1Click(Sender: TObject);
var
F, F2: TextFile;
i, j: Integer;
begin
AssignPrn(F);
Rewrite(F);
Writeln(F, RichEdit1.Lines[0]);
for i:=1 to RichEdit1.Lines.Count-1 do
begin
if Printer.PageNumber<2 then
Writeln(F, RichEdit1.Lines[i]);
if Printer.PageNumber>1 then
begin
CloseFile(F);
Break;
end;
end;

AssignPrn(F2);
Printer.Orientation:=poLandscape;
Rewrite(F2);
for j:=i to RichEdit1.Lines.Count-1 do
Writeln(F2, RichEdit1.Lines[j]);
CloseFile(F2);
end;