Giriş
Şu satırı dahil ederiz.
Şöyle yaparız.
Şöyle yaparız.
Şöyle yaparız.
Şöyle yaparız.
Şöyle yaparız.
Şu satırı dahil ederiz.
using System.Drawing.Printing;
ConstructorŞöyle yaparız.
// Connect to the printer
PrintDocument printDocument1 = new PrintDocument();
BeginPrint EventŞöyle yaparız.
printDocument1.BeginPrint += new PrintEventHandler(BeginPrint);
Handler şöyledir. Önce bir enumerator tanımlanır.List<string> pageData = new List<string>();
//enumerator for iteration thru "pages"
IEnumerator pageEnumerator;
Daha sonra sayfalar hazırlanır.void BeginPrint(object sender, PrintEventArgs e)
{
// Convert string to strings
string[] delim = { "<<< Page >>>" };
//generate some dummy strings to print
pageData = stringToPrint.Split(delim, StringSplitOptions.RemoveEmptyEntries).
ToList();
// get enumerator for dummy strings
pageEnumerator = pageData.GetEnumerator();
//position to first string to print (i.e. first page)
pageEnumerator.MoveNext();
}
Dispose metoduŞöyle yaparız.
printDocument1.Dispose();
Print metoduŞöyle yaparız.
//do print
printDocument1.Print();
PrintPage EventŞöyle yaparız.
printDocument1.PrintPage += new PrintPageEventHandler(PrintPage);
Handler şöyledir.void PrintPage(object sender, PrintPageEventArgs e)
{
//define font, brush, and print area
Font font = new Font("Times New Roman", 12);
Brush brush = Brushes.Black;
RectangleF area = new RectangleF(0, 0,
printDocument1.DefaultPageSettings.PrintableArea.Width,
printDocument1.DefaultPageSettings.PrintableArea.Height);
//print current page
e.Graphics.DrawString(myPageEnumerator.Current.ToString(), font, brush, area);
// advance enumerator to determine if we have more pages.
e.HasMorePages = myPageEnumerator.MoveNext();
}
Şöyle yaparız.void PrintPage(object sender, PrintPageEventArgs e)
{
Graphics graphic = e.Graphics;
SolidBrush brush = new SolidBrush(Color.Black);
Font font = new Font("Courier New", 27, FontStyle.Bold);
float pageWidth = e.PageSettings.PrintableArea.Width;
float pageHeight = e.PageSettings.PrintableArea.Height;
float fontHeight = font.GetHeight();
int startX = 40;
int startY = 40;
int offsetY = 40;
...
brush.Dispose();
font.Dispose();
}
Hiç yorum yok:
Yorum Gönder