我正在使用爱普生的ePOS SDK,它允许通过wifi连接到打印机(TM-T88V)。 sdk(http://pos.epson.com/mobilesdks/index.htm)
的链接我正在使用此代码从网址加载UIImage。
NSData* data = [[NSData alloc] initWithContentsOfUrl:_url];
UIImage* image = [UIImage imageWithData:data];
然后打印图像(使用ePOS)注意:我将跳过连接部分,因为它不包含在我的问题中。
EposBuilder* builder = [EposBuilder alloc] initWithPrinterModel:@"TM-T88V" lang:EPOS_OC_MODEL_ANK];
EposPrint* printer = [[EposPrint alloc] init];
int retVal = EPOS_OC_SUCCESS;
unsigned long status = 0;
retVal = [builder addImage:image X:0 Y:0 Width:image.size.width Height:image.size.Height Color: EPOS_OC_COLOR_1];
retVal = [printer sendData:builder Timeout:10000 Status:&status];
现在我的问题是打印结果有点小,看图像的大小是271x368px。请参阅下面的图片了解样本
有关如何正确打印的任何想法?此外,我发现这个Printing UIImage using AirPrint causes cut-off content给出了缩放图像的链接,但它不起作用。有任何想法吗?谢谢。
答案 0 :(得分:0)
我得到了解决方案,不要我已经解决了它,我做的事情是,通过NSFileManager
将图像保存在Documents文件夹中并从文档文件夹中获取相同内容并添加空格添加前的图片,对不起我的英文..你需要实现自己的代码来保存&通过文件管理器检索图像。
NSData *dataFromUrl=[[NSData alloc] initWithContentsOfURL:url];
UIImage *image1 = [UIImage imageWithData:dataFromUrl];
if(image1)
{
[Filemanager saveReceiptLogoImage:image1];
}
// IN打印机类,
UIImage *image1 = [Filemanager receiptLogo];
if(image1)
{
result = [builder addText:@" "];
UIImage *resizedImage = [image1 resizedImageWithContentMode:UIViewContentModeScaleAspectFit bounds:CGSizeMake(512, 350) interpolationQuality:kCGInterpolationHigh];
result = [builder addImage:resizedImage X:0 Y:0 Width:MIN(512, resizedImage.size.width) Height:resizedImage.size.height Color:EPOS_OC_COLOR_1];
}