تبلیغات :
آکوستیک ، فوم شانه تخم مرغی، صداگیر ماینر ، یونولیت
دستگاه جوجه کشی حرفه ای
فروش آنلاین لباس کودک
خرید فالوور ایرانی
خرید فالوور اینستاگرام
خرید ممبر تلگرام

[ + افزودن آگهی متنی جدید ]




صفحه 1 از 2 12 آخرآخر
نمايش نتايج 1 به 10 از 11

نام تاپيک: تغییر سایز کریستال بعد از تغییر پرینتر

  1. #1
    مدیر انجمن برنامه نویسی Payman_62's Avatar
    تاريخ عضويت
    Dec 2005
    محل سكونت
    تهران
    پست ها
    2,445

    پيش فرض تغییر سایز کریستال بعد از تغییر پرینتر

    سلام.
    تو یه پروژه #C برای گزارش گیری از کریستال ریپورت استفاده کردم.

    تو یه قسمت گزارش بر اساس کاغذ a4 هست.

    تو یه قسمت دیگه برای صدور فاکتور از کریستال استفاده کردم که بر اساس کاغذ 8 سانتی متری پرینتر حرارتی هست.

    حالا وقتی پرینتر دیفالت تغییر میکنه سایز کریستال های من هم تغییر میکنه.
    یعنی اگه بره رو پرینتر حرارتی گزارش ها هم از کاغذ a4 به کاغذ 8 سانتی تغییر میکنن و بیشتر از نصف گزارش حذف میشه.
    اگرم بره رو پرینتر معمولی سایز کریستال صدور فاکتور تبدیل میشه به کاغذ a4.

    راه حل این مشکل چیه؟

    نظرتون رو هم در مورد استفاده از کریستال برای صدور فاکتور توسط پرینتر حرارتی بگین.

  2. #2
    ناظر انجمن .NET Framework _H2_'s Avatar
    تاريخ عضويت
    Feb 2007
    محل سكونت
    یک جایی بین Framework و نارمک!
    پست ها
    4,746

    پيش فرض

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

    چیزی که مشخص است آن است که طبیعتاً گزارش شما باید برای آن ابعاد طراحی شده باشد.
    به شرطی که گزارش طراحی شده شما از همان ابتدا در کریستال سایز صحیحی داشته باشد.
    بحرحال شما گزارش A4 بسازید و به کاغذ A5 هم بدهید، چیز درستی تحویل نمیگیرد چه برسد به ابعاد دو الی سه اینچ.

    یعنی در خود کریستال کاغذ را کوچک کنید و گزارشی مخصوص ابعاد کوچک طراحی کنید.
    (یک جورهایی آدم را یاد سایت هایی میاندازد که سایت عادی با سایت موبایلی شان فرق دارد ...)

    یعنی یک گزارش مستقل برای چاپگرهای عادی و سایز A4 طراحی کنید و یک گزارش مستقل دیگر با ابعاد مدنظرتان کوچک مدنظرتان.

    دو گزارش مستقل، حال میتوانید دو دکمه پرینت مستقل هم داشته باشید یا خود برنامه هوشمندانه بسته به مشخصات پرینتر و سایز کاغذ ان، گزارش مطلوب را انتخاب کند.

  3. این کاربر از _H2_ بخاطر این مطلب مفید تشکر کرده است


  4. #3
    مدیر انجمن برنامه نویسی Payman_62's Avatar
    تاريخ عضويت
    Dec 2005
    محل سكونت
    تهران
    پست ها
    2,445

    پيش فرض

    سلام.
    h2 جان گزارش های من مستقل طراحی شدن و جدا از هم بر اساس کاغذ a4 هستن. صدور فاکتور هم همین طور جدا بر اساس کاغذ 8 سانتی طراحی شده.

    اما مشکل اصلا از داخل برنامه نیست که من بخوام کنترلش کنم. اگه به تنظیمات پرینتر داخل کنترل پنل برم و پرینتر پیش فرض ویندوز رو روی پرینتر حرارتی 8 سانتی بذارم داخل برنامه همه گزارش ها که قبلا بر اساس a4 طراحی شده بودن خود به خود تغییر سایز میدن و کوچیک میشن. در واقع بیشتر از نصف گزارش حذف میشه. یه عکس ازش قرار دادم.


  5. #4
    ناظر انجمن .NET Framework _H2_'s Avatar
    تاريخ عضويت
    Feb 2007
    محل سكونت
    یک جایی بین Framework و نارمک!
    پست ها
    4,746

    پيش فرض

    سلام
    اما مشکل اصلا از داخل برنامه نیست که من بخوام کنترلش کنم. اگه به تنظیمات پرینتر داخل کنترل پنل برم و پرینتر پیش فرض ویندوز رو روی پرینتر حرارتی 8 سانتی بذارم داخل برنامه همه گزارش ها که قبلا بر اساس a4 طراحی شده بودن خود به خود تغییر سایز میدن و کوچیک میشن.
    اجازه دهید ببینیم اصلاً درست متوجه شدم یا خیر ...
    منظور شما آن است که در ذات هم میتوانید پرینت A4 بگیرید و هم 8 سانیتی؟
    ولی مشکل آنجااست که انتخاب بین این دو دست شما نیست و وابسته به تعریف چاپگر پیشفرض ویندوز است؟
    یعنی اگر چاپگر پیشفرض ویندوز عوض شود، اصلاً همان پرینت های A4 عادی قبلی هم دچار مشکل میشود؟
    درست متوجه شدم؟
    یعنی این مشکل در زمان Preview هم پیش می آید؟؟؟؟!!!!!


    یک سمپل از قدیم داشتم که الآن هر بلایی تنظیمات چاپگر و همچنین سر کد آوردم نتواستم مشکل شما را در رایانه خودم شبیه سازی کنم.
    یعنی Print Preview همواره صحیح نشان میداد.

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

    علی الحساب پیشنهاد میکنیم حداقل در زمان طراحی گزارش کریستال درون برنامه گزینه های زیر را فعال کنید:
    (گرچه احتمالاً مشکلتان حل نخواهد شد!)
    RightClick->Design->Printer Setup->No Printer
    RightClick->Report->Report Options->Preview Pages Start With:Full Size

    در اخر اگر میتوانید همین پک نمونه را هم یک امتحان کنید و ببینید آیاد با تغییر تنظیمات چاپگر پیشفرض Print Preview این هم دچار نمایش اشتباه میشود یا خیر.
    (همین بود که برای شبیه سازی مشکل شما امتحانش کردم)
    http://support.h02.ir/fwlink/?LinkId=1003769457

  6. این کاربر از _H2_ بخاطر این مطلب مفید تشکر کرده است


  7. #5
    مدیر انجمن برنامه نویسی Payman_62's Avatar
    تاريخ عضويت
    Dec 2005
    محل سكونت
    تهران
    پست ها
    2,445

    پيش فرض

    سلام.

    سلام

    اجازه دهید ببینیم اصلاً درست متوجه شدم یا خیر ...
    منظور شما آن است که در ذات هم میتوانید پرینت A4 بگیرید و هم 8 سانیتی؟
    ولی مشکل آنجااست که انتخاب بین این دو دست شما نیست و وابسته به تعریف چاپگر پیشفرض ویندوز است؟
    یعنی اگر چاپگر پیشفرض ویندوز عوض شود، اصلاً همان پرینت های A4 عادی قبلی هم دچار مشکل میشود؟
    درست متوجه شدم؟
    یعنی این مشکل در زمان Preview هم پیش می آید؟؟؟؟!!!!!
    بله مشکل همینه و در پریویو هم با تغییر پرینتر پیش فرض اندازه پریویو تغییر میکنه.



    راستی با چه نسخه ای کار میکنید؟
    2008


    علی الحساب پیشنهاد میکنیم حداقل در زمان طراحی گزارش کریستال درون برنامه گزینه های زیر را فعال کنید:
    (گرچه احتمالاً مشکلتان حل نخواهد شد!)
    RightClick->Design->Printer Setup->No Printer
    تو پروژه از 16 تا کریستال برای تولید گزارش و 1 کریستال برای صدور فاکتور استفاده کردم که کریستال صدور فاکتور به کاربر نشون داده نمیشه و فقط برای طراحی و چاپ فاکتور ازش استفاده شده.
    گزینه No Printer مشکل گزارش هارو حل میکنه.

    اما کریستال فاکتور باز مشکلش باقی میمونه. چون بعد از زدن noprinter بین سایز کاغذهایی که میتونیم انتخاب کنیم کاغذ 8 سانتی نداریم و فقط a4 و a5 و ... داریم. دستی هم که نمیتونیم width کریستال رو مقدار بدیم.
    پس سایز کریستال فاکتور درست تنظیم نمیشه. ولی همان طور که گفتم این کریستال به کریستال ویور وصل نمیشه تا کاربر محتویاتش رو ببینه. پس میشه از این قسمت صرف نظر کرد و هنگام چاپ فاکتور تنظیمش کرد.
    یه انتخاب برای نمایش print dialog گذاشتم تا اگه کاربر خواست پرینتر رو انتخاب کنه. در صورت پیش فرض نبودن پرینتر حرارتی میتونه هنگام چاپ فاکتور پرینتر حرارتی رو انتخاب کنه تا فاکتور در سایز مناسب چاپ بشه.

    در اخر اگر میتوانید همین پک نمونه را هم یک امتحان کنید و ببینید آیاد با تغییر تنظیمات چاپگر پیشفرض Print Preview این هم دچار نمایش اشتباه میشود یا خیر.
    (همین بود که برای شبیه سازی مشکل شما امتحانش کردم)
    شما پرینتر حرارتی رو سیستمتون نصبه؟ شاید پرینتر هایی که روشون تست کردی همه a4 بودن.
    خیلی دلم میخواست برنامه شما رو تست کنم. اما پرینتر حرارتی الآن دم دستم نیست.

  8. #6
    ناظر انجمن .NET Framework _H2_'s Avatar
    تاريخ عضويت
    Feb 2007
    محل سكونت
    یک جایی بین Framework و نارمک!
    پست ها
    4,746

    پيش فرض

    سلام
    شما پرینتر حرارتی رو سیستمتون نصبه؟
    خیر چاپگر حرارتی و کلاً کوچک ندارم.
    در واقع همانطورکه گفتم برای شبیه سازی مشکل شما، فقط سایز کاغذ را در همان چاپگر عادی تغییر دادم تا اصلاً خود چاپگر سایز کوچکتر بگیرید که باز هم مشکلی در Preview پیش نیامد. (البته حالا چیزی به ذهنم رسید که اگر در تنظیماتم انجام دهم احتمالاً مشکل شما در رایانه من هم دیده میشود ... دیگر خیلی مهم نیست)

    همیشه گزینه No Printer را در کریستال فعال میکردم بدلیل اینکه ذاتاً بنظرم مشکل داشت چون ما که نام و مدل و آدرس چاپگر رایانه ای که برنامه مان روی ان نصب میشود را نداریم! پس اصلاً معنی ندارد این اطلاعات در گذارش کریستال ذخیره شود.

    ولی جالب بود، تاحالا هم به همچین مشکلی در Preview نخورده بودم، تجربه ای است.

    اما کریستال فاکتور باز مشکلش باقی میمونه. چون بعد از زدن noprinter بین سایز کاغذهایی که میتونیم انتخاب کنیم کاغذ 8 سانتی نداریم و فقط a4 و a5 و ... داریم. دستی هم که نمیتونیم width کریستال رو مقدار بدیم.
    در خصوص مشکل ابعاد، همان انتخاب چاپگری که گذاشتید بسیار کار آمد است و باید مشکل را مرتفع کند.
    احتمالاً با انتخاب چاپگر مناسب توسط کاربر باید گزارش صحیح چاپ شود.

    اگر هم شما خودتان در زمان طراحی گزارش در کریستال کاغذ بزرگتری انتخاب کرده ولی سمت راست اضافی گزارش را کلاً خالی رها کنید، با کدهایی شبیه این میتوانید ابعاد کاغذ را دستی در زمان اجرا اصلاح کنید:
    لازم بذکر است تمام گزینه های کامل Combox ابعاد کاغذ در زمان طراحی در اینجا در دسترس است.
    کد زیر عرض کاغذ را حدود 9 سانتیمتر میکند.
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    خصیصه PageContentWidth هم وجود دارد که ابعاد کاغذ را بدقت برمیگرداند ولی متاسفانه این خصیصه ReadOnly است.

    شب خوش.

  9. 2 کاربر از _H2_ بخاطر این مطلب مفید تشکر کرده اند


  10. #7
    مدیر انجمن برنامه نویسی Payman_62's Avatar
    تاريخ عضويت
    Dec 2005
    محل سكونت
    تهران
    پست ها
    2,445

    پيش فرض

    سلام.
    برنامه شما رو هم با پرینتر حرارتی چک کردم. همون مشکل من رو داشت.



    تغییر runtime عرض گزارش میتونه برای زمانی که قصد نمایشش رو داریم مفید باشه.

  11. #8
    ناظر انجمن .NET Framework _H2_'s Avatar
    تاريخ عضويت
    Feb 2007
    محل سكونت
    یک جایی بین Framework و نارمک!
    پست ها
    4,746

    پيش فرض

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

  12. #9
    مدیر انجمن برنامه نویسی Payman_62's Avatar
    تاريخ عضويت
    Dec 2005
    محل سكونت
    تهران
    پست ها
    2,445

    پيش فرض

    سلام.
    نه دیگه ممنون از لطفت. مشکل حل شد.

  13. #10
    داره خودمونی میشه
    تاريخ عضويت
    Nov 2004
    پست ها
    58

    پيش فرض

    خب مشكلتون حل ميشه بگين تا ديگران هم اگه به اين مشكل برخورد كردن مشكلشون حل بشه

  14. این کاربر از Armin62 بخاطر این مطلب مفید تشکر کرده است


صفحه 1 از 2 12 آخرآخر

Thread Information

Users Browsing this Thread

هم اکنون 1 کاربر در حال مشاهده این تاپیک میباشد. (0 کاربر عضو شده و 1 مهمان)

User Tag List

قوانين ايجاد تاپيک در انجمن

  • شما نمی توانید تاپیک ایحاد کنید
  • شما نمی توانید پاسخی ارسال کنید
  • شما نمی توانید فایل پیوست کنید
  • شما نمی توانید پاسخ خود را ویرایش کنید
  •