PDA

View Full Version : سوال: چطور گزارش Crystal رو در برنامه ASP.Net چاپ کنم؟



leilav_1984
پنج شنبه 02 خرداد 1387, 15:13 عصر
سلام
اینکار در Windows Application به راحتی با دکمه Print بالای CrystalReportViewer انجام می شد ولی در برنامه تحت web وقتی این دکمه رو می زنم فقط صفحه Refresh میشه و هیچ اتفاق دیگه ای نمی افته :اشتباه:
چیزی رو باید set کنم؟

mrhamidifar
شنبه 04 خرداد 1387, 09:33 صبح
احتمالا خاصیت Print Mode روی ActiveX ست شده بزار روی PDF

leilav_1984
شنبه 04 خرداد 1387, 10:32 صبح
احتمالا خاصیت Print Mode روی ActiveX ست شده بزار روی PDF

نه روی pdf ست شده
احتمال دیگه ای نیست؟

mrhamidifar
شنبه 04 خرداد 1387, 10:38 صبح
نه روی pdf ست شده
احتمال دیگه ای نیست؟
Adobe Acrobat Reader داری ؟

leilav_1984
شنبه 04 خرداد 1387, 14:03 عصر
Adobe Acrobat Reader داری ؟

بله
اگه با کد نویسی به Adobe بفرستم می ره
ولی بدون اون همونطور که گفتم هیچ اتفاقی نمی افته
ضمنا من قصد دارم به چاپگر بفرستم نه Adobe :ناراحت:

mrhamidifar
شنبه 04 خرداد 1387, 16:14 عصر
بله
اگه با کد نویسی به Adobe بفرستم می ره
ولی بدون اون همونطور که گفتم هیچ اتفاقی نمی افته
ضمنا من قصد دارم به چاپگر بفرستم نه Adobe :ناراحت:

یه مسئله دیگه تنظیمات IE هست :
POP Blocker باید off باشه ، چون پنجره پرینت بصورت pop-up لود میشه

leilav_1984
دوشنبه 06 خرداد 1387, 07:29 صبح
یه مسئله دیگه تنظیمات IE هست :
POP Blocker باید off باشه ، چون پنجره پرینت بصورت pop-up لود میشه

نه Pop-up Blocker هم فعال نیست...

Chabok
دوشنبه 06 خرداد 1387, 11:36 صبح
سلام
اگر میخواهید مستقیما به پرینتر بفرستید میتونید به این صورت عمل کنید :

باید نام پرینتر خود را به گزارش بدهید :

Rpt.PrintOptions.PrinterName = "HP LaserJet 1018"سپس خود گزارش رو به پریتنر بفرستید :

Rpt.PrintToPrinter(1, False, 0, 0)مزیت این کار :
گزارش مستقیما به چاپگر ارسال می شود .
نیازی به تبدیل به PDF نیست (تبدیل به PDF و سپس چاپ PDF چیزی که میخواهید از آب در نمیاد. مطمئن باشید:چشمک:) .
معایب :
پرینتری که معرفی می کنید باید پرینتر سرور باشد . چون همه عملیات سمت سرور انجام می شود .
و چون سیستم تحت وب است احتمال میدهم که بخواهید سمت سایر کلاینت ها گزارش گیری کنید . برای این کار باید پرینتر سمت کلاینت رو Share کنید و نام پرینتر رو در بخش بالا بصورت PC1\\Printer1 وارد کنید.

برای بدست آوردن پرینترهای سمت سرور هم میتونید از کد زیر استفاده کنید :


For Each InstalledPrinters As String In Printing.PrinterSettings.InstalledPrinters

Nextموفق باشید . خدانگهدار

el_abdollahi
دوشنبه 06 خرداد 1387, 15:56 عصر
http://barnamenevis.org/forum/showthread.php?t=99943
http://barnamenevis.org/forum/showthread.php?t=102708

لینک های بالا ، لینک های خوبی هستند . میتونندن راهنماییتون کنند.