0

目前我有一个问题,从我们的 c# 核心打印时,使用它的嵌入式字体在矩阵打印机上打印不起作用。打印机/水晶报告总是将字体更改为某些 Windows 字体。由于这个事实,打印单页非常慢。

如果我直接用水晶报表设计器打印,一切都很好,并且使用了正确的字体。所以它有效,但从 c# 打印时无效。也就是说,驱动和打印机工作正常,水晶报表也可以把所有的东西都发给打印机。就在我开始在 .net 应用程序中打印时,它不起作用。

在报告中设置了正确的打印机,我没有覆盖任何设置。我只是创建报告并打印它:

private ReportDocument reportDocument = new ReportDocument('C:\\Rpt\\Test.rpt');
// Passing parameter and every thing to the report
// Than print it:
reportDocument.PrintOptions.PrinterName = "Tally";
reportDocument.PrintToPrinter(1, false, 0, 0);

水晶报告中的 .net 打印引擎/运行时是否有问题?我认为设计师不为此使用.net,因此将使用其他组件,这很有效。

编辑

在sap snc 的这篇文章中,我发现:

仅供参考 - CR 设计器使用 DEVMODE 结构访问打印机,.NET 使用 >System.Drawing.Printing.PrinterSettings 中的 .NET Framework 等效项

也许这就是问题所在?

编辑 2

用于Crystal Reports RAS打印,可能会解决问题。我会试一试,让你知道。

谢谢你们!

4

1 回答 1

0

我不会说这是因为运行时,而是因为 .net 接口调用 Crystal Reports 引擎的选项。通常,您可以使用目标系统/打印机中内置的字体。我不是 Crystal Reports 方面的专家,但在 PostScript 和 PDF 中,您可以在文档本身中嵌入必要的字体,或者您可以让输出设备使用自己的字体。CR 必须有一个类似的选项,但是在从客户端 SW 使用它时,您必须明确激活它。

于 2016-01-13T20:44:42.343 回答