نقل قول نوشته شده توسط samiasoft مشاهده تاپیک
سلام فرض کنید چنین قراردادی دارید (لینک تصویر) و میخواهید براساس اطلاعات ثبت شده در نرم افزار ، بخش هایی که نقطه چین هستند هرکدوم براساس پارامترهای مخصوص به خودشون از دیتابیس در این قرارداد جایگزین شود.


برای اینکار اومدم این متن رو بصورت rtf در دیتابیس ذخیره کردم و برای چاپ هم همین rtf را میفرستم در فایل گزارش استیمول سافت در داخل ریچ تکست باکس تا ارایش متن حفظ بشه.


البته به جای اون نقطه چین ها هم میخواهم پارامترهایی قرار بدم مثلا برای نام بزارم > {name} و بقیه هم به این شکل.


اما مساله ای که هست اینه که ایا در استیمول سافت که متن را به ریچ تکست میفرستم چطوری این پارامترها رو بگم خودکار جایگزین بشن از دیتابیس؟؟ ظاهرا چنین امکانی ندارد چون اجازه استفاده از فقط یک متغیر را میده !


یک راه دیگر این است که بیام قبل از اینکه متن را به گزارشگیر میفرستم داخل کدنویسی این پارامترها رو replace کنم و بعد به فایل گزارش استیمول سافت بفرستم که متاسفانه در این حالت برای اینکه موقع Replac کردن استایل متن حفظ شود اومدم بدین صورت انجام دادم :
 RichTextBox rtBox = new RichTextBox(); 
rtBox.Rtf = MyStrRTF;

rtBox.Find("{name}");
rtBox.SelectedText = "سامان بهنام";


اما متاسفانه بعد از جایگزین کردن متن موردنظر ، چون فونت مربوط به پارامتری که انگلیسی نوشته شده بود را به خود میگیرد که بنظر دیدم بهتره بیاد اخر کار کل فونت متن را به فونت موردنظر تغییر بدم :
rtBox.Font = new Font("B Nazanin", 10, FontStyle.Regular);


ناگفته نماند میتونستم خیلی راحت کل متن را داخل فایل گزارش قراربدم اما چون در اینده متن قرارداد ممکن است داخل خود نرم افزار تغییر داده بشه برای همین با این مساله روبرو شدم
سلام.
من قبلا برای یک قرارداد ی سند چاپ ساختم. بنظر من اصلا مهم نیست با کدوم ابزاری ب چاپگر ارسال می کنی من تا حالا با استیمول سافت کار نکردم. مهم اینه که بتونی با اون ابزار راحت کار کنی هم برنامه نویس و هم کاربر.
من از کدهای HTML و web browser استفاده کردم و برای تغییرات هم، هم می تونی با id تگ رو فراخوانی کنی و مقدارشو تغییر بدی هم با replace جایگزین کنی و web browser برای پرینت هم همه ابزار مدیرت چاپ رو داره. کافیه طراحی اولیه قرارداد رو تو ی سند HTML بسازی و برای قسمت هایی که می خوای تغییر بدی ی تگ span با id مشخص تعریف کنی تا تو کدنویسی بتونی استفاده کنی.

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