2017-05-26 4 views
0

Zebra iMZ320プリンタを使用しています。私はアンドロイドデバイスからZebraユーティリティアプリを通じてPNGイメージを印刷しようとしています。画像の伸びがない状態で画像の高さに合わせてフィードの長さを調整する方法はありますか?現在、私はゼブラセットアップユーティリティを使用してプリンタに送信される唯一のコマンドは次のとおりです。Zebra iMZ320プリンタの画像の高さに合わせて送り長を調整する方法

! U1 "ezpl.media_type" "continuous" ! U1 "ezpl.print_mode" "tear off"

答えて

0

ZEBRA iMZ320を使用することにより、UIImageを印刷する完全な例(のObjective-C)があります。私は、同じ印刷コマンドを使用して、JavaまたはKotlinで適切なコードを準備することができると思います。

UIImage *image = ...; //printing image; default wight should be ~572 
    id<ZebraPrinterConnection, NSObject> connection = [[MfiBtPrinterConnection alloc] initWithSerialNumber:serialNumber]; 
    if (![connection open]) { 
     NSLog(@"Printer Error! Please check the printer and try it again."); 
     return; 
    } 
    NSError *error = nil; 
    id<ZebraPrinter, NSObject> printer = [ZebraPrinterFactory getInstance:connection error:&error]; 
    PrinterStatus *status = [printer getCurrentStatus:&error]; 
    if (status == nil) { 
     NSLog(@"Error: %@", [error localizedDescription]); 
     return; 
    } else if (!status.isReadyToPrint) { 
     NSLog(@"The printor is not ready to print"); 
     return; 
    } 
    CGSize imageSize = image.size; 
    //Send configuration command with setting "media_type" = "continuous" and "printing height" = "imageSize.height" 
    for (NSString *cmd in @[@"! U1 setvar \"ezpl.media_type\" \"continuous\"\r\n", 
          [NSString stringWithFormat:@"! U1 setvar \"zpl.label_length\" \"%d\"\r\n", (int)imageSize.height]]) { 
     if (![[printer getToolsUtil] sendCommand:cmd error:&error]) { 
      NSLog(error == nil ? @"Printer Error! Please check the printer and try it again." : [error localizedDescription])); 
      return; 
     } 
    } 
    [NSThread sleepForTimeInterval:1]; 
    if ([[printer getGraphicsUtil] printImage:[image CGImage] atX:0 atY:0 withWidth:-1 withHeight:-1 andIsInsideFormat:false error:&error]) { 
     status = [printer getCurrentStatus:&error]; 
     int i = 0; 
     while (!status.isReadyToPrint || i > 30) { 
      [NSThread sleepForTimeInterval:1]; 
      status = [printer getCurrentStatus:&error]; 
      i++; 
     } 
     [NSThread sleepForTimeInterval:1]; 
     NSLog(@"Prining should be success"); 
    } else { 
     NSLog(error == nil ? @"Printer Error! Please check the printer and try it again." : [error localizedDescription])); 
    } 
    for (NSString *cmd in @[[NSString stringWithFormat:@"! U1 setvar \"zpl.label_length\" \"%d\"\r\n", 50], 
          @"PRINT\r\n"]) { 
     [[printer getToolsUtil] sendCommand:cmd error:nil]; 
    } 
    [connection close]; 
関連する問題