将图像转换为GRF格式

时间:2014-02-20 10:59:51

标签: zebra-printers zpl barcode-printing epl zpl-ii

我有一台Zebra Gk420t打印机,可以让我制作贴纸,我需要在它们上面打印图像。我读到图像必须是GRF格式(纯十六进制)。

有人知道如何在Linux中将图像转换为GRF格式?我在Windows上读到了关于Ztools的软件,但在Linux上没什么有趣的......

4 个答案:

答案 0 :(得分:8)

Zebra provides a Java API可以将图形转换为GRF。您可以使用命令行界面将图像转换为GRF,如下所示:

  

java -jar ZSDK_API.jar graphic myImage.jpeg -s myConvertedImage.GRF

答案 1 :(得分:1)

  

有人知道如何在Linux中将图像转换为GRP格式?

你过分思考这个。

Modern versions of CUPS ship with Zebra printer drivers。 CUPS是大多数现代* nixes使用的打印系统,包括大多数Linux发行版。

通过CUPS设置打印机将允许您打印任何支持的内容,包括PDF,JPEG,GIF和PNG。只需使用打印机名称和文件名调用/usr/bin/lp/usr/bin/lpr即可。有关所需的确切语法,请参阅其手册页。例如,

/usr/bin/lp -d Zebra_GK420t ./foo.png

请注意,您可能需要设置some command line options,包括ppi=203或摆弄横向/纵向模式。您还需要指定介质类型(标签大小)让打印机配置默认介质类型。

答案 2 :(得分:1)

对于Ubuntu Linux,我提出了这个过程。

  1. 最好以未压缩格式获取源图像。示例包括* .bmp,* .png等

  2. 在Ubuntu OS上安装ImageMagick。通常它默认安装在较新版本的Ubuntu上。

  3. 使用GIMP根据需要缩放图像DPI。更喜欢立方,双立方或更好的缩放算法,以最大限度地减少缩放过程中的数据丢失。

  4. 现在执行这些陈述。

    使用

  5. 安装OpenCV,Dosbox和Wine

    sudo apt-get install libopencv-* dosbox wine并将以下程序保存为 rgb2gray.cc

    //#include <cv.h>
    //#include <highgui.h>
    #include <opencv2/opencv.hpp>
    #include <cstdio>
    #include <cstdlib>
    using namespace cv;
    int main( int argc, char** argv )
    {
     if( argc != 3 )
     {
       printf( " No image data \n " );
       printf( "Usage: ./rgb2gray <colorimage>.<ext>  <grayimage>.<ext> \n" );
       printf( "Usage: ./rgb2gray colorimage.png  grayimage.png \n" );
       exit(0);
     }
     char* imageName = argv[1];
     Mat image;
     image = imread( imageName, 1 );
     Mat gray_image;
     cvtColor( image, gray_image, CV_BGR2GRAY );
     imwrite( argv[2], gray_image );
     namedWindow( imageName, CV_WINDOW_AUTOSIZE );
     namedWindow( "Gray image", CV_WINDOW_AUTOSIZE );
     imshow( imageName, image );
     imshow( "Gray image", gray_image );
     waitKey(0);
     return 0;
    }
    
    1. 在终端上键入以下内容以编译代码:

      g ++ -g rgb2gray.cc -o rgb2gray`pkg-config opencv --libs --cflags`

    2. 现在,执行以下命令。

      ./rgb2gray colorimage.png grayimage.png

      convert -compress none grayimage.png logo.tif

    3. 注意:确保tif图像名称不超过8个字符,否则您可能会在后续步骤中遇到问题

      1. 谷歌互联网找到ztoolssetup107.exe。我在这里找到了一个http://www.hjollum.com/jari/zzbug/ztools/download.php

      2. 右键单击exe文件并选择以wine打开,使用wine安装Ztools。

      3. 导航到安装Ztools的以下路径

        cd ~/.wine/drive_c/ztools并复制您之前创建的logo.tif cp <path to tif image>/logo.tif .

      4. 现在进行最后的步骤

        执行dosbox .并在Dosbox终端类型ZIMAGLIT.EXE logo.tif logo.grf内打开Dosbox,就是这样!!!

      5. 注意:如果您没有看到ZIMAGLIT.EXE,则可能需要通过Google获取。我希望上面的ZImage链接包含相同的内容。

        <强>故障排除:

        问。为什么我的GRF全部为0?

        A。因为源单色图像应该是二进制的(在rgb2gray转换之后)。即图像上的每个像素应该是黑色或同时。避免使用灰色阴影或将图像中的灰色区域转换为黑色(像素值= 255)。然后重试该过程。

        问。 ZIMAGLIT.EXE无法将我的TIF图像转换为GRF?

        A。因为tif图像名称(不包括tif扩展名)应小于或等于8个字符,最好是所有字母。如果它与此条件不匹配,则重命名相同。然后重试该过程。

答案 3 :(得分:-1)

试试这个...... https://mega.co.nz/#!DJBgwYzD!09rTYzwi_2OfEVKN20osMlMdLClv2qyDXUbFYra82ks

适用于Windows并需要comdlg32

我在2005年遇到了很多问题,当时用C ++为这些打印机编写了一些库,并发现了很多关于ZPL指南的信息。

对于GRF文件,我创建了这个应用程序,以帮助我进行日常图像转换。

此后不再触及此代码..所以可能有一些改进空间..但是快速测试并且看起来工作正常(除了图像大小最大为600x600 ...与旧系统相关的东西9年前..也许记忆..也许屏幕分辨率..不记得了)