目前我遇到这样的问题,即从我们的c#内核进行打印时,使用其嵌入字体的矩阵打印机上的打印不起作用。打印机/水晶报告总是将字体更改为某些窗口字体。由于这个事实,打印单页非常慢。使用c#和水晶报告在矩阵打印机上打印
如果我直接用水晶报表设计器打印,一切工作都很好,并使用正确的字体。所以它工作,但不是从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为此,所以其他组件将被使用,这是有效的。
EDIT
在this article从树液SNC,我发现:
FYI - CR设计器使用DEVMODE结构访问打印机,.NET使用>在系统.NET框架equivolent .Drawing.Printing.PrinterSettings
也许这是问题?
编辑2
使用Crystal Reports RAS
进行打印,可以解决这个问题。我会试一试,让你知道。
谢谢大家!
我无法嵌入这些字体,因为它们不是TrueType字体。但是,谢谢:) – BendEg
我不是指嵌入到PDF中的字体,而是打印机内置的字体。您基本上必须强制CR引用它发送到打印机的文档中的打印机字体。 – Neppomuk
我做过了,使用PrintToPrinter时似乎不起作用。使用RAS解决了这个问题 – BendEg