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

324
Chương 8: Đồ họa, đa phương tiện, và in ấn

Hình 8-10 Văn bản đã được in (sử dụng máy in Adobe PDF)

14.

14.

In văn b n có nhi u trang

In văn b n có nhi u trang

Bạn cần in các văn bản phức tạp gồm nhiều trang và in nhiều văn bản khác nhau
cùng một lúc.

Đặt thông tin muốn in vào một lớp tùy biến dẫn xuất từ

PrintDocument

, và thiết

lập thuộc tính

PrintPageEventArgs.HasMorePages

true

trong khi vẫn còn trang

để in.

Sự kiện

PrintDocument.PrintPage

cho phép bạn chỉ in một trang đơn. Nếu muốn in nhiều

trang hơn, bạn cần thiết lập thuộc tính

PrintPageEventArgs.HasMorePages

true

trong

phương thức thụ lý sự kiện

PrintPage

. Trong khi

HasMorePages

true

, lớp

PrintDocument

vẫn tiếp tục phát sinh các sự kiện

PrintPage

(một sự kiện cho một trang). Tuy nhiên, bạn cần

biết là đang in đến trang thứ mấy, dữ liệu gì sẽ được in trên mỗi trang... Để thực hiện điều
này, cách hay nhất là tạo một lớp tùy biến.
Lớp

TextDocument

dưới đây thừa kế từ

PrintDocument

và thêm ba thuộc tính:

Text

lưu trữ một

mảng các dòng text,

PageNumber

cho biết trang vừa được in, và

Offset

cho biết dòng vừa được

in (trong mảng

Text

).

public class TextDocument : PrintDocument {

private string[] text;

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.