直接从Web浏览器打印条形码

时间:2016-08-11 07:43:52

标签: javascript java barcode-scanner barcode-printing

我正在使用 JsBarcode插件在我的应用程序中制作条形码 代码就像这样

JsBarcode("#barcode", "1234", {
  format: "CODE128",
  lineColor: "#0aa",
  width:4,
  height:40,
  displayValue: true
});

现在条形码正确生成,当我从分辨率为203dpi的标签打印机打印标签时无法清楚地打印标签时,当我在选项中选择Dithering'none'时,它会清楚地打印标签并且标签可以使用我的Android手机应用程序,但不能使用任何条形码阅读器(我尝试过4到5个读者)。在这里搜索我遇到了这个answer,它建议制作一个pdf文件现在问题与Pdf文件是 当打印时,将打印整页,如果有人想要打印单条形码则不可行
和我遇到的第二个答案是this,它建议使用斑马打印机进行打印,我无法进行打印要清楚这一点,如果有人将使用任何其他打印机,应该为他做什么解决方案。
我正在使用 Java

1 个答案:

答案 0 :(得分:0)

最终能够成功读取和写入条形码。 从这里做一点研究就是我对问题的了解。
问题
 1. HTML不一致,它显示屏幕的不同行为屏幕,因此使用HTML和JavaScript打印不是一个好主意。
 2.使用JavaScript和HTML创建的图像(条形码)是高级DIP,在低分辨率条形码打印机上打印时未正确呈现。
解决方案

  1. 正如我所写的那样,我使用的是java。所以我选择条形码图像。使用Barbecue
  2. 现在我可以设置图像的DIP 这是代码示例

    OutputStream os = new ByteArrayOutputStream(); 尝试{                      条形码条形码= BarcodeFactory.createCode128B(printLabel.getBagNo());

                       barcode.setBarWidth(1);
                       barcode.setResolution(203);
                       barcode.setBarHeight(1);
                       Font font=new Font("Plain",Font.PLAIN,8);
                       barcode.setFont(font);
                            //File f = new File("mybarcode.png");
    
                           // System.out.println(f.getAbsolutePath());
                            BarcodeImageHandler.writePNG(barcode, os);
                            //BarcodeImageHandler.savePNG(barcode, f);
    
                        }
    
                         catch (Exception e) {
                            System.out.println(e.getMessage());
                        }