CÁC GIẢI PHÁP LẬP TRÌNH C# - Trang 321

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

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

Print

để thực hiện tác vụ in. Bộ thực thi sẽ phát sinh các sự kiện

BeginPrint

,

PrintPage

,

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

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

Liên Kết Chia Sẽ

** Đây là liên kết chia sẻ bới cộng đồng người dùng, chúng tôi không chịu trách nhiệm gì về nội dung của các thông tin này. Nếu có liên kết nào không phù hợp xin hãy báo cho admin.