PDA

View Full Version : چاپ متن با استفاده از کلاس graphic متد drawstring



احمد سامعی
یک شنبه 22 مرداد 1391, 17:42 عصر
سلام
من یک متن رو می خوام با استفاده از printdocument چاپ کنم و استفاده از متد drastring
مشکل من اینکه اگر متنی که به متد پاس می کنم طولش از عرض کاغذ بیشتر باشه از صفحه بیرون می زنه و چاپ نمی شه
چی کار باید بکنم

ممنون

the king
دوشنبه 23 مرداد 1391, 00:20 صبح
سلام
من یک متن رو می خوام با استفاده از printdocument چاپ کنم و استفاده از متد drastring
مشکل من اینکه اگر متنی که به متد پاس می کنم طولش از عرض کاغذ بیشتر باشه از صفحه بیرون می زنه و چاپ نمی شه
چی کار باید بکنم

ممنون

بجای اینکه برای موقعیت رسم رشته یک نقطه رو مشخص کنید یک RectangleF رو به عنوان کادر مشخص کنید. بصورت پیشفرض
اگر ببینه متن در طول کادر جا نمیشه، Wrap اش می کنه تا بقیه رشته بیافته سطر های بعدی، مگر اینکه با StringFormat
NoWrap اش کنید که سطر بعدی نره که شما هم چنین قصدی ندارید و NoWrap اش نمی کنید.

احمد سامعی
سه شنبه 24 مرداد 1391, 11:56 صبح
ممنون

تا اینجا فهمیدم، اما بزارید یکم مطلب باز کنم می خوام چی کار کنم. من می خوام اطلاعات یک فیش رستوران چاپ کنم و از کریستال رپورت هم نمی خوام استفاده کنم. همانطور که می دونی در یک سفارش ممکن چندین کالا باشه که باید هرکدام در یک سطر چاپ بشه. ایجوری که من الان دارم می نویسم موقعیت هر سطر بر مبنای سطر قبلی می نویسم حالا اگر قرار باشه خود تابع بیاد مقداری از یک خط ببره توی خط بعدی آیا تداخل نوشته پیش نمی یاد؟ چه راه حلی داره؟
یا آیا روش دیگه ای هم غیر از متد DrawString وجود داره؟


int x = 10;
e.Graphic.DrawString(tb1.Text, myFont, myBrush, x, y)
x+=10;
e.Graphic.DrawString(tb2.Text, myFont, myBrush, x, y)
x+=10;
e.Graphic.DrawString(tb3.Text, myFont, myBrush, x, y)
...
البته این کد اصلی نیست مثال هست چون از کافی نت ج می دم ببخشید اگر کامل نیست