PrinterCE进行PDA的蓝牙打印

来源:互联网 发布:剑三成男捏脸详细数据 编辑:程序博客网 时间:2024/06/03 00:26
4月19日

使用PrinterCE进行PDA的蓝牙打印

PrinterCE封装了移动设备打印的功能,用户只需要使用它里面的像GDI+那样的API就可以通过蓝牙控制蓝牙打印机进行打印工作。使用PrinterCE进行打印操作的难点应该要数打印点的控制,简单来说就是打印高度,宽度的控制。

初始化

PrinterCE printer = new PrinterCE();

基本设置
printer.ScaleMode = PrinterCE.MEASUREMENT_UNITS.PIXELS;
PrinterCE_Base.PRINTER_SETUP set = new PrinterCE_Base.PRINTER_SETUP();
set.ColorMono = PrinterCE_Base.COLOR_MONO.MONOCHROME;

这里要选正确打印机厂家
set.Printer = PrinterCE_Base.PRINTER.HP_PCL;
set.LeftMargin = printer.PrinterResolution;
set.RightMargin = printer.PrinterResolution;
set.TopMargin = printer.PrinterResolution;
set.BottomMargin = printer.PrinterResolution;

PrinterCE通过COM口来模拟通信,这里设置COM8口
set.Port = PrinterCE_Base.PORT.COM8;

设置方向
set.Orientation = PrinterCE_Base.ORIENTATION.PORTRAIT;

设置纸张大小
set.PaperSelection = PrinterCE_Base.PAPER_SELECTION.A4;
printer.SetupPrSettings_All = set;

设置字体

printer.FontBold = true;
printer.FontSize = 28;

获取字体宽度

printer.GetStringWidth("Hello World");

获取字体高度

printer.GetStringHeight;

打印出Hello World

printer.DrawText("Hello World", x, y);

通过printer.PrPgWidt,printer.PrPgHeight获取页面宽度和高度,通过相关的计算,计算要打印文本的行数,如果文本的长度超过页面宽度,就要换行打印,相应的行数也要增加。可以通过先计算在一定宽度下所要打印文本的行数来解决。

通过printer.EndDoc();printer.ShutDown();来结束打印操作。

原创粉丝点击