Tutorial Mencetak Form di C# (Tanpa Crystal Report)
biasanya dalam pembuatan aplikasi penjualan pasti ada fungsi untuk mencetak form atau salah satu bagian dari form tersebut (misal : id_pemesan, nama, harga, bla,bla,bla). dan kebanyakan programmer menggunakan crystal report sebagai library tambahan agar dapat mempermudah tugasnya. namun kali ini saya tidak akan membeberkan bagaimana mencetak form menggunakan library Crytal Report, tapi menggunakan reference yang sudah build-in di .Net. apa itu? penasaran kan? yuk kita lihat aja langkah – langkahnya.
1. tambahkan baris kode di bawah ini di bagian constructor (paling atas sendiri)
1
2
using
System.Drawing.Printing;
using
System.IO;
2. tambahkan baris kode dibawah ini dengan struktur seperti contoh :
1
2
3
4
5
6
7
8
9
10
namespace
testing
{
/// <summary>
/// Description of nama_form_agan.
/// </summary>
public
partial
class
nama_form_agan : Form
{
//nah kode di bawah ini yang wajib ada ya.
PrintDocument printdocument1 =
new
PrintDocument();
3. buatlah function seperti dibawah ini
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
void
printDocument1_PrintPage(
object
sender, System.Drawing.Printing.PrintPageEventArgs e)
{
Font objFont=
new
Font (
"Microsoft Sans Serif"
, 10F);
//sets the font type and size
float
fTopMargin = e.MarginBounds.Top;
float
fLeftMargin = 50;
//sets left margin
float
fRightMargin = e.MarginBounds.Right - 150;
//sets right margin
string
employee_id = String.Concat(
"ID Faktur Pemesanan : "
, txtId.Text);
string
employee_name = String.Concat(
"Nama Pemesan : "
, txt_nama.Text);
string
jenis_coral = String.Concat(
"Jenis Terumbu : "
, cmb_jenis_coral.SelectedItem.ToString());
string
harga =
string
.Concat(
"Harga Terumbu : "
, txt_harga.Text);
string
uang_muka =
string
.Concat(
"Harga Terumbu : "
, txt_uang.Text);
e.Graphics.DrawString(employee_id, objFont, Brushes.Black, fLeftMargin, fTopMargin);
fTopMargin += objFont.GetHeight() * 2;
//skip two lines
e.Graphics.DrawString(employee_name, objFont, Brushes.Black, fLeftMargin, fTopMargin);
fTopMargin += objFont.GetHeight() * 2;
//skip two lines
e.Graphics.DrawString(jenis_coral, objFont, Brushes.Black, fLeftMargin, fTopMargin);
fTopMargin += objFont.GetHeight() * 2;
//skip two lines
e.Graphics.DrawString(harga, objFont, Brushes.Black, fLeftMargin, fTopMargin);
fTopMargin += objFont.GetHeight() * 2;
//skip two lines
e.Graphics.DrawString(uang_muka, objFont, Brushes.Black, fLeftMargin, fTopMargin);
objFont.Dispose();
e.HasMorePages =
false
;
}
4. nah langkah selanjutnya silakan perhatikan bagian ini pada aplikasi agan dan sista
1
2
3
4
public nama_form_agan()
{
InitializeComponent();
}
5. lalu ubahlah menjadi seperti ini :
1
2
3
4
5
public nama_form_agan()
{
InitializeComponent();
printdocument1.PrintPage +=printDocument1_PrintPage;
}
6. langkah selanjutnya adalah buatlah sebuah button pada form agan dan beri nama cetak dengan nama button1 atau bebas.
7. double click pada button baru tersebut dan berilah kode ini :
1
2
3
4
5
6
7
8
9
using (PrintDialog pd = new PrintDialog())
{
if (pd.ShowDialog() == DialogResult.OK)
{
printdocument1.PrinterSettings = pd.PrinterSettings;
printdocument1.Print();
}
}
8. Selesai dah…
selamat mencoba, apabila ada pertanyaan, sialakan hubungi saya aja, bisa lewat komentar,
1. tambahkan baris kode di bawah ini di bagian constructor (paling atas sendiri)
1
2
| using System.Drawing.Printing; using System.IO; |
1
2
3
4
5
6
7
8
9
10
| namespace testing { /// <summary> /// Description of nama_form_agan. /// </summary> public partial class nama_form_agan : Form { //nah kode di bawah ini yang wajib ada ya. PrintDocument printdocument1 = new PrintDocument(); |
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
| void printDocument1_PrintPage( object sender, System.Drawing.Printing.PrintPageEventArgs e) { Font objFont= new Font ( "Microsoft Sans Serif" , 10F); //sets the font type and size float fTopMargin = e.MarginBounds.Top; float fLeftMargin = 50; //sets left margin float fRightMargin = e.MarginBounds.Right - 150; //sets right margin string employee_id = String.Concat( "ID Faktur Pemesanan : " , txtId.Text); string employee_name = String.Concat( "Nama Pemesan : " , txt_nama.Text); string jenis_coral = String.Concat( "Jenis Terumbu : " , cmb_jenis_coral.SelectedItem.ToString()); string harga = string .Concat( "Harga Terumbu : " , txt_harga.Text); string uang_muka = string .Concat( "Harga Terumbu : " , txt_uang.Text); e.Graphics.DrawString(employee_id, objFont, Brushes.Black, fLeftMargin, fTopMargin); fTopMargin += objFont.GetHeight() * 2; //skip two lines e.Graphics.DrawString(employee_name, objFont, Brushes.Black, fLeftMargin, fTopMargin); fTopMargin += objFont.GetHeight() * 2; //skip two lines e.Graphics.DrawString(jenis_coral, objFont, Brushes.Black, fLeftMargin, fTopMargin); fTopMargin += objFont.GetHeight() * 2; //skip two lines e.Graphics.DrawString(harga, objFont, Brushes.Black, fLeftMargin, fTopMargin); fTopMargin += objFont.GetHeight() * 2; //skip two lines e.Graphics.DrawString(uang_muka, objFont, Brushes.Black, fLeftMargin, fTopMargin); objFont.Dispose(); e.HasMorePages = false ; } |
1
2
3
4
| public nama_form_agan() { InitializeComponent(); } |
1
2
3
4
5
| public nama_form_agan() { InitializeComponent(); printdocument1.PrintPage +=printDocument1_PrintPage; } |
7. double click pada button baru tersebut dan berilah kode ini :
1
2
3
4
5
6
7
8
9
| using (PrintDialog pd = new PrintDialog()) { if (pd.ShowDialog() == DialogResult.OK) { printdocument1.PrinterSettings = pd.PrinterSettings; printdocument1.Print(); } } |
0 komentar