PDA

View Full Version : سوال: تغییر سایز کاغذ پرینتر به صورت کد



NiMble_m
دوشنبه 17 مرداد 1390, 10:06 صبح
سلام دوستان
من میخوام که سایز کاغذ پرینتر تغییر کنه مثلا بشه A5
از دستور printDocument1.DefaultPageSettings.PaperSize = new System.Drawing.Printing.PaperSize("PaperA5",830,580);
استفاده کردم ولی یه مشکلی هست
چون هنوز کاغذ در تنظیمات پرینتر A4 تعریف شده بین دوتا پرینت خیلی فاصله زمانی میوفته
هر چی سرچ کردم چیزی پیدا نکردم

flash118
دوشنبه 17 مرداد 1390, 14:40 عصر
دوست عزیز اینجا ها رو ببین راهنمای خوبی میتونن باشن :
http://www.datadynamics.com/Help/AR2Std/HX_Changing_Page_and_Printer_Setting_in_Code.html
http://www.codeproject.com/KB/printing/custom_paper_sizes.aspx
http://www.codeproject.com/KB/printing/printerorientation.aspx

reza_magical
یک شنبه 17 مهر 1390, 23:02 عصر
سلام
من به همین چیزی که دوستمون آقای "NiMble_m (http://barnamenevis.org/member.php?182653-NiMble_m)" گفتن لازم دارم،
توی سایت خیلی سرچ کردم ولی به نتیجه ای نرسیدم.
من می خوام یه سایز سفارشی از طریق کد ایجاد و به سایزهای پرینتر اضافه بشه و همینطور اون سایز ، سایز پیش فرض قرار بگیره.
اگر کسی کد یا نمونه ای در این مورد داره بزاره ممنون میشیم.
درضمن من برای پرینت از کریستال ریپورت استفاده می کنم.

solaleh
دوشنبه 18 مهر 1390, 09:23 صبح
http://www.codeproject.com/KB/printing/custom_paper_sizes.aspx

reza_magical
دوشنبه 18 مهر 1390, 22:21 عصر
http://www.codeproject.com/KB/printing/custom_paper_sizes.aspx
از اینکه قسمتی از پاسخ آقای flash118 (http://barnamenevis.org/member.php?74702-flash118) رو کپی کردید دادید متشکرم.
ولی این سایتها رو دیدم باز هم به نتیجه ای نرسیدم .

علیرضا حسن زاده
سه شنبه 19 مهر 1390, 09:58 صبح
نوع پرینترت چیه(سوزنی، لیزری،...)؟
اندازه کاغذ رو استاندارد می خوای مثلا A5 یا یه اندازه غیر استاندارد برای خود تعریف کردی؟
اینا رو بگی می تونم راهنماییت کنم

reza_magical
سه شنبه 19 مهر 1390, 13:30 عصر
نوع پرینترت چیه(سوزنی، لیزری،...)؟
اندازه کاغذ رو استاندارد می خوای مثلا A5 یا یه اندازه غیر استاندارد برای خود تعریف کردی؟
اینا رو بگی می تونم راهنماییت کنم
سلام
پرینترن لیزری
اندازه : افقی: 210 میلیمتر
عمودی: 150 میلیمتر
( نصف کاغد A4)
از طریق کریستال ریپورت هم پرینت میگیرم

parsester
سه شنبه 19 مهر 1390, 14:29 عصر
آقای حسن زاده لطف می کنید من رو هم راهنمایی کنید...
توی پروژه ای که دارم میخوام در یک صفحه کاربر اطلاعات یک چک رو در تکست باکس های مخصوص خودش تایپ کنه و بعد از زدن دکمه پرینت اطلاعات روی فیلدهای پارامتری کریستال ریپورت بفرستم و اون رو بتونه مستقیم روی چک پرینت کنه...
یعنی فقط چک رو درون پرینتر قرار بده و روی اون پرینت بشه بدون اینکه پرینتر ارور بده که سایز کاغذ مناسب نیست یا استاندارد نیست...
چطور میتونم یک ریپورت طراحی کنم که این مشکل رو حل کنه...
پرینترهای من
HP Photosmart 3031 جوهر افشان
Canon MF4320 لیزری
سایز چک هم هست
طول: 16.80 سانتی متر
عرض: 8.50 سانتی متر
ممنون میشم کمک کنید...
در ضمن این فرآیند رو من قبلا با چسباندن چک روی کاغذ A5 و با استفاده از MO Wordانجام میدادم که جالب نیست اصلن...

علیرضا حسن زاده
سه شنبه 19 مهر 1390, 16:39 عصر
کاری که بنده برای این موارد انجام میدم طراحی یه قسمت برای چاپ برگه هست و از نرم افزار های گزارش گیری استفاده نمی کنم چون با اندازه های غیر استاندارد به مشکل برخوردم
شماهم می تونید از این روش استفاده کنید
اگه برگه چک رو به صورت طولی در چاپگر قرار بدین می تونید بدون نیاز به چسباندن به کاغذ A5 کارتون رو انجام بدین
برای چاپ یه کاغذ با اندازه دلخواه برای چاپگر ایجاد می کنی(البته بهتره یه کاغذ استاندارد از لیست کاغذ هایی که چاپگر پشتیبانی می کنه انتخاب کنی و Marginهاشو تغییر بدی تا با اندازه برگه شما هم اندازه باشه اینو از تجربه های قبلی برای کار چاپ خدمتتون عرض می کنم که با این روش می تونید با هر چاپگری چاپ بگیرین)
فیلدهای مورد نیاز چک بیش از 6-7تا نیست پس به راحتی می تونی با 7 تا تابع DrawString با هر اندازه و فرم و ... دلخواه، متن رو چاپ کنی.
اگه توضیح بیشتر خواستی با مثال روش رو برات توضیح می دم

reza_magical
چهارشنبه 20 مهر 1390, 22:20 عصر
مرسی از جوابتون
ولی خوب من با استفاده از کریستال ریپورت پرینت می کنم
می خوام که زمانی برنامه لود میشه یک سایز جدید برای پرینتر تعریف بشه.
و بعدش هم اگه امکانش باشه اون سایز ، سایز پیشفرض باشه .
همه ی اینها از طریق کد انجام بشه.

علیرضا حسن زاده
پنج شنبه 21 مهر 1390, 09:46 صبح
http://www.codeproject.com/KB/printing/custom_paper_sizes.aspx
تو لینک بالا که تو همین تایپک هم دوستان زحمت کشیدن گذاشتن امکان تعریف فرم (یا همون اندازه کاغذ)جدید برای چاپگر وجود داره می تونید بعد از ایجاد فرم اون رو تو اندازه های کاغذ چاپگر مربوطه ببینید حالا نیمیدونم مشکل شما کجاس؟