نمایش نتایج 1 تا 10 از 10

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

  1. #1
    کاربر دائمی آواتار samiasoft
    تاریخ عضویت
    مهر 1391
    محل زندگی
    اردبیل
    پست
    1,242

    Question جایگزین کردن بخش های موردنظر در متن برای چاپ

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


    برای اینکار اومدم این متن رو بصورت 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);


    ناگفته نماند میتونستم خیلی راحت کل متن را داخل فایل گزارش قراربدم اما چون در اینده متن قرارداد ممکن است داخل خود نرم افزار تغییر داده بشه برای همین با این مساله روبرو شدم
    آخرین ویرایش به وسیله samiasoft : چهارشنبه 17 فروردین 1401 در 13:22 عصر

  2. #2
    کاربر دائمی آواتار mazoolagh
    تاریخ عضویت
    اردیبهشت 1384
    سن
    71
    پست
    3,057

    نقل قول: جایگزین کردن بخش های موردنظر در متن برای چاپ

    سلام و روز و سال نو خوش

    شما میتونین در خود داکیومنت ورد فیلد تعریف کنین و بعد از طریق برنامه اون داکیومنت رو باز کرده و به فیلدها مقدار بدین.

  3. #3
    کاربر دائمی آواتار ROSTAM2
    تاریخ عضویت
    اسفند 1390
    محل زندگی
    فارس
    پست
    1,646

    نقل قول: جایگزین کردن بخش های موردنظر در متن برای چاپ

    نقل قول نوشته شده توسط 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 مشخص تعریف کنی تا تو کدنویسی بتونی استفاده کنی.

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

  4. #4
    کاربر دائمی آواتار samiasoft
    تاریخ عضویت
    مهر 1391
    محل زندگی
    اردبیل
    پست
    1,242

    نقل قول: جایگزین کردن بخش های موردنظر در متن برای چاپ

    نقل قول نوشته شده توسط mazoolagh مشاهده تاپیک
    سلام و روز و سال نو خوش

    شما میتونین در خود داکیومنت ورد فیلد تعریف کنین و بعد از طریق برنامه اون داکیومنت رو باز کرده و به فیلدها مقدار بدین.
    متشکرم همچنین
    میشد همینکارو کرد اما چون فقط به متن فایل ورد نیاز داشتم به همین خاطر کل متن را کاربر داخل برنامه وارد میکنه و در ریچ تکست باکس عملیات replce را انجام دادم.
    برای حل مشکل فونت هم دیدم چناچه ابتدا و انتهای فیلد موردنظر را فونتش رو فونت موردنظر کنم بعد از replace بدرستی به فونت اولیه تغییر پیدا میکند که مشکل حل شد.


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

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

  5. #5

    نقل قول: جایگزین کردن بخش های موردنظر در متن برای چاپ

    به ازای هر داده ای که باید جایگذاری بشه یک variable توی گزارش ، پنل dictionary ایجاد کنید و توی متن ریچتکست نام متغیر را همراه {} به کار ببرید(همون مثالی که زدید). برای ارسال مقدار متغیر از برنامه به گزارش با کد عمل کنید
    https://www.stimulsoft.com/en/sample...iables-in-code

  6. #6
    کاربر دائمی آواتار samiasoft
    تاریخ عضویت
    مهر 1391
    محل زندگی
    اردبیل
    پست
    1,242

    نقل قول: جایگزین کردن بخش های موردنظر در متن برای چاپ

    نقل قول نوشته شده توسط Mahmoud.Afrad مشاهده تاپیک
    به ازای هر داده ای که باید جایگذاری بشه یک variable توی گزارش ، پنل dictionary ایجاد کنید و توی متن ریچتکست نام متغیر را همراه {} به کار ببرید(همون مثالی که زدید). برای ارسال مقدار متغیر از برنامه به گزارش با کد عمل کنید
    https://www.stimulsoft.com/en/sample...iables-in-code
    بسیار ممنونم
    درواقع کار اشتباهی که انجام میدادم در پراپرتی ریچ تکست میومدم فیلدهای متغیر را انتخاب میکردم برای همین بوده که امکان اجازه یک فیلد را میداد که با راهنمایی شما بایستی در قسمت متن این متغییرها را دستی وارد میکردم یا از سی شارپ به این میفرستادم.
    آخرین ویرایش به وسیله samiasoft : جمعه 19 فروردین 1401 در 17:27 عصر

  7. #7
    کاربر دائمی آواتار mazoolagh
    تاریخ عضویت
    اردیبهشت 1384
    سن
    71
    پست
    3,057

    نقل قول: جایگزین کردن بخش های موردنظر در متن برای چاپ

    نقل قول نوشته شده توسط samiasoft مشاهده تاپیک
    متشکرم همچنین
    میشد همینکارو کرد اما چون فقط به متن فایل ورد نیاز داشتم به همین خاطر کل متن را کاربر داخل برنامه وارد میکنه و در ریچ تکست باکس عملیات replce را انجام دادم.
    برای حل مشکل فونت هم دیدم چناچه ابتدا و انتهای فیلد موردنظر را فونتش رو فونت موردنظر کنم بعد از replace بدرستی به فونت اولیه تغییر پیدا میکند که مشکل حل شد.
    من با توجه به تصویر پیوست (که یک فایل ورد بود) تصورم این بود که چون مستقیما با این داکیومنت نمیتونین کار کنین از روی ناچاری اون رو دوباره در گزارش طراحی کردین.
    به هر حال این خواسته شما خیلی شبیه mail-merge است.

  8. #8
    کاربر دائمی آواتار mazoolagh
    تاریخ عضویت
    اردیبهشت 1384
    سن
    71
    پست
    3,057

    نقل قول: جایگزین کردن بخش های موردنظر در متن برای چاپ

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

    راستشو بگم هنوزم برای چاپ از همین روش استفاده می کنم راحت، سریع، تمیز و بی دردسر خروجی هم عالی.
    لطفا بفرمایید که کنترل وب بروزر در نمایش درست مواردی مثل full justify , line spacing , تو رفتگی (indent) اول پاراگراف و ... مشکلی نداره؟
    یا فقط برای داکیومنت های ساده مفید هست؟

  9. #9
    کاربر دائمی آواتار ROSTAM2
    تاریخ عضویت
    اسفند 1390
    محل زندگی
    فارس
    پست
    1,646

    نقل قول: جایگزین کردن بخش های موردنظر در متن برای چاپ

    html انعطاف پذیری بسیار بالایی داره. و می شه باهاش ی ویرایشگر متن قوی ساخت.

    https://www.w3schools.com/html/default.asp

    برای نمایش رنگ بندی کد زبانهای برنامه نویسی بهترین روش استفاده از کدهای HTML هست.

    برای ایجاد سندتون از خود ویژوال استودیو استفاده کنید نوار Formatting کمک زیادی می کنه.

    Untitled.jpg

  10. #10
    کاربر دائمی آواتار mazoolagh
    تاریخ عضویت
    اردیبهشت 1384
    سن
    71
    پست
    3,057

    نقل قول: جایگزین کردن بخش های موردنظر در متن برای چاپ

    نقل قول نوشته شده توسط ROSTAM2 مشاهده تاپیک
    html انعطاف پذیری بسیار بالایی داره. و می شه باهاش ی ویرایشگر متن قوی ساخت.

    https://www.w3schools.com/html/default.asp

    برای نمایش رنگ بندی کد زبانهای برنامه نویسی بهترین روش استفاده از کدهای HTML هست.

    برای ایجاد سندتون از خود ویژوال استودیو استفاده کنید نوار Formatting کمک زیادی می کنه.

    Untitled.jpg
    ممنون،
    ولی شما اصلا پرسش رو دقت نکردین!

    پرسیده بودم که آیا کنترل وب بروزر در نمایش داکیومنت های پیچیده بدون مشکل هست یا نه؟
    و مثال هم آوردم : مواردی مثل full justify , indent, line spacing
    که مشخص شد تست نکردین، البته خیالتون راحت باشه چون اینها رو پشتیبانی میکنه.

    ولی چون این کنترل بر مبنای internet explorer 7 هست و خیلی از قابلیتهای css3 و html5 رو پشتیبانی نمیکنه، ممکنه بعضی داکیومنت ها درست رندر نشن یا بعضی کدهای جاوااسکریپت اجرا نشن.

    چند سالی هست که این کنترل از رده خارج محسوب میشه - بعد از اون کنترل webview اومد که برمبنای ie11 بود و الان هم که webview2 هست بر مبنای edge (کرومیوم)
    https://developer.microsoft.com/en-u...edge/webview2/

تاپیک های مشابه

  1. سوال: جایگزین گزینه inet در وی ب دات نت
    نوشته شده توسط hrj1981 در بخش VB.NET
    پاسخ: 5
    آخرین پست: سه شنبه 29 تیر 1395, 13:03 عصر
  2. پاسخ: 7
    آخرین پست: شنبه 26 مرداد 1392, 00:34 صبح
  3. پاسخ: 4
    آخرین پست: سه شنبه 14 شهریور 1391, 16:39 عصر
  4. پاسخ: 0
    آخرین پست: دوشنبه 02 مرداد 1391, 04:44 صبح
  5. پاسخ: 1
    آخرین پست: دوشنبه 25 بهمن 1389, 10:21 صبح

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •