Fahid Zahoor Ответов: 3

Отправка печати непосредственно на принтер без отображения диалогового окна печати в crystal reports


Я новичок в Crystal Reports.Я разработал отчет с помощью VisualStudio2017, и все работает нормально.

Мое требование заключается в том,что я создаю новую кнопку в своей заявке, и когда я нажимаю эту кнопку на панели инструментов crystalreportviewer, отчет должен быть отправлен на принтер по умолчанию на машине

без отображения диалогового окна печати.
я использую приложение c# winform.
Кто-нибудь подскажет мне, как я могу это сделать

Что я уже пробовал:

я понятия не имею, как я могу это сделать.

3 Ответов

Рейтинг:
2

prasanthkvr007

Документе РД= новая документе
rd.PrintToPrinter(1, false, 0, 0);


Fahid Zahoor

я использую это, но он показывает сообщение об ошибке
Кристаллические решения.CrystalReports.Двигатель.LoadSaveReportException: "неверный путь к файлу отчета".

Fahid Zahoor

у меня есть один отчет Crystal назван CustomerCashRecipet.РПТ, и я использую один кристалл средство просмотра отчетов назван crystalReportViewer и я также использовать один crystalreportDocument я загрузить CustomerCashRecipet доклад crystalreportDocument и тогда я отображения crystalreportDocument в моем докладе просмотра и затем берем печати, пожалуйста, скажи мне что-нибудь как я могу взять непосредственно печати crystalreportDocument используя кнопку нажать

Рейтинг:
1

prasanthkvr007

Выполнить следующие действия
создайте новую форму (для просмотра отчета Crystal)
добавьте инструмент crystalreportviewer в эту форму


добавьте следующие библиотеки

using CrystalDecisions.Shared;
using CrystalDecisions.CrystalReports.Engine;
using CrystalDecisions.ReportSource;


затем вызовите нижеприведенную функцию в кнопке основной формы нажмите кнопку

public void bill_Printing()
{
try
{
                DataSet ds_Bill = invoice.Print_Bill();

                ReportDocument rd = new ReportDocument();
                rd.Load(Application.StartupPath + "\\Crystal_Report\\crptBill.rpt");////put your crystal report path here
                rd.Database.Tables[0].SetDataSource(ds_Bill.Tables[0]);

                rd.SetParameterValue("@company", Company);////add parameters if any                            

               
                rd.PrintToPrinter(1, false, 0, 0);
               
            }
            catch (Exception)
            { }
}


Fahid Zahoor

ваш метод хорош, пожалуйста, скажите мне, как я могу установить принтер по умолчанию так, чтобы печать непосредственно шла на принтер по умолчанию