PDA

View Full Version : پرینت متن طولانی



vahidvb
دوشنبه 10 تیر 1387, 04:50 صبح
مشکل در پرینت textbox اینه که خطوط رو کامل نمیزه ( عکس ضمیمه رو ببینید متوجه میشید)
مشکل در richtextbox هم right to left بودن زبان فارسی که مثلا نقطه رو اول خط میندازه
کد رو هم گذاشتم ببینید حتما متوجه منظورم میشید
اگر پرینتر مجازی ندارین تبدیل کننده pdf رو سایتم گذاشتم دانلود کنید
http://parsdiment.com/FinePrintPDF.zip

مهدي هراتي
دوشنبه 10 تیر 1387, 13:24 عصر
دوست عزيز شما با RichTextBox به نتيجه نمي رسيد

دو راه براي حل مشكل شما وجود دارد:
1) خودتان كدي بنويسيد كه متن داخل TextBox را هنگام ارسال به پرينتر Wrap كند (كمي سخت است)
2) از يك Report Generator استفاده كنيد (مثل Data Report يا Active Report يا Crystal Report)
خوبي راه اول اينه كه برنامه تون به كنترلهاي اكتيو ايكس اضافي وابسته نميشه ولي روش ضعيفيه
با راه دوم دستتون روي شكل خروجي چاپي بازه و تقريبا هر كاري بخواهيد مي توانيد انجام دهيد

موفق باشيد

vahidvb
دوشنبه 10 تیر 1387, 20:01 عصر
دوست عزيز شما با RichTextBox به نتيجه نمي رسيد

دو راه براي حل مشكل شما وجود دارد:
1) خودتان كدي بنويسيد كه متن داخل TextBox را هنگام ارسال به پرينتر Wrap كند (كمي سخت است)
2) از يك Report Generator استفاده كنيد (مثل Data Report يا Active Report يا Crystal Report)
خوبي راه اول اينه كه برنامه تون به كنترلهاي اكتيو ايكس اضافي وابسته نميشه ولي روش ضعيفيه
با راه دوم دستتون روي شكل خروجي چاپي بازه و تقريبا هر كاري بخواهيد مي توانيد انجام دهيد

موفق باشيد

دوست عزیز خیلی ممنون راهنمایی خوبی بود راه دوم که اصلا اول هم که متن خیلی طولانی مشکلات زیادی میاد سر راهش ولی شدنیه

دوستان کس دیگه ای به این مورد بر نخورده ؟؟؟

vahidvb
سه شنبه 11 تیر 1387, 02:07 صبح
کسی نیست اینجا بچه های سایت چقدر فعال شدن !!!

vbhamed
سه شنبه 11 تیر 1387, 09:07 صبح
سلام

پسوند فايلت رو بزار htm و اونو تو يك كنترل Internet بارگزاري و چاپ كن
تو ليست كامپوننتها اسم كامپوننتش Microsoft Internet Control هست
اگر خواستي فونت و رنگ و ... هم بدي كه بايد طبق قوانين فايلهاي html عمل كني


WebBrowser1.Navigate "C:\Test.htm"
WebBrowser1.ExecWB OLECMDID_PRINT, OLECMDEXECOPT_DODEFAULT

vahidvb
سه شنبه 11 تیر 1387, 10:51 صبح
سلام

پسوند فايلت رو بزار htm و اونو تو يك كنترل Internet بارگزاري و چاپ كن
تو ليست كامپوننتها اسم كامپوننتش Microsoft Internet Control هست
اگر خواستي فونت و رنگ و ... هم بدي كه بايد طبق قوانين فايلهاي html عمل كني


WebBrowser1.Navigate "C:\Test.htm"
WebBrowser1.ExecWB OLECMDID_PRINT, OLECMDEXECOPT_DODEFAULT

دمت گرم ایشالا یه جا جبران کنم :تشویق:

vahidvb
سه شنبه 11 تیر 1387, 11:10 صبح
دوستان موقع پرینت این پیغام رو میده
گفتم شاید ویستا دارم اینجوریه ؟
اینم کدی که می نویسم


Open "d:\a.htm" For Output As #1
Print #1, Text1
Close #1
WB.Navigate "d:\a.htm"
WB.ExecWB OLECMDID_PRINT, OLECMDEXECOPT_PROMPTUSER

f.nabavi
سه شنبه 11 تیر 1387, 16:21 عصر
visible کنترل wb رو فالس گذاشتین؟ اگر این طوره true رو امتحان کنید، نتیجه رو بگید.

ابوذر محمودی
سه شنبه 11 تیر 1387, 17:08 عصر
سلام آقا وحید
اگه با تکست باکس به هیچ نتیجه ای نرسیدید و خواستید با RichText برنامتون رو بنویسید کارهای زیر رو تو برنامت انجام بده
اول خط زیر رو حذف کن

RichTextBox1.SelAlignment = rtfRight
بعد به صورت دستی وقتی فوکوس رو richtext هستش کلید کنترل + شیفت رو بزن
حالا چاپ کن . دیگه مشکلی با اون نقطه کوچولو نداری
حالا همین رو به صورت کد نویسی تو برنامه قرار بده . فکر می کنم که بهترین راه استفاده از sendkey باشه.
البته امیدوارم که با تکست باکس مشکلت حل بشه منم دوباره تست می کنم

vahidvb
چهارشنبه 12 تیر 1387, 00:46 صبح
visible کنترل wb رو فالس گذاشتین؟ اگر این طوره true رو امتحان کنید، نتیجه رو بگید.

دقیقا همینطور بود کاملا درست شد :تشویق:
فقط خواستم بدونم میشه از طریق کد header و footer و آدرس فایل و چیزای اضافی که پرینت میکنه رو حذف کنیم؟

Black_Strom
پنج شنبه 09 آبان 1387, 13:08 عصر
راستی یه سوال تو active report چی حوری میشه موقع طراحی رو صفحه افقی یا landscape کار کنیم ...