Печать на матричном принтере с использованием отчетов 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 должен иметь аналогичную опцию, но вы должны явно активировать ее при использовании клиентского ПО.

Другие вопросы по тегам