Printer 对象

所有坐标都为 Integer 类型,单位为打印机分辨率。

位于 Printers.pas。

属性/方法 意义
Abort() 取消打印任务
BeginDoc() 开始打印任务
EndDoc() 结束打印任务
GetPrinter(...) 默认打印机信息
NewPage() 换页
Refresh() 恢复打印机和字体设置
SetPrinter(...) 设置当前打印机
Aborted 是否已取消打印任务
Canvas 代表打印画布 TCanvas 对象
Copies 打印份数
Fonts : TStrings 打印字体列表
Handle 打印机设备场景,可用于绘图
PageHeight 面页高度,点数
PageNumber 页数
PageWidth 面页宽度,点数
PrinterIndex 打印机索引号,设为 -1 代表默认打印机
Printers : TStrings 打印机名称列表
Title 打印机标题

GetPrinter/SetPrinter 过程

返回默认打印机参数/设置当前打印机。

GetPrinter(ADevice, ADriver, APort: PChar; var ADeviceMode: THandle)
SetPrinter(ADevice, ADriver, APort: PChar; ADeviceMode: THandle)
参数 意义
ADevice 接收设备名
ADriver 接收驱动名
APort 接收端口名
ADeviceMode 返回 DeviceMode 记录地址

示例:

随机打印一系列连线。

Var
    x,y,i:integer;

Begin
    printer.Canvas.Pen.Width:=Trunc(printer.PageHeight/1500);
    printer.BeginDoc;
    For i:=1 To 50 Do
    Begin
        x:=random(printer.PageWidth);
        y:=random(printer.PageHeight);
        printer.Canvas.LineTo(x,y);
    End;
    printer.EndDoc;
End;