iOS设备控制打印机输出文本
2014-11-08 12:14
295 查看
本文转载至 http://tec.5lulu.com/detail/108krn1e6e66m8sbd.html
让我们来看看是如何实现的吧,首先要知道打印机的ip地址,然后用socket通过打印机的ip地址进行传送要打印的内容,并传送让打印机打印的指令即可。代码如下:
.h 里面
#import
#import "AsyncSocket.h"
@interface ViewController : UIViewController
{
AsyncSocket *asyncSocket;
}
@end
.m里面
#import "ViewController.h"
@interface ViewController ()
@end
@implementation ViewController
- (void)viewDidLoad {
[super viewDidLoad];
// NSError *err = nil;
// if(![asyncSocket connectToHost:@"192.168.1.105" onPort:18011 error:&err])
// {
// asyncSocket = [[AsyncSocket alloc] initWithDelegate:self];
//
// [asyncSocket setRunLoopModes:[NSArray arrayWithObject:NSRunLoopCommonModes]];
//
// if (![self SocketOpen:@"192.168.1.105" port:18011])
// {
// NSMutableString *sendString=[NSMutableString stringWithCapacity:1000];
// [sendString appendString:@"非警务健身房"];
// NSData *cmdData = [sendString dataUsingEncoding:NSUTF8StringEncoding];
//
// [asyncSocket writeData:cmdData withTimeout:-1 tag:0];
// }
// NSLog(@"Error: %@", err);
// }
}
-(IBAction)haha:(id)sender{
asyncSocket=nil;
NSError *err = nil;
if(![asyncSocket connectToHost:@"192.168.1.105" onPort:18011 error:&err])
{
asyncSocket = [[AsyncSocket alloc] initWithDelegate:self];
[asyncSocket setRunLoopModes:[NSArray arrayWithObject:NSRunLoopCommonModes]];
if (![self SocketOpen:@"192.168.1.105" port:18011])
{
NSMutableString *sendString=[NSMutableString stringWithCapacity:100000];
[sendString appendString:@"Socket测试成功!!!!"];
NSData *cmdData = [sendString dataUsingEncoding:NSUTF8StringEncoding];
[asyncSocket writeData:cmdData withTimeout:-1 tag:0];
}
NSLog(@"Error: %@", err);
}
}
- (void)onSocket:(AsyncSocket *)sock didConnectToHost:(NSString *)host port:(UInt16)port
{
NSLog(@"onSocket:%p didConnectToHost:%@ port:%hu", sock, host, port);
[sock readDataWithTimeout:1 tag:0];
}
-(void) onSocket:(AsyncSocket *)sock didReadData:(NSData *)data withTag:(long)tag
{
}
- (void)onSocket:(AsyncSocket *)sock didSecure:(BOOL)flag
{
NSLog(@"onSocket:%p didSecure:YES", sock);
}
- (void)onSocket:(AsyncSocket *)sock willDisconnectWithError:(NSError *)err
{
NSLog(@"onSocket:%p willDisconnectWithError:%@", sock, err);
}
- (void)onSocketDidDisconnect:(AsyncSocket *)sock
{
//断开连接了
NSLog(@"onSocketDidDisconnect:%p", sock);
}
- (void)didReceiveMemoryWarning {
[super didReceiveMemoryWarning];
}
- (void)viewDidUnload {
asyncSocket=nil;
}
//打开
- (NSInteger)SocketOpen:(NSString*)addr port:(NSInteger)port
{
if (![asyncSocket isConnected])
{
[asyncSocket connectToHost:addr onPort:port withTimeout:-1 error:nil];
NSLog(@"connect to Host:%@ Port:%d",addr,port);
}
return 0;
}
其他的方法,还有利用UIPrintInteractionController,不过这需要打印机设置中有AirPrinter。
相关文章推荐
- 在作为输出图形设备上,打印机和绘图仪有什么区别,用过绘图仪的朋友进
- 将控制台的文本输出到指定的txt文件中
- iOS设备方向控制
- iOS开发中通过蓝牙连接蓝牙打印机设备进行小票打印
- IOS中(Xcode) DEBUG模式(RELEASE模式)控制NSLog输出,NSLog两种不同情况的输出方式
- 再学 GDI+[41]: 文本输出 - 控制输出字符的个数
- ios设备旋转走的代理(代码附加输出口集合)
- ANSI控制码在输出有颜色文本方面应用
- IOS 特定于设备的开发:获取和使用设备姿势(通过手机方向控制3d物体显示)
- ios监听输出设备变化
- 在AIR编写的Android/iOS程序中控制设备方向
- 输出IOS设备的字体列表
- 暴强:用iOS设备控制的HTML5“小蜜蜂”游戏
- ios中判断控制台Log输出控制,是否是iphone5,自动调整尺寸
- iOS设备闪光灯控制
- 如何自动截获输出到打印机的文本数据(转载)
- IOS 日志输出控制
- AIR(iOS/Android)程序中控制设备方向
- IOS开发教程--NSLog输出格式控制
- IOS中(Xcode) DEBUG模式(RELEASE模式)控制NSLog输出,NSLog输出方式