none
用C#开发windows mobile 6上的蓝牙热敏打印的功能,正常情况下是白底黑字,但是偶尔会出现黑底白字 RRS feed

  • 常规讨论

  • 如果隔一段时间再打印就是正常的白底黑字,但是如果连着间隔时间短打印就会出现黑底白字的情况,找不到解决办法。下面是代码:

      PrintDC print;
            PrinterInfo pf;
            private void button1_Click(object sender, EventArgs e)
            {
                try
                {
                    print = new PrintDC();
                }
                catch (Exception x)
                {
                    MessageBox.Show(x.Message, "Error");
                    return;
                }

                pf.paperHeight = 1000;
                pf.paperWidth = 0;
                pf.pcs = IntPtr.Zero;
                pf.port = COMnum;          
                pf.printOrient = PrintOrientation.PRINT_PO_PORTRAIT;
                pf.printType = PrinterType.PRINT_PT_TIII_TIV;          
                pf.bRoll = 1;

                if (print.PrinterSet(pf) == 0)
                {
                    MessageBox.Show("DC_PrinterSet failed");
                    return;
                }

                // Driver flow
                if (print.StartDoc() == 0)
                {
                    MessageBox.Show("DC_StartDoc error");
                    return;
                }
                if (print.StartPage() == 0)
                {
                    MessageBox.Show("DC_StartPage error");
                    return;
                }

                //double x, y, width, height;
                //print.MapMode = MapMode.PRINT_MM_MM;
                print.MapMode = MapMode.PRINT_MM_DOT;

                FontProperty fontProperty = new FontProperty();

                fontProperty.bDefault = false;
                fontProperty.bItalic = true;
                fontProperty.bStrikeout = false;
                fontProperty.bUnderLine = true;
                fontProperty.iCharSet = 0;
                fontProperty.nWidth = 15;
                fontProperty.nHeight = 36;
                fontProperty.iWeight = 900;
                print.SetFont(fontProperty);

                string str;
                str = "PRINT";
               // print.PrintText(str, 0, 0);

                fontProperty.bDefault = true;
                print.SetFont(fontProperty);
                //print.SetFontName("Tahoma");
                str = "Do you know what I like? Summer vacation. I like it because I can go outside to play. If it rains, I can stay inside and play checkers. And this summer my family may go to Beijing, because we have not been there yet.";          
                print.PrintTextBlock(str,
                                0, 40,
                                384, 160, 16);
                              
                print.EndDoc();

               // print.FreeLib();
            }

    2013年10月11日 9:49

全部回复

  • 你好,

    本论坛主要讨论关于C++语言,编译器的问题。

    由于这个问题关于C#,我已咨询过C#论坛的支持人员,PrintDC不在Microsoft Visual C#的支持范围内。

    我将把这个问题改为“常规讨论”。

    不到之处,敬请谅解。

    感谢你的支持。


    We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
    Click HERE to participate the survey.

    2013年10月14日 9:08
    版主