نقل قول نوشته شده توسط zagroti مشاهده تاپیک
سلام بجای کنترل stiViewerControl از stiDotMatrixViewerControl استفاده کن.این نوع چاپگرهای سوزنی به DotMatrix می شناسن جهت اطلاعات کامل تر بهتره به سایت stimulsoft بری و داکیومنت آن رو مطالعه کنی.لازم اسن یاداوری کنم که و هر خط از گزارش در مد DotMotrix حداکثر از 80 کاراکتر رو پشتیبانی میکند
با سلام و تشکر از پاسخت مهندس عزیز

بنده اصلا از viewer استفاده نکردم و بدون printpreview مستقیم فرستادم به چاپگر
البته در خود فایل پزارش در برنامه استیمول بعد راهنمایی شما یه پروپرتی پیدا کردم به اسم preview که دو حالت standard و dotmatrix داست. که بنده روی حالت استاندارد که مناسب پرینترهای حرارتی و لیزریه گذاشته بودمش.
منظور شما همینه؟
آیا با این گزینه مشکل حله؟

قطعه کد رو هم براتون میزارم:

private void PrintBillToNoskhe(string BillID)        {
PatientClacc.PatientVisitBill pv = new PatientClacc.PatientVisitBill();
DataTable dt = new DataTable();
dt = pv.GetBillReportNoskhe(BillID);


string ReportPath = Application.StartupPath + @"\Reports\" + "PatientBillNoskhe.mrt";
if (File.Exists(ReportPath))
{
System.Drawing.Printing.PrinterSettings st = new System.Drawing.Printing.PrinterSettings();
string PrinName = FindNoskhePrinter();


if (!string.IsNullOrEmpty(PrinName))
{
stiReportBillNoskhe.Load(ReportPath);
stiReportBillNoskhe.RegData("DTPatientBillNoskhe", dt);
stiReportBillNoskhe.Render(false);
//stiReportBillNoskhe.Render(true);
st.PrinterName = PrinName;
stiReportBillNoskhe.Print(true, st);
//stiReportBillNoskhe.ShowWithRibbonGUI();
}
else
{
MessageBoxEx.EnableGlass = false;
MessageBoxEx.Show("پرینتر مناسب یافت نشد", "خطا", MessageBoxButtons.OK, MessageBoxIcon.Asterisk, MessageBoxDefaultButton.Button1);
return;
}
}
else
{
MessageBoxEx.EnableGlass = false;
MessageBoxEx.Show("فایل گزارش یافت نشد", "خطا", MessageBoxButtons.OK, MessageBoxIcon.Asterisk, MessageBoxDefaultButton.Button1);
return;
}
}