莫寒语 2022-06-02 14:40 采纳率: 100%
浏览 218
已结题

flutter 调用网络打印机没有反应

最近在使用flutter开发移动端App的时候,遇到了通过ip直接调用网络打印机,打印机没有反应的问题
点击打印按钮,开始连接打印机
ElevatedButton(
    child: const Text("打印"),
    onPressed: () async {
        const PaperSize paper = PaperSize.mm80;
        final profile = await CapabilityProfile.load();
        final printer = NetworkPrinter(paper, profile);

        final PosPrintResult res = await printer.connect('10.228.109.100',  port: 3911);
         /// 此处已经success
         if (res == PosPrintResult.success) {
            testReceipt(printer);
            printer.disconnect();
          }

          print('Print result: ${res.msg}');
      },
)
连接成功之后,调用testReceipt方法开始绘制打印

void testReceipt(NetworkPrinter printer) {
    print('开始打印');
    printer.text(
        'Regular: aA bB cC dD eE fF gG hH iI jJ kK lL mM nN oO pP qQ rR sS tT uU vV wW xX yY zZ');
    printer.text('Special 1: àÀ èÈ éÉ ûÛ üÜ çÇ ôÔ',
        styles: PosStyles(codeTable: 'CP1252'));
    printer.text('Special 2: blåbærgrød',
        styles: PosStyles(codeTable: 'CP1252'));

    printer.text('Bold text', styles: PosStyles(bold: true));
    printer.text('Reverse text', styles: PosStyles(reverse: true));
    printer.text('Underlined text',
        styles: PosStyles(underline: true), linesAfter: 1);
    printer.text('Align left', styles: PosStyles(align: PosAlign.left));
    printer.text('Align center', styles: PosStyles(align: PosAlign.center));
    printer.text('Align right',
        styles: PosStyles(align: PosAlign.right), linesAfter: 1);

    printer.text('Text size 200%',
        styles: PosStyles(
          height: PosTextSize.size2,
          width: PosTextSize.size2,
        ));
    printer.feed(2);
    printer.cut();
    print('打印结束');
  }
运行结果未报错,控制台输出没有任何问题

img

代码上没看出任何问题,但是打印机毫无反应
求指点迷津,我错哪了,该怎么做
  • 写回答

1条回答 默认 最新

  • 不吐泡泡的咸鱼 2022-06-07 21:36
    关注

    提供的信息可以确定网络连接成功了
    没有打印出内容的原因应该在testReceipt内。由于并未提供NetworkPrinter的信息,所以无法确认具体位置,一下提出几点假设

    1. NetworkPrinter是一个正常的网络启动程序,那就考虑使用的问题,是否是printer中输出内容后没有将缓冲区刷出,或者需要提交打印任务之类的(这块应该是NetworkPrinter内部实现的一些函数,有可能未被调用)
    2. 若NetworkPrinter是一个正在开发的打印机驱动,那需要考虑是否是NetworkPrinter实现上的问题,包括是否有实现与打印机之间的协议相关的功能等
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 6月17日
  • 已采纳回答 6月9日
  • 创建了问题 6月2日

悬赏问题

  • ¥15 2020长安杯与连接网探
  • ¥15 关于#matlab#的问题:在模糊控制器中选出线路信息,在simulink中根据线路信息生成速度时间目标曲线(初速度为20m/s,15秒后减为0的速度时间图像)我想问线路信息是什么
  • ¥15 banner广告展示设置多少时间不怎么会消耗用户价值
  • ¥16 mybatis的代理对象无法通过@Autowired装填
  • ¥15 可见光定位matlab仿真
  • ¥15 arduino 四自由度机械臂
  • ¥15 wordpress 产品图片 GIF 没法显示
  • ¥15 求三国群英传pl国战时间的修改方法
  • ¥15 matlab代码代写,需写出详细代码,代价私
  • ¥15 ROS系统搭建请教(跨境电商用途)