我的问题有点奇怪。我的代码如下:
private bool print(int copies)
{
const string nameMethod = "print";
try
{
LogHandler.Start(nameMethod);
m_objMyRepDoc.ReadRecords();
m_objMyRepDoc.PrintToPrinter(copies, false, 0, 0);
return true;
}
catch (Exception ex)
{
LogHandler.LogError(nameMethod, ex);
return false;
}
finally
{
LogHandler.Finish(nameMethod);
}
}这是用来组合不同的rpt文件的。十有八九是打印出来的。对于%1,请不要。我在其他pc上试过了,它打印10/10。同样版本的水晶报表运行时。
我还试着添加
m_objMyRepDoc.ExportToDisk(ExportFormatType.PortableDocFormat, "test"+DateTime.Now.Millisecond+".pdf");
在PrintToPrinter之前检查此报告的外观,以及在此故障机器上生成的pdf是否正确。
有没有人知道如何找到这台机器10个报告中的一个有问题的原因?没有错误。方法将无一例外地结束。
发布于 2021-02-12 21:20:17
在这个问题的情况下,请检查页面设置下的文件菜单中的水晶报告。
在那里,您可以找到No Printer标志。禁用此功能后,我的报告开始打印。虽然使用相同的rpt文件,但我不知道为什么它会在其他机器上打印。
发布于 2021-11-16 15:22:42
我也遇到过类似的问题,对PrintToPrinter的调用在开发中有效,但在其他环境中失败了。在经历了极大的痛苦之后,我发现这也与"No Printer flag“有关,并且我收到了一条错误消息-- "No Printers are Instaleld”。我可以通过更改PrintToPrinter调用来解决这个问题。
来自SAP论坛的这篇文章将我引向了正确的方向:https://answers.sap.com/questions/12380707/no-printers-are-installed---printtoprinter-problem.html
从这一点更改:
crystalReport.PrintOptions.PrinterName = "\\\\print_server\\printer";
crystalReport.PrintToPrinter(1, true, 0, 0);要这样做:
System.Drawing.Printing.PrinterSettings printersettings = new System.Drawing.Printing.PrinterSettings();
printersettings.PrinterName = PrinterToUse;
printersettings.Copies = 1;
printersettings.Collate = false;
Report.PrintToPrinter(printersettings, new System.Drawing.Printing.PageSettings(), false);https://stackoverflow.com/questions/66107482
复制相似问题