Печать на матричных принтерах с помощью программирования на C # - PullRequest
4 голосов
/ 17 ноября 2010

Я использую шаблон кода от Microsoft на этом сайте с этим фрагментом для распечатки только одной строки и подачи формы:

string s = "Hello world!\xC"; //\xC means form feed
PrintDialog pd = new PrintDialog();
pd.PrinterSettings = new PrinterSettings();
if (DialogResult.OK == pd.ShowDialog(this))
{
    RawPrinterHelper.SendStringToPrinter(pd.PrinterSettings.PrinterName, s);
}

Но не повезло, мой длинный размер бумаги всегда равен размеру бумаги A4.

Что не так с моим кодом? У кого-нибудь есть подсказка или хитрость для решения этой проблемы?

1 Ответ

4 голосов
/ 17 ноября 2010

Трудно сказать, в чем может быть проблема. SendStringToPrinter в конечном итоге вызывает WritePrinter, который должен копировать то, что вы отправляете на принтер, без изменений. Предполагается, что подача формы продвигает бумагу вертикально к началу следующей страницы. «Следующая страница» в этом случае определяется принтером, и в конфигурации принтера будет указано, какова длина страницы.

Возможно, вы хотите продвинуться только на одну строку, используя перевод строки?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...