0

我正在尝试使用 Zebra QLn220 和 link_os_sdk 从 iOS 设备打印图像。图像为 719x1248 像素,但打印时总是会切掉一半图像。我通过 Zebra Setup Utilities 将打印机的标签尺寸设置为 1.8 英寸 x 4 英寸,这似乎打印出 3 英寸的空白标签和一小部分图像。我还尝试将图像缩放到原始大小的一半,但没有成功。我该怎么做才能让整个图像显示在标签上?

-(void)printImageButtonTapped : (DiscoveredPrinter *)discoveredPrinter {
    NSString* filePath = [[NSBundle mainBundle] pathForResource:@"jpegsample"
                                                         ofType:@"jpeg"];
    self.connection = [[TcpPrinterConnection alloc] initWithAddress:discoveredPrinter.address andWithPort:6101];
    NSError *error = nil;
    [self.connection open];
    self.printer = [ZebraPrinterFactory getInstance:self.connection error:&error];
    if(error != nil) {
        NSLog(@"Error: %@",error);
    }
    error = nil;
    if (self.printer != nil) {
        TcpPrinterConnection *zebraPrinterConnection = [[TcpPrinterConnection alloc] initWithAddress:discoveredPrinter.address andWithPort:6101];
        BOOL success = [zebraPrinterConnection open];
        success = success && [[self.printer getGraphicsUtil] printImageFromFile:filePath atX:0 atY:0 withWidth:-1 withHeight:-1 andIsInsideFormat:NO error:&error];
        [zebraPrinterConnection close];
        if (error != nil || self.printer == nil || success == NO) {
            NSLog(@"error: %@ printer: %@ success: %hhd",error,self.printer,success);
        }
    }
}
4

2 回答 2

1

只需在此处进行更改,它将解决您在标签上显示整个图像的问题。默认比例为 2.0。我们需要根据需要进行更改。

UIGraphicsBeginImageContextWithOptions(rect.size, NO, self.view.window.screen.scale+0.75); 这样做之后 - 比例是 2.75

试试这个它可能会帮助你。因为,我遇到了同样的问题,所以添加了这个并解决了我的问题。请享用!

于 2015-08-06T06:10:50.950 回答
0

QLn220 是 2" 打印机 @ 200dpi,这意味着您可以获得的最大宽度约为 400 点。尝试在打印前将打印图像线更改为类似这样以缩放图像

success = success && [[self.printer getGraphicsUtil] printImageFromFile:filePath atX:0 atY:0 withWidth:300 withHeight:500 andIsInsideFormat:NO error:&error];

它可能是一个扭曲的图像,但它不应该被切断

于 2013-11-07T13:44:39.623 回答