本文转载至 http://tec.5lulu.com/detail/108krn1e6e66m8sbd.html

让我们来看看是如何实现的吧,首先要知道打印机的ip地址,然后用socket通过打印机的ip地址进行传送要打印的内容,并传送让打印机打印的指令即可。

代码如下:

.h 里面

  1. #import
  2. #import "AsyncSocket.h"
  3. @interface ViewController : UIViewController
  4. {
  5. AsyncSocket *asyncSocket;
  6. }
  7. @end

.m里面

  1. #import "ViewController.h"
  2. @interface ViewController ()
  3. @end
  4. @implementation ViewController
  5. - (void)viewDidLoad {
  6. [super viewDidLoad];
  7. // NSError *err = nil;
  8. // if(![asyncSocket connectToHost:@"192.168.1.105" onPort:18011 error:&err])
  9. // {
  10. // asyncSocket = [[AsyncSocket alloc] initWithDelegate:self];
  11. //
  12. // [asyncSocket setRunLoopModes:[NSArray arrayWithObject:NSRunLoopCommonModes]];
  13. //
  14. // if (![self SocketOpen:@"192.168.1.105" port:18011])
  15. // {
  16. // NSMutableString *sendString=[NSMutableString stringWithCapacity:1000];
  17. // [sendString appendString:@"非警务健身房"];
  18. // NSData *cmdData = [sendString dataUsingEncoding:NSUTF8StringEncoding];
  19. //
  20. // [asyncSocket writeData:cmdData withTimeout:-1 tag:0];
  21. // }
  22. // NSLog(@"Error: %@", err);
  23. // }
  24. }
  25. -(IBAction)haha:(id)sender{
  26. asyncSocket=nil;
  27. NSError *err = nil;
  28. if(![asyncSocket connectToHost:@"192.168.1.105" onPort:18011 error:&err])
  29. {
  30. asyncSocket = [[AsyncSocket alloc] initWithDelegate:self];
  31. [asyncSocket setRunLoopModes:[NSArray arrayWithObject:NSRunLoopCommonModes]];
  32. if (![self SocketOpen:@"192.168.1.105" port:18011])
  33. {
  34. NSMutableString *sendString=[NSMutableString stringWithCapacity:100000];
  35. [sendString appendString:@"Socket测试成功!!!!"];
  36. NSData *cmdData = [sendString dataUsingEncoding:NSUTF8StringEncoding];
  37. [asyncSocket writeData:cmdData withTimeout:-1 tag:0];
  38. }
  39. NSLog(@"Error: %@", err);
  40. }
  41. }
  42. - (void)onSocket:(AsyncSocket *)sock didConnectToHost:(NSString *)host port:(UInt16)port
  43. {
  44. NSLog(@"onSocket:%p didConnectToHost:%@ port:%hu", sock, host, port);
  45. [sock readDataWithTimeout:1 tag:0];
  46. }
  47. -(void) onSocket:(AsyncSocket *)sock didReadData:(NSData *)data withTag:(long)tag
  48. {
  49. }
  50. - (void)onSocket:(AsyncSocket *)sock didSecure:(BOOL)flag
  51. {
  52. NSLog(@"onSocket:%p didSecure:YES", sock);
  53. }
  54. - (void)onSocket:(AsyncSocket *)sock willDisconnectWithError:(NSError *)err
  55. {
  56. NSLog(@"onSocket:%p willDisconnectWithError:%@", sock, err);
  57. }
  58. - (void)onSocketDidDisconnect:(AsyncSocket *)sock
  59. {
  60. //断开连接了
  61. NSLog(@"onSocketDidDisconnect:%p", sock);
  62. }
  63. - (void)didReceiveMemoryWarning {
  64. [super didReceiveMemoryWarning];
  65. }
  66. - (void)viewDidUnload {
  67. asyncSocket=nil;
  68. }
  69. //打开
  70. - (NSInteger)SocketOpen:(NSString*)addr port:(NSInteger)port
  71. {
  72. if (![asyncSocket isConnected])
  73. {
  74. [asyncSocket connectToHost:addr onPort:port withTimeout:-1 error:nil];
  75. NSLog(@"connect to Host:%@ Port:%d",addr,port);
  76. }
  77. return 0;
  78. }

其他的方法,还有利用UIPrintInteractionController,不过这需要打印机设置中有AirPrinter。

转载于:https://www.cnblogs.com/Camier-myNiuer/p/4083047.html

