PDA

View Full Version : سوال: ایجاد فرم چاپی مثل نامه اداری با Print dialog



ahwazcity
سه شنبه 11 خرداد 1389, 21:19 عصر
با سلام خدمت دوستان
هرچه توی سایت ها جستجو کردم نتونستم یک مطلب مفید برای Print dialog و Print Preview پیدا کنم .
می خواستم ببینم چطور میشه یک فرم چاپی را با این کنترل ها ایجاد کنم
مثل:
* حاشیه در فرم
* خطکشی کردن
* ایجاد جدول و ارسال آن به چاپ گر
*طریقه تعیین مکان فیلد ها روی کاغذ و افزودن لوگو به فرم و یا هرچیز دیگر
اگر نمونه کدی هم هست لطفاً بزارین
با تشکر از همه دوستانی که این مطلب را می خوانند.

r00tkit
سه شنبه 11 خرداد 1389, 22:12 عصر
سلام
با وقتی متود print اجرا می شه event مربوط بهش اجرا میشه که توی این event با PrintPageEventArgs می تونی هر کاری انجام بدی


private void pd_PrintPage(object sender, PrintPageEventArgs ev) { //
ev.Graphics.DrawImage(Image.FromFile("C:\\My Folder\\MyFile.bmp"), ev.Graphics.VisibleClipBounds);
}
با
Graphics می تونی هر کاری کنی ایجاد خط جدول و...

مثلا"
Graphics.DrawString
Graphics.DrawLine
و...

ahwazcity
چهارشنبه 12 خرداد 1389, 01:17 صبح
سلام
با وقتی متود print اجرا می شه event مربوط بهش اجرا میشه که توی این event با PrintPageEventArgs می تونی هر کاری انجام بدی


private void pd_PrintPage(object sender, PrintPageEventArgs ev) { //
ev.Graphics.DrawImage(Image.FromFile("C:\\My Folder\\MyFile.bmp"), ev.Graphics.VisibleClipBounds);
}
با
Graphics می تونی هر کاری کنی ایجاد خط جدول و...

مثلا"
Graphics.DrawString
Graphics.DrawLine
و...
سلام از جوابتان ممنون یک سره نخی بهم داد ولی اگه میشه کد را به vb.net بنویسید چون من PHP کار نکردم باتشکر

Shahram_Shobeiri
چهارشنبه 12 خرداد 1389, 07:27 صبح
معادلش در vb.net میشه:


Private Shared WithEvents PrintDoc As New System.Drawing.Printing.PrintDocument
Private Shared Sub PrintDoc_PrintPage(ByVal sender As Object, ByVal e As System.Drawing.Printing.PrintPageEventArgs) Handles PrintDoc.PrintPage
e.Graphics.DrawLine(Pens.Black, 1, 1, 10, 10)
End Sub

البته کد فوق سی شارپه نه PHP

ahwazcity
چهارشنبه 12 خرداد 1389, 18:11 عصر
خوب شما نوشته بودین کد php .
میشه یک توضیح در رابط این کدی که گذاشتین بگین مثلاً تکست باکس کجا قرار میگیره و چطور جای تکست باکس ها را روی کاغذ مشخص کنیم

Shahram_Shobeiri
جمعه 14 خرداد 1389, 00:35 صبح
من ننوشته بودم. به ارسال کننده های پست ها دقت کنید. در ضمن حتی اگه نوشته باشم هم مثل روز روشنه که اون کد سی شارپه نه PHP
هیچ چیز هیچ جا قرار نمی گیره. شما باید اونا رو دستی رسم کنید. مثلاً با drawstring یه متن رو روی printdocument طراحی کنید.