【问题标题】:How to print image in TSC printer如何在 TSC 打印机中打印图像
【发布时间】:2014-03-25 20:56:37
【问题描述】:

我正在使用 TSC ME240 打印机打印标签。 标签设计有公司标志、文字部分和条形码。 条形码和文本打印得很好,但徽标没有打印,这是存储在打印机内存中的 .bmp 图像。

每次打印标签时,都会弹出一条消息“无法打开文件”。

这是我的部分代码:

  openport("printerName");
  setup("80 mm", "51 mm", "4", "15", "0", "3 mm", "0");
  clearbuffer();

  //  LOGO
  downloadpcx("logo-bmp.PCX", "logo-bmp.PCX");
  sendcommand("PUTPCX 19,15,\"logo-bmp.PCX\""); 
  printlabel("1", "1");
  closeport();

我也尝试将图像存储在应用程序中,但仍然收到相同的消息。我想知道是否可能需要更改打印速度?打印机是否有可能因为打印机打印速度太快而无法打印图像?但如果打印速度设置得太低,贴纸可能会烧毁。

编辑:

我将打印机配置为较低的打印速度,但这并没有解决我的问题。

然后我尝试使用他们的示例图像,它打印得很好。我的图片是 5kb,他们的图片是 6kb,所以我知道大小与它没有任何关系。

我们将非常感谢您对此事的任何意见。这里的想法用完了。

【问题讨论】:

  • 请问您是从哪个环境中执行此操作的,.net 还是 java。你在用什么sdk,你用的是什么控件或库PrintTSClabel

标签: image printing barcode thermal-printer barcode-printing


【解决方案1】:

我从 pcx 更改为 bmp。我还把图像缩小了 1kb。然后我使用 diagtool 将新图像上传到打印机。

除了删除downloadpcx 行并将PUTPCX 更改为PUTBMP 之外,我的代码没有改变。

  openport("printerName");
  setup("80 mm", "51 mm", "4", "15", "0", "3 mm", "0");
  clearbuffer();

  //  LOGO
  sendcommand("PUTBMP 19,15,\"logo-bmp.BMP\""); 
  printlabel("1", "1");
  closeport();

然后它起作用了。

【讨论】:

    【解决方案2】:

    您的代码应如下所示:

    PrintTSClabel.openport("PrinterName as in Windows");                                 //Driver name of the printer as in Windows
    PrintTSClabel.setup("80", "38", "4", "15", "0", "3", "0");                           //Setup the media size and sensor type info
    PrintTSClabel.clearbuffer();                                                         //Clear image buffer
    
    PrintTSClabel.downloadpcx(@"C:\USERS\USER\DOWNLOADS\LOGO-BMP.PCX", "LOGO-BMP.PCX");  //Download PCX file into printer
    PrintTSClabel.sendcommand("PUTPCX 10,30,\"LOGO-BMP.PCX\"");                          //Drawing PCX graphic
    
    PrintTSClabel.sendcommand("PRINT 1");                                                //Print labels
    PrintTSClabel.closeport();                                                           //Close specified printer driver
    

    【讨论】:

      【解决方案3】:

      这是因为图像不是 TSC 打印机支持的 ​​BMP 格式(1 位或 256 位)。 在 Paint 中打开图像另存为 BMP,格式为 1 位或 256 位。

      【讨论】:

        【解决方案4】:

        我用下面的代码解决了这个问题:

        TSCActivity tscDll = new TSCActivity();
        tscDll.openport("00:19:0E:A2:23:DE");
        tscDll.setup(100, 60, 4, 15, 0, 3, 0);
        tscDll.clearbuffer();
        String filePath = Environment.getExternalStorageDirectory().toString() + "/Download";
        String fileName = "PrintImg2.bmp";
        File mFile = new File(filePath, fileName);
        tscDll.sendpicture(200, 200, mFile.getAbsolutePath());
        tscDll.printlabel(1, 1);
        tscDll.closeport(); 
        
        • 在您的安卓手机上安装示例应用,并使用蓝牙将打印机与您的手机连接。
        • TSCActivity”是“tscsdk”中的活动类。
        • '00:19:0E:A2:23:DE' 将其替换为您的打印机的 MAC 地址(与打印机配对后,您将在手机的 BT 设置中获取它)
        • 这里我将图片保存在手机的下载文件夹中(adb push path_of_img/PrintImg2.bmp /mnt/sdcard/Download)。
        • 图像大小取决于图像的分辨率,您可以更改 setup() 的第一个两个参数(宽度、高度......)以获得可能的最大尺寸。

        【讨论】:

          【解决方案5】:

          我遇到了同样的问题,下面的代码解决了这个问题。

          mydll = cdll.LoadLibrary('k:\Work\SCANNER\Printer\TSCLIB_V0201_x64\TSCLIB.dll')
          print 'Start Printing.'
          mydll.openport("TSC TA300")
          mydll.setup("32","25","2","10","0","0","0")
          mydll.clearbuffer()
          
          # LABEL TEMPLATE
          mydll.sendcommand("SIZE 50.8 mm,25.4 mm")
          mydll.sendcommand('GAP 3 mm,0 mm')
          mydll.sendcommand('DIRECTION 0')
          mydll.sendcommand('CLS')
          # Draw Label Image
          mydll.sendcommand('BOX 12,12,584.4,282,4,19.2')
          mydll.sendcommand("QRCODE 417.6,160,H,4,A,0,\"ABCabc123\"")
          mydll.sendcommand("TEXT 48,56,\"2\",0,1,1,\"I'm Testing\"")
          
          # Print
          mydll.sendcommand('PRINT 1,1')
          mydll.closeport()
          print 'Finished Printing.'
          

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2011-09-07
            相关资源
            最近更新 更多