iOS设备控制打印机输出文本相关推荐

  1. 输出文本(pre\code\kbd\var...)

    输出文本 HTML元素提供了如下输出信息标签: <code> : 表示代码字体,即显示源代码. <pre> :表示预定义格式的源代码,既保留源代码现实中的空格大小. <t ...

  2. iOS 连接打印机 ESC/POS 指令打印 打印图片二维码

    最近公司给商户做的App 允许App把卖出的商品信息通过打印机 打印标签 所以了解了一下iOS 和 打印机 之间的交互 (Ps:用的不是UIPrinter 那个扫面打印机 发送信息打印的那个框架) 主 ...

  3. 用ExayX在VS2019上输出文本有误的解决方案

    在输出的文本前加_T 下面为成功例子 #include <graphics.h> // 引用 EasyX 图形库 #include <Windows.h>int main(vo ...

  4. [Win32]重绘的基本概念以及简单的文本输出文本输出

    1. 客户区的完整概念: 即应用程序窗口中没有被标题栏.边框.菜单栏.工具栏.状态栏和滚动条占据的中间的一片区域,用户可以在这片区域内绘制任意信息 注意!我们不能假定它有特定的尺寸或者是它的尺寸不会发 ...

  5. 有关HP LaserJet M132 打印机 打印文本 整体偏右 解决办法

    有关HP LaserJet M132 打印机 打印文本 整体偏右 解决办法 问题 解决(初始化) 关机状态下,按住向右方向键和取消键不放手再开机,开机显示HP时两个按键还是按住不要放手等待屏幕显示出现 ...

  6. JAVA 调用打印机输出PDF文件

    想利用java程序打印一些文件.做以下测试: 一.环境 要调用打印机输出文件,首先本地得有一个能正常使用的打印机.我电脑安装的是虚拟打印机. 二.java代码 一).打印输出的实体类 import j ...

  7. Unity调用打印机打印文本或者图片

    Unity调用打印机打印文本或者图片 通过windows命令行使用记事本打印文本 private void PrintTxt(){//picPath=Application.streamingAsse ...

  8. MFC:如何利用C++使得输出文本颜色、字体多变

    最近在使用MFC开发依款小程序,程序需要[根据一系列的条件来输出具有不同字体格式的文本],比如:蓝色.红色.楷体等. 在网上搜索了很多方法,均没法实现. 经过自己的仔细琢磨,终于找到了解决办法. [解 ...

  9. 玩转PDF虚拟打印机添加文本功能

    pdfFactory Pro是一款非常容易上手的虚拟打印机,利用这款虚拟打印机,可以完成很多特殊的任务,如文件加密.添加文本.快照等等. 相信很多小伙伴们在打印的时候突然想起来某些地方需要" ...

最新文章

  1. 绘制ROC 曲线 计算 AUC PR曲线(精准率 召回率)示例
  2. deb和rmp的安装
  3. 笔记-高项案例题-2018年上-计算题
  4. asp.net C# 实现上传Excel文件导入数据到SQL Server 数据库
  5. 沃森变频器故障12_维修电工浅谈:常见的变频器故障及处理
  6. Android 电视 文件目录,通用的安卓智能电视截屏及图片目录文件获取方法
  7. springcloud官方文档_通俗易懂!Spring Cloud简介:官方文档翻译版
  8. 3皮卡丘眨眼代码_活见久,皮卡丘居然是一门编程语言
  9. xampp浏览php出现乱码,dvwa+xampp搭建显示乱码的问题及解决方案
  10. 安卓mysql插入数据_【11-25求助】关于Android 的SQLite数据库插入数据报错问题
  11. java 1000到9999_java – 可以0.99999999999乘以四舍五入到1.0?
  12. MySql noinstall-5.1.34-win32 配置
  13. Shell之分支结构和循环结构
  14. [转]常见hash算法的原理
  15. c语言编程n元一次方程,解n元一次方程
  16. 2022年工作室暑期培训
  17. Python实现Hart协议
  18. keepalived
  19. java星星图案总结
  20. C语言射击类打飞机小游戏

热门文章

  1. flutter引入高德地图_Flutter笔记-调用原生IOS高德地图sdk
  2. Qt文档阅读笔记-Broadcast Receiver Example解析
  3. SQL笔记-检索出ID为Int或Long中不连续的第一个点
  4. Qt文档阅读笔记-Qt4 Lower-Level API扩展Qt Applications(Qt4中Plugin的使用)解析与实例
  5. Java基础入门笔记-构造方法的继承
  6. client中周期性边界_FLUENT创建周期性边界条件方法
  7. 单片机自动调光C语言,51单片机触控调光程序C语言
  8. oracle file参数,oracle的参数以及pfile和spfile
  9. c 语言多参数函数,C/C++实现多参数函数编程
  10. jsp单选按钮传值传递jsp_一篇彻底搞懂jsp