V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
kkm
V2EX  ›  Android

300 元求一个 Demo, Android 手机怎么连接打印机

  •  
  •   kkm · 2018-09-03 22:49:05 +08:00 · 14449 views
    This topic created in 2309 days ago, the information mentioned may be changed or developed.

    需要用 Android 手机连接 wifi,然后搜索局域网内的搜有打印机,选择其中一个并打印并建立连接获取状态,要能配置打印参数然后打印,要能支持绝大多数打印机。

    有没有有相关开发经验的?最好直接一个 demo 丢我脸上。

    合适的话可以给 300 报酬。非常合适可以给更多

    37 replies    2018-09-06 11:51:02 +08:00
    kkm
        1
    kkm  
    OP
       2018-09-03 22:54:19 +08:00
    别让我没了~~~~~
    dangbiao1991
        2
    dangbiao1991  
       2018-09-03 23:02:44 +08:00
    打印机需要装驱动,你先把绝大多数打印机驱动在 Android 上适配了,我们再来谈 Demo 的事情
    kkm
        3
    kkm  
    OP
       2018-09-03 23:05:15 +08:00
    @dangbiao1991 有个惠普打印服务可疑之处绝大多数打印机
    totoro625
        4
    totoro625  
       2018-09-03 23:19:52 +08:00 via Android
    电脑都没办法直接打印,至少需要安装对应的驱动。
    可以转换一下思路,局域网一台电脑安装了全部打印机的驱动,手机发送需要打印的文件给电脑,电脑反馈打印状态。
    kokutou
        5
    kokutou  
       2018-09-03 23:32:51 +08:00
    win10 可以在没有打印机驱动的情况下添加任意的网络打印机,并且添加完毕马上就可以打印。

    网络打印机应该都有个通用的打印接口,可以查一查。
    wdlth
        6
    wdlth  
       2018-09-03 23:42:52 +08:00
    我只知道有的打印机可以用蓝牙接收。

    惠普某些型号支持移动端的打印:
    https://www8.hp.com/us/en/printers/mobility/wireless-network-printing.html
    UncleCat01
        7
    UncleCat01  
       2018-09-04 00:06:42 +08:00
    你手机带梯子吗?如果带梯子的话可以用谷歌云打印,手机上也可以进行简单的参数设置,老的打印机也可以添加,一会儿我给你写一个小的步骤示意.
    Kinnice
        8
    Kinnice  
       2018-09-04 00:08:35 +08:00 via Android
    cups
    UncleCat01
        9
    UncleCat01  
       2018-09-04 00:16:41 +08:00
    看错了, 以为是要找解决办法......
    iwtbauh
        10
    iwtbauh  
       2018-09-04 01:00:17 +08:00 via Android   ❤️ 1
    > 需要用 Android 手机连接 wifi,然后搜索局域网内的搜有打印机,选择其中一个并打印并建立连接获取状态,要能配置打印参数然后打印,要能支持绝大多数打印机。

    emmm,这是 Android 自带功能啊!为什么要开发。莫非 lz 用了假 Android

    这个打印我用 IPP 协议的服务器( cups )试了,今天太晚懒得开电脑了。cups 加上 Gutenprint,hpcups,hplip...各种驱动支持绝大部分打印机啊



    keymao
        11
    keymao  
       2018-09-04 08:19:57 +08:00
    树莓派+打印机 树莓派上服务接口 安卓上 app 查看状态 查看任务 打印上传。
    xd314697475
        12
    xd314697475  
       2018-09-04 09:09:43 +08:00
    我也想说“这是 android 自带功能,在设置里”

    app 直接 intent 到系统设置的打印机功能

    然后调用相关服务
    kkm
        13
    kkm  
    OP
       2018-09-04 09:41:27 +08:00
    @totoro625 有几个国外的软件我看是做到了的。不过我一直没什么头绪
    kkm
        14
    kkm  
    OP
       2018-09-04 09:42:12 +08:00
    @kokutou 主要是现在是想在手机上直接调用,系统虽然自带了但是大家还好像也都不用
    kkm
        15
    kkm  
    OP
       2018-09-04 09:43:22 +08:00
    @wdlth 想在想的是能直接用手机 app 连接打印 o(╥﹏╥)o
    kkm
        16
    kkm  
    OP
       2018-09-04 09:44:04 +08:00
    @UncleCat01 手机上有,不过谷歌的还是局限性太大了,谢谢你
    kkm
        17
    kkm  
    OP
       2018-09-04 09:46:59 +08:00
    @Kinnice 好像 android 没有对这个的支持
    kkm
        18
    kkm  
    OP
       2018-09-04 09:48:26 +08:00
    @iwtbauh 谢谢你,这个我用过了,一些打印配置有一定的局限性,主要是我想把这个功能单独拿出来集成到我们的项目,但是我这个猪脑子没找到解决方案 o(╥﹏╥)o
    kkm
        19
    kkm  
    OP
       2018-09-04 09:49:48 +08:00
    @keymao 最好是直接用 Android 手机就可以了,这个的话成本有点高了
    kkm
        20
    kkm  
    OP
       2018-09-04 09:51:05 +08:00
    @xd314697475 那个没有我想配置的参数,主要是希望能够直接自己的 app 连接打印机,我看国外有几款软件是实现了了的,我的猪脑子转不过来,o(╥﹏╥)o
    NotNil1
        21
    NotNil1  
       2018-09-04 09:53:07 +08:00
    我也想说,买个 moto,自带打印程序。
    xd314697475
        22
    xd314697475  
       2018-09-04 10:05:17 +08:00
    @kkm #20
    你说的参数是打印页数,纸张方向之类的吗?

    第一个 activity,主要功能 [搜索连接打印机] ,直接调用打印设置
    第二个 activity,主要功能 [配置参数] ,调用 PrintManager 类的 onLayout()方法,可以配置页数,纸张方向等等
    最后调用系统打印
    iwtbauh
        23
    iwtbauh  
       2018-09-04 10:07:35 +08:00 via Android
    @kkm

    会 ndk 吗,把 ipptool 用 ndk 移植到 Android,什么配置不能做 XD

    ipptool: https://opensource.apple.com/source/cups/cups-408.2/cups/doc/help/man-ipptool.html

    对接系统打印服务用 Android API
    KangKs
        24
    KangKs  
       2018-09-04 11:26:23 +08:00
    我倒是做过 Android 打印的.有蓝牙打印机网络打印机之类的.不知道合不合适你的
    MudBodhisattva
        25
    MudBodhisattva  
       2018-09-04 14:31:05 +08:00
    写过一个支持指令打印的打印机,不过是写了一个 socket 实现的,打印机还是连在 pc 上,用 C#写的 PC 上的客户端,android 发送数据到服务端上服务端在告诉 PC 上的客户端打印
    kkm
        26
    kkm  
    OP
       2018-09-04 22:19:19 +08:00
    @ljtletters 想 app 内置一个,感觉有点难度
    kkm
        27
    kkm  
    OP
       2018-09-04 22:21:00 +08:00
    @xd314697475 最后调用系统打印的时候是不是还是要调用到系统的那个打印页面的?我写个一个类似的 demo,逃不过系统的打印配置页
    kkm
        28
    kkm  
    OP
       2018-09-04 22:21:40 +08:00
    @iwtbauh 我只会用比较低层次的 ndk,一直这样的不知道会不会难度很大
    kkm
        29
    kkm  
    OP
       2018-09-04 22:22:10 +08:00
    @KangKs 你应该是那种热敏打印机吧?我想控制普通的打印机
    kkm
        30
    kkm  
    OP
       2018-09-04 22:22:43 +08:00
    @MudBodhisattva 那个不太适合,还是过程有点麻烦
    shineky
        31
    shineky  
       2018-09-04 23:17:49 +08:00 via Android
    安卓没接触过 h5 的到是弄过 用 c-lodop 需要接个 win 服务器 对接还是比较简单的 理论上什么打印机都可以 只要打印机没加密狗的
    xbigfat
        32
    xbigfat  
       2018-09-05 08:40:20 +08:00
    看了楼上大佬的讨论,我不禁好奇,Android 设置里面那行 “打印服务” 有什么作用吗?
    freshxu110
        33
    freshxu110  
       2018-09-05 09:49:36 +08:00
    你这个不是码市上的项目吗。。。人家也是求一个 Demo
    xd314697475
        34
    xd314697475  
       2018-09-05 10:00:40 +08:00
    @kkm
    可以自己重写那个页面
    wssy921
        35
    wssy921  
       2018-09-05 15:59:27 +08:00
    可以考虑 android 只做一个客户端,然后弄一台服务器配置连接到所有的打印机,android 从部署在服务器上的程序读取所有的打印机
    MudBodhisattva
        36
    MudBodhisattva  
       2018-09-05 17:54:45 +08:00
    @kkm 那就跳过服务器,在连接打印机的 pc 上弄一个 socket,不用 c#的话可以用 java 的 netty,android 打印的时候连 wifi 输入 ip 打印或者搞一个 frp
    liufuseng
        37
    liufuseng  
       2018-09-06 11:51:02 +08:00 via Android
    Linux 下的打印机驱动非常难搞,很多打印机只有 win 驱动没有 Linux 驱动,为啥安卓就可以适配绝大部分打印机呢?
    About   ·   Help   ·   Blog   ·   API   ·   FAQ   ·   Tools   ·   2589 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 21ms · UTC 15:21 · PVG 23:21 · LAX 07:21 · JFK 10:21
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.