Печать на матричном принтере с использованием отчетов C# и crystal
В настоящее время у меня есть проблема, что печать на матричном принтере с использованием его встроенных шрифтов не работает при печати из нашего ядра C#. Отчеты принтер / кристалл всегда меняют шрифт на шрифт некоторых окон. Из-за этого печать одной страницы очень медленная.
Если я печатаю напрямую с дизайнером Crystal Reports, все работает довольно хорошо и используется правильный шрифт. Так работает, но не при печати из 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 во время выполнения отчетов Crystal? Я думаю, что дизайнер не использует.net для этого, поэтому будут использоваться другие компоненты, что работает.
РЕДАКТИРОВАТЬ
В этой статье от sap snc я нашел:
FYI - CR Designer использует структуру DEVMODE для доступа к принтеру, .NET использует>.NET Framework, эквивалентный в System.Drawing.Printing.PrinterSettings
Может в этом проблема?
РЕДАКТИРОВАТЬ 2
С помощью Crystal Reports RAS
для печати, может решить проблему. Я попробую и дам вам знать.
Спасибо вам всем!
1 ответ
Я бы не сказал, что это из-за времени выполнения, а скорее из-за опций, которые интерфейс.net вызывает движок Crystal Reports. Как правило, вы можете пересмотреть шрифты, встроенные в целевую систему / принтер. Я не специалист по Crystal Reports, но в PostScript и PDF вы можете встраивать необходимые шрифты в сам документ или заставить устройство вывода использовать свои собственные шрифты. CR должен иметь аналогичную опцию, но вы должны явно активировать ее при использовании клиентского ПО.