使用Visual Studio 2017-双面打印的Crystal Report 2016停止工作

2020-09-05 13:14发布

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


有人可以帮助我解决此问题吗,我在Crystalreport双面打印中一直遇到此问题。

下面提到的代码在上周之前都可以正常工作。

 System.Drawing.Printing.PrintDocument pDoc =新的System.Drawing.Printing.PrintDocument();
 CrystalDecisions.Shared.PrintLayoutSettings PrintLayout = new CrystalDecisions.Shared.PrintLayoutSettings();
 System.Drawing.Printing.PrinterSettings printerSettings =新的System.Drawing.Printing.PrinterSettings();
 字符串str_printer = string.Empty;
 str_printer = drtemp [0] .ToString();
 printerSettings.PrinterName = str_printer;
 System.Drawing.Printing.PageSettings pSettings =新的System.Drawing.Printing.PageSettings(printerSettings);
 rp.PrintOptions.DissociatePageSizeAndPrinterPaperSize = true;
 rp.PrintOptions.PaperOrientation = PaperOrientation.Landscape;
 rp.PrintOptions.PaperSize = PaperSize.PaperLetter;
 rp.PrintOptions.PrinterDuplex = PrinterDuplex.Vertical;
 rp.PrintToPrinter(printerSettings,pSettings,false,PrintLayout);
 

以上代码与打印机HPM651完美配合。 现在,它不能双面打印。 正常的Word文档经过双面测试后可以正常工作。

上面的代码有什么问题?

我检查了打印机选项,其中应该安装了"双面"部件,并且还可以。

同样在C#尖锐代码中,在将其设置为Duplex之前,通过将鼠标悬停在Printoptions上的Visual Studio调试器,可以发现以下内容

PrinterSettings HPM651份数= 1分页=真双面打印=单面FromPage = 0横向角度= 90个最大份数= 9999

上述行中是否提到了未设置双工? Duplex = Simplex吗?

 rp.PrintOptions.PrinterDuplex = PrinterDuplex.Vertical; 

请告知我如何解决此问题。

谢谢

Venkat

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


有人可以帮助我解决此问题吗,我在Crystalreport双面打印中一直遇到此问题。

下面提到的代码在上周之前都可以正常工作。

 System.Drawing.Printing.PrintDocument pDoc =新的System.Drawing.Printing.PrintDocument();
 CrystalDecisions.Shared.PrintLayoutSettings PrintLayout = new CrystalDecisions.Shared.PrintLayoutSettings();
 System.Drawing.Printing.PrinterSettings printerSettings =新的System.Drawing.Printing.PrinterSettings();
 字符串str_printer = string.Empty;
 str_printer = drtemp [0] .ToString();
 printerSettings.PrinterName = str_printer;
 System.Drawing.Printing.PageSettings pSettings =新的System.Drawing.Printing.PageSettings(printerSettings);
 rp.PrintOptions.DissociatePageSizeAndPrinterPaperSize = true;
 rp.PrintOptions.PaperOrientation = PaperOrientation.Landscape;
 rp.PrintOptions.PaperSize = PaperSize.PaperLetter;
 rp.PrintOptions.PrinterDuplex = PrinterDuplex.Vertical;
 rp.PrintToPrinter(printerSettings,pSettings,false,PrintLayout);
 

以上代码与打印机HPM651完美配合。 现在,它不能双面打印。 正常的Word文档经过双面测试后可以正常工作。

上面的代码有什么问题?

我检查了打印机选项,其中应该安装了"双面"部件,并且还可以。

同样在C#尖锐代码中,在将其设置为Duplex之前,通过将鼠标悬停在Printoptions上的Visual Studio调试器,可以发现以下内容

PrinterSettings HPM651份数= 1分页=真双面打印=单面FromPage = 0横向角度= 90个最大份数= 9999

上述行中是否提到了未设置双工? Duplex = Simplex吗?

 rp.PrintOptions.PrinterDuplex = PrinterDuplex.Vertical; 

请告知我如何解决此问题。

谢谢

Venkat

付费偷看设置
发送
5条回答
SKY徐
1楼 · 2020-09-05 13:45.采纳回答

唐,

下面是我的HP8150黑白打印机代码-打印效果很好

 HP8150
 System.Drawing.Printing.PrintDocument pDoc =新的System.Drawing.Printing.PrintDocument();
 CrystalDecisions.Shared.PrintLayoutSettings PrintLayout = new CrystalDecisions.Shared.PrintLayoutSettings();
 System.Drawing.Printing.PrinterSettings printerSettings =新的System.Drawing.Printing.PrinterSettings();

 printerSettings.CanDuplex.ToString();

 字符串str_printer = string.Empty;
 str_printer = drtemp [0] .ToString();
 printerSettings.PrinterName = str_printer;
 System.Drawing.Printing.PageSettings pSettings =新的System.Drawing.Printing.PageSettings(printerSettings);
 rp.PrintOptions.DissociatePageSizeAndPrinterPaperSize = true;
 rp.PrintOptions.PaperOrientation = PaperOrientation.Landscape;
 rp.PrintOptions.PaperSize = PaperSize.PaperLetter;
 rp.PrintOptions.PrinterDuplex = PrinterDuplex.Vertical;
 printerSettings.CanDuplex.ToString();
 rp.PrintToPrinter(printerSettings,pSettings,false,PrintLayout);
 
我有意插入了下面提到的这一行,以查看Duplex标志,

 printerSettings.CanDuplex.ToString();

 不过,在下面的代码行之后,逐步跟踪dotnet调试器时显示为false。

 rp.PrintOptions.DissociatePageSizeAndPrinterPaperSize = true;

 printerSettings.CanDuplex.ToString(); //已变为true。

 这是作业转到打印作业之前的最后状态

 " PrinterSettings HP8150份数= 1分页=真双面打印=垂直FromPage = 0横向角度= 90个最大份数= 9999 OutputPort = ToPage = 0"

 但是,上面与HPM651相同的代码似乎不起作用。

 在跟踪时,它显示如下

 " PrinterSettings HPM651份数= 1分页=真双面打印=单面FromPage = 0横向角度= 90个最大份数= 9999 OutputPort = ToPage = 0"

 从上一行我可以清楚地看到Duplex = Simplex

 如何强制打印机占用双面打印?

 因为除非我正确理解以下内容,

 " PrinterSettings HPM651份数= 1分页=真双面=垂直FromPage = 0横向角度= 90个最大份数= 9999 OutputPort = ToPage = 0"

 它不会在双面打印。

 请提出如何使其在双面打印。 这仅在HPM651颜色中发生
 打印机。

 当我打印Word文档进行双面打印时

 谢谢
 Venkat 
Violet凡
2楼-- · 2020-09-05 14:02

如果此操作以前曾起作用,而您尚未对代码进行任何更改,则很可能是Windows更新导致了该问题。

-Dell

clasier
3楼-- · 2020-09-05 13:45

Dell,

Windows 2012 R2服务器中的自动更新已关闭,没有最新更新。

谢谢

Venkat

半个程序猿
4楼-- · 2020-09-05 13:50

检查打印机设置,可能已更改为只读,因此您无法在运行时进行更改。

尝试右键单击 您的EXE并选择"以管理员身份运行"

蓋茨
5楼-- · 2020-09-05 13:49

一周热门 更多>