321
Chương 8: Đồ họa, đa phương tiện, và in ấn
13.
13.
In văn b n đ n gi n
ả ơ
ả
In văn b n đ n gi n
ả ơ ả
Bạn cần in text hoặc hình.
Thụ lý sự kiện
PrintDocument.PrintPage
, và sử dụng các phương thức
DrawString
và
DrawImage
của lớp
Graphics
để in dữ liệu ra trang.
.NET sử dụng mô hình in dựa-trên-sự-kiện bất đồng bộ (asynchronous event-based printing
model). Để in một văn bản, bạn cần tạo một đối tượng
System.Drawing.Printing.PrintDocument
, cấu hình các thuộc tính của nó, và rồi gọi phương
thức
để thực hiện tác vụ in. Bộ thực thi sẽ phát sinh các sự kiện
BeginPrint
,
PrintPage
,
và
EndPrint
của lớp
PrintDocument
trên một tiểu trình mới. Bạn thụ lý các sự kiện này và sử
dụng đối tượng
System.Drawing.Graphics
để xuất dữ liệu ra trang. Hình và text được ghi ra
trang theo cùng cách như bạn vẽ lên cửa sổ bằng GDI+. Tuy nhiên, bạn có thể cần phải theo
vết vị trí của bạn trên trang, vì mọi phương thức của lớp
Graphics
đều yêu cầu tọa độ chỉ định
nơi cần vẽ.
Các thiết lập cho máy in được cấu hình thông qua các thuộc tính
PrintDocument.PrinterSettings
và
PrintDocument.DefaultPageSettings
. Thuộc tính
PrinterSettings
trả về một đối tượng
PrinterSettings
(đã được mô tả trong mục 8.12) cho
biết máy in sẽ được sử dụng. Thuộc tính
DefaultPageSettings
cung cấp đối tượng
PageSettings
cho biết độ phân giải (resolution), lề (margin), hướng trang (orientation)... Bạn
có thể cấu hình các thuộc tính này trong mã lệnh, hoặc bạn có thể sử dụng lớp
System.Windows.Forms.PrintDialog
để người dùng thực hiện các thay đổi thông qua hộp
thoại in chuẩn của Windows (xem hình 8.9). Trong hộp thoại in, người dùng có thể chọn một
máy in và chọn số lượng bản in (number of copies). Người dùng cũng có thể nhắp vào nút
Properties để cấu hình các thiết lập nâng cao như cách bố trí trang (layout) và độ phân giải
máy in (resolution). Cuối cùng, người dùng có thể chấp thuận hoặc hủy bỏ thao tác in bằng
cách nhắp OK hoặc Cancel.
Hình 8.9 Hộp thoại Print