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

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

  1. #1

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

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

    حالا سوال من این هست؟
    من دارم فونت و سایز فونت از کاربر می گیرم و محل قرارگیری هر بخش از متن رو مقدار دهی می کنم. بنابراین با توجه اینکه کاربر می تونه اندازه کاغذ و فونت رو تغییر بده ممکن تعداد صفحاتی که باید چاپ بشه تغییر کنه ولی من وقتی e.HasMorePages = true اعمال می کنم بعد از فراخوانی متد پرینت متد printDocument1_PrintPage حلقه بی نهایت برایش ایجاد می شه و هزار بار بیشتر فراخوانی می شه تا زمانی که ویندوز خطای مموری بده!

    چی کار باید بکنم؟

    ممنون
    آخرین ویرایش به وسیله احمد سامعی : سه شنبه 24 اردیبهشت 1392 در 15:46 عصر

  2. #2

    نقل قول: مشکل استفاده از پرینت داکیومنت و کریستال ریپورت برای چاپ

    این هم نمونه کد های من

    public void printDocument1_PrintPage(object sender, System.Drawing.Printing.PrintPageEventArgs e)
    {
    // create brush...
    StringFormat format = new StringFormat(StringFormatFlags.FitBlackBox | StringFormatFlags.DirectionRightToLeft);
    SolidBrush brush1 = new SolidBrush(Color.Black);
    SolidBrush brush2 = new SolidBrush(Color.DarkGreen);
    Font font1 = new Font(Pro.Default.DocFontName, Pro.Default.DocFontSize);
    Font font2 = new Font(Pro.Default.DocFontName, Pro.Default.DocFontSize, FontStyle.Bold);
    Pen pen = new Pen(new SolidBrush(Color.Black), 2.0F);
    RectangleF rec = e.PageSettings.Bounds;
    rec.Width -= (e.PageSettings.Margins.Left + e.PageSettings.Margins.Right);
    float height = e.Graphics.MeasureString("بند 1:", font2, (int)rec.Width, format).Height;

    /*----------------------------Title------------------------------*/
    // draw Logo
    if (Pro.Default.DocIsLogo & System.IO.File.Exists(Application.StartupPath + @"\logo.jpg"))
    {
    format.Alignment = StringAlignment.Center;
    e.Graphics.DrawImage(new Bitmap(Application.StartupPath + @"\logo.jpg"), (rec.Width / 2) - 35, rec.Y, 70, 70);
    rec.Y += 50;
    }
    format.Alignment = StringAlignment.Center;
    e.Graphics.DrawString("فرم قرارداد", new Font("IranNastaliq", 45), brush2, rec, format);
    rec.Y += e.Graphics.MeasureString("فرم قرارداد", new Font("IranNastaliq", 45), e.PageBounds.Width, format).Height + 10;
    e.HasMorePages = true;
    {

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

  1. سوال: مشکل در استفاده از دو جدول در کریستال ریپورت
    نوشته شده توسط reza69 در بخش C#‎‎
    پاسخ: 13
    آخرین پست: شنبه 11 خرداد 1392, 22:19 عصر
  2. مشکل با پرینت گزارش در کریستال ریپورت و wpf
    نوشته شده توسط helpsos در بخش ابزارهای گزارش سازی
    پاسخ: 0
    آخرین پست: چهارشنبه 05 مهر 1391, 05:53 صبح
  3. مبتدی: چند ستونه کردن کریستال ریپورت برای چاپ لیبل
    نوشته شده توسط nedaei در بخش ابزارهای گزارش سازی
    پاسخ: 4
    آخرین پست: سه شنبه 09 خرداد 1391, 21:48 عصر
  4. استفاده توابع ویژوال بیسک در کریستال ریپورت
    نوشته شده توسط Payam_Programing در بخش گزارش سازی با Crystal Report
    پاسخ: 2
    آخرین پست: شنبه 09 آبان 1383, 23:04 عصر
  5. مشکل نوع گزارش cross tab در کریستال ریپورت
    نوشته شده توسط bbehnam در بخش VB.NET
    پاسخ: 0
    آخرین پست: چهارشنبه 21 آبان 1382, 12:40 عصر

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

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