我正在尝试使用Zebra QLn220和link_os_sdk从iOS设备打印图像。图像为719x1248像素,但打印时图像的一半总是被剪切掉。我通过Zebra Setup Utilities将打印机的标签尺寸设置为1.8英寸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);
}
}
}
答案 0 :(得分:1)
只需在此更改,它将解决您在标签上显示整个图像的问题。默认比例是2.0。我们需要根据需要进行改变。
UIGraphicsBeginImageContextWithOptions(rect.size,NO,self.view.window.screen.scale + 0.75); 这样做之后 - 规模是2.75
试试这可能对你有所帮助。因为,我遇到了同样的问题,所以只是添加了这个并解决了我的问题。享受!答案 1 :(得分:0)
QLn220是2英寸打印机@ 200dpi,这意味着您可以获得的最大宽度约为400点。尝试将打印图像线更改为此类图像,以便在打印前缩放图像
success = success && [[self.printer getGraphicsUtil] printImageFromFile:filePath atX:0 atY:0 withWidth:300 withHeight:500 andIsInsideFormat:NO error:&error];
它可能是一个扭曲的图像,但它不应该被切断