نمي دونم اين رو بپرسم يا نه
مي خوام يه فرمي كه مثلا 25 خط متن داره رو به صورت يه صفحه A4 كامل پرينت بگيرم . براي اين كار هم روش هاي مختلفي رو امتحان كردم كه هر كدوم يه چيزي كم داره.
1- همتون مي دونيد ديگه با دستور PrintForm مي شه از يه فرم پرينت گرفت اما خوب مشكلش اينه كه فقط به اندازه صفحه نمايش پرينت مي گيره.
بعد رفتم سراغ اين برنامه هاي ريپورت گيري و ..... چندتا نصب كردم ، چندتا OCX هم گرفتم اما همشون با فونت فارسي مشكل دارن و نمي تونن اعداد رو فارسي چاپ كنن ( هرچند اصلا خوشم نمياد تو پروژه ام از اين برنامهاي جانبي استفاده كنم )
در نهايت دست به دامان API شدم. فرم رو ريختم داخل يه پيكچر باكس و بعد اون رو پرينت كردم . بد نشد ولي كيفيتش خيلي پائينه.
هر كدوم از اين روشها يه نقصي دارن. حالا به نظر شما من چكار كنم؟
اون برنامه های ریپورت گیری از فونتهای فارسی مثل زر یا نازینین استفاده کردی ببینی چی جواب میده؟
آره
هيچ فرقd نمي كنه . از فونتها با حالت هاي مختلف ( انواع زرنگار يا فوت هاي ديگه ) استفاده كردم ولي جواب نمي ده.
نكته آزار دهنده قضيه اينه كه يه كامپوننت براي پرينت دارم كه به زبان وي بي نوشته شده!!!! اين داره من رو ديوونه مي كنه.
پ.ن : فكر مي كنم با تابع DrawText اين كار رو انجام مي ده اما راستش چيز زيادي دستگيرم نشده.
اگه اجازه بدين من پيشنهاد ميكنم از كريستال ريپورت ورژن9 استفاده كنيد امكانات خوبي داره اگه برنامش رو دارين من تا اونجا كه بتونم كمكتون ميكنم البته خيلي وارد نيستم ولي بعضي ريپورتهايي كه گرفتم مشكل فارسي توشون نبودو فونتهاي فارسي رو هم بخوبي جواب ميده من خودم فونت badr رو بهتون پيشنهاد ميكنم
کد:
Private Sub Form_Load()
Set cr_rep = cr_app.OpenReport(App.Path & "\Report1.rpt")
With cr_rep
.DiscardSavedData
.DisplayProgressDialog = False
.PaperOrientation = crPortrait
[color=#FF0000] .PaperSize = crPaperA4[/color]
.RecordSelectionFormula = "{pakat.dateroz} like '*" & thisdate & "*' and {pakat.shift}='" & ramz & "' "
Me.CRViewer91.ReportSource = cr_rep
Me.CRViewer91.ViewReport
Me.CRViewer91.Zoom 100
Me.Show vbModal
End With
End Sub
خيلي ممنون ولي دوتا مشكل هست. اول اينكه من كريستال ريپورت 11 رو دارم و احتمالا بايد مشكلش كمتر از 9 باشه ولي اگه شما امتحان كرديد مي گردم 9 رو هم پيدا مي كنم.
مشكل دومم هم اينه كه تو اين تهران خراب شده همه كل نرم افزار جديد دارن هيچ كسي ورژن قديمي نداره!!!! اگه لطف كنيد لينك دانلود بزاريد ممنون مي شم.
والا من كه با 9 هيچ مشكلي نداشتم چون حجمش حدود 300 مگ ميشه نميتونم اينجا اپلود كنم اگه جايي سراغ دارين كه بتونم اين حجم رو اپلود كنم به ديده منت اين كار رو ميكنم البته با ورژن 10 هم ميشه
http://barnamenevis.org/forum/forumdispl...ne=-1&f=52
رو هم ببينيد اموزشش هست
اگه باز هم ورژن 10 روپيدانكردين ادرس بدين براتون ميفرستم
البته اگه با vb6 كار ميكنيد فكر نكنم بتونيد از ورژن11 استفاده كنيد از ورژن9 به پايين هم استفاده نكنيد چون فارسي رو ساپورت نميكنه
خيلي ممنون دوست عزيز
فكر مي كنم مشكلم با راهنمائي شما حل بشه اما كاش دوستاني مثل آقا جواد، خسرو خان يا آقا حامد هم به اين
تاپيك سر مي زدن بلكه بشه بدون استفاده از كامپوننت هاي آماده خودمون اين كار رو انجام بديم. مي دونم استفاده از
كريستال ريپورت به مراتب ساده تر هست اما واقعا برام سواله كه چطور مي شه يه پرينت دلخواه داخل وي بي گرفت.
خب با شيئ Printer ميشه ايني كه ميخوايد رو توي ويبي انجام داد. ولي طبق چيزي كه دوستان گفتن كيفيتش پايينه. من خودم هنوز نديدم. شايد بشه كيفيتو بالا برد. شايد.
علي جون شي پرينتر كيفيتش خوبه (براي من كافي هست لااقل ) اما باهاش نمي شه يه صفحه A4 كامل رو پ1رينت كرد . ( انتهاي صفحه چاپ نمي شه ) اگه ممكنه كدي كه مد نظرت هست و اين كار رو انجام مي ده بزار يا خودت تست كن. من كه امتحان كردم و هيچ جوري نتونستم نتيجه صحيح بگيرم.
فكر نكنم شيئ محدوديت داشته باشه. اگه محدوديتي باشه به احتمال زياد براي چاپگره. شرمنده من الان كه ديگه وقت نيست رفتم تا جمعه بعد.
فكر كنم بايد تنظيمات پرينتر رو دستكاري كنيد ممكنه page setup پرينترشما تنظيم نباشه اون رو هم يك نگاهي بكنيد