1. 先把需求掰开揉碎:手机打 Word/Excel/PPT 到底卡在哪
手机打印文件这件事,听起来是个"点一下打印按钮"的动作,真上手就知道它不是。Android 手机连接打印机,本质上要同时打通三层:手机端得有一个能把文档渲染成打印机能读懂的数据流的"翻译官";网络层得让手机找得到那台机器,并且知道往哪个端口送数据;打印机端得有能力把收到的数据变成纸上的墨点。这三层里任何一层断了,你看到的都是"正在打印"转圈转半天,然后一张白纸出来。
标题里提到的两台设备我就不点名了,一台是某国产品牌 P20 这一代的老旗舰,另一台是某美系品牌 M1213nf MFP 这一档的入门黑白激光一体机。这个组合特别有代表性:一边是 Android 9 时代的老手机,系统自带的打印框架(Android 4.4 之后引入的那套 Print Framework)还在,但厂商预置的打印服务插件往往已经停止更新;另一边是十年前非常能打的办公一体机,打印、复印、扫描、传真四合一,带 USB 口也带百兆网口,唯独没有 WiFi 模块,也不支持后来流行的那套无线直连协议。所以"无线打印"这四个字,在这套组合上不是打印机自己能做到的,得靠网络里的另一台设备当中转。
这篇内容适合三类人看。第一类是家里或小办公室里还摆着这种"有线网络激光一体机"的人,想用手机临时打一份合同、一张报销单、一份孩子的作业;第二类是经常需要在手机上处理 Word、Excel、PPT 然后直接出纸的职场人,被版式错乱折磨过的;第三类是想搞清楚"手机端打印"底层逻辑的技术爱好者,愿意花半小时一次性把环境搭好、以后不再折腾的。我下面会把方案选型、IP 和端口的计算、完整实操步骤、以及我自己踩过的坑全部摊开讲,能抄作业的地方直接抄。
1.1 三类文档,三种死法
Word、Excel、PPT 在手机上打印,翻车方式完全不一样,必须分开对待。
Word 的问题在"流式排版"。PC 上你看好的是 3 页,手机上打开可能变成 4 页,因为手机上的办公 App 用的字体和 PC 不完全一致,字宽有细微差异,一行少挤进去两个字,整段往下推,最后多出一页,还可能把某个表格从中间劈开,表头留在上一页、数据跑到下一页。更麻烦的是页眉页脚、分节符、文本框这些东西,移动端渲染引擎的处理能力和桌面端差一截,你在手机上看到的样子和最终打印出来的样子可能不是一回事。
Excel 的问题在"固定列宽遇上固定纸宽"。A4 纸纵向、左右各留 1.9cm 边距的情况下,实际可打印宽度大约 17.2cm,换算成 Excel 的列宽单位大概 70 多个字符。一张稍微宽一点的表,比如 12 列带备注的报销明细,默认列宽下轻松超出,打印出来右边的列直接被切掉,还没有任何提示。这是手机打 Excel 最常见的翻车点,比排版错乱更隐蔽,因为你在打印预览里不仔细看根本发现不了。
PPT 的问题在"比例不匹配"。PPT 默认 16:9,A4 是接近 1:1.414 的纵向比例,硬映射的结果要么上下大片留白,要么内容被压缩变形,要么一页幻灯片被拆成两页打印。手机端很多 App 干脆不给你选"每页几张"的选项,直接一页一张满幅输出,打个十页的汇报材料出来厚厚一沓,浪费纸也难看。
提示:这三类问题的共同解法只有一个——打印前把文档转成 PDF,并且在 PC 或网页版里把页面设置调好再转。手机上直接点"打印"是把排版的控制权交给了最不可控的那一环。
1.2 老机器和老手机的双重约束
M1213nf 这一档机器有几个硬指标必须记住,它们直接决定了后面方案的可行性。打印速度 18 页/分钟,分辨率 600×600 dpi,月打印负荷 8000 页,接口是一个 USB 2.0 设备口加一个 10/100 自适应以太网口,没有 WiFi,没有蓝牙,不支持 AirPrint,不支持 Mopria,也不支持厂商后来推的那套云打印和邮件打印。扫描部分是馈纸式加平板,最高 600dpi 光学分辨率,扫出来是灰度或彩色的图像文件。
关键的一点:这台机器用的是"基于主机"的打印方式,也就是打印语言这一栏写的是 Host-based,而不是 PCL 或 PostScript。这个差别非常重要,用生活化的说法解释:PCL/PS 机型像一台自带翻译官的打印机,你只要给它标准格式的文稿,它自己会翻译成墨点;Host-based 机型则像个只会照单执行的工人,必须由电脑(主机)上的驱动程序把整页内容"预渲染"成一串专有的位图指令,它才认识。这意味着任何"只负责透传数据、不做渲染"的中转设备,比如大部分路由器上那个 USB 打印服务功能、便宜的打印服务器小盒子,接上这台机器基本是废的——它们没有对应的驱动,送过去的数据打印机看不懂,结果就是不动,或者吐出半页乱码。
Android 这一侧也有约束。Android 系统自带打印框架,但它本身不含任何打印机驱动,靠的是各家安装的"打印服务插件"来干活。手机厂商预置的插件通常只覆盖自家生态或主流无线机型,对十年前的有线一体机支持有限;而且这些插件在老系统版本上更新早就停了。所以指望"打开文档点打印,系统自动发现打印机",在这个组合上大概率是发现不了的。
这两条约束叠在一起,结论就出来了:要么找一个内置了这台机器驱动的客户端(软件层面解决渲染问题),要么让一台装了官方驱动的电脑去当翻译官(硬件层面解决渲染问题)。后面所有的方案,都是这两条路的不同变体。
2. 方案选型:五条路各自的成本与适用面
我把能想到的路子都试过一遍,下面这张表是结论,后面逐条展开说明为什么这么排。
| 方案 | 中转设备 | 是否需要电脑常开 | 手机端配置难度 | 对 Host-based 机型友好度 | 综合推荐度 |
|---|---|---|---|---|---|
| A. 打印机网口直连路由 + 第三方 App 内置驱动 | 路由器 | 否 | 中 | 看 App 驱动库 | 首选 |
| B. 电脑共享 + 手机通过共享打印 | 电脑 | 是 | 中 | 很好(电脑装官方驱动) | 稳妥备选 |
| C. 路由器 USB 打印服务(透传) | 路由器 | 否 | 低 | 很差 | 不推荐 |
| D. OTG 线直连手机 | 无 | 否 | 低 | 部分 App 支持 | 应急 |
| E. 专用无线打印盒子 | 盒子 | 否 | 低 | 看盒子固件 | 谨慎 |
2.1 为什么 A 方案排第一
A 方案的核心思路是:打印机自带的以太网口接进路由器的 LAN 口,让它成为局域网里一个有固定 IP 的节点;手机连同一个 WiFi,用第三方打印 App 直接按 IP 找过去,App 内部自带这台机器的驱动,负责把文档渲染成它能懂的专有数据流,通过 9100 端口送进去。
这条路的优势是"一次配置、长期有效"。路由器本来就是 7×24 开着的,不需要额外设备,也不需要电脑常开。打印机有独立 IP 之后,家里任何一台设备——台式机、笔记本、平板、手机——都能往同一个地址打,互不干扰。我实测下来,从手机点打印到出第一张纸大概 5 到 8 秒,主要时间花在 App 渲染上,网络传输本身在百兆局域网上几乎可以忽略。
代价是你得找到一个"驱动库够全"的第三方 App。这类 App 通常内置了几百上千个机型的驱动,按品牌和系列分类,添加打印机时手动选型号,而不是让它自动探测。选对了型号,后面就一路顺畅;选错了,症状是打印出来空白或者满纸乱码。
2.2 B 方案:稳,但要接受"电脑必须开着"
B 方案就是最传统的那套:电脑装官方驱动,打印机在电脑上正常工作,然后把这台打印机设成共享,手机通过局域网访问这台共享打印机。
它的最大优点是渲染这件事交给了官方驱动,兼容性天花板。你在电脑上能打出来的效果,手机上打出来就是一样的效果,不会有任何"这个字体它不认识"的意外。扫描也一样,电脑端官方软件负责扫描,扫完的文件放在共享目录里,手机去取。
缺点是那个老生常谈的问题:电脑得开着。半夜想起来要打一张明早要用的材料,电脑是关的,那就白搭。而且共享打印依赖操作系统那套网络共享机制,系统一更新、防火墙规则一变,可能又要重新折腾一遍。
2.3 C 方案:看起来最优雅,实际上最容易翻车
C 方案是把打印机 USB 口插到带 USB 接口的路由器上,用路由器自带的打印服务功能,或者刷了第三方固件后装的打印服务组件,把 USB 打印机"网络化"。
这个方案对 PCL/PS 机型非常好用,因为它做的事情就是纯透传——把手机或电脑发过来的标准打印数据原样转给 USB 口。但对我们这台 Host-based 机器,透传等于什么都没做,打印机的 USB 口收到的是一堆它不认识的东西,结果要么静默无输出,要么吐出几行乱码后卡住。
我在这条路上浪费过一个下午,各种改配置、换固件版本,最后才想明白问题不在配置,在原理。所以这里给个明确建议:先查清楚你的打印机打印语言是 PCL/PS 还是 Host-based,是后者就别走 USB 打印服务器这条路。
2.4 D 方案和 E 方案的位置
D 方案是拿一根 OTG 转 USB 的线,把打印机直接插到手机上。安卓系统本身是支持 USB Host 的,配合支持 USB 打印的 App,理论上可以直连。好处是零网络依赖,出差住酒店、临时在别人办公室,只要带根线就能打。坏处也明显:线短,手机得贴着打印机放;供电和兼容性看手机,某些机型识别不了;而且 Host-based 机型要求 App 必须有对应驱动,不是所有 App 都给 USB 通道做了驱动映射。我的定位是"应急手段",不作为主力。
E 方案是买一个专用的无线打印盒子或打印服务器。这类产品良莠不齐,便宜的只做透传,跟 C 方案一个毛病;贵一些的内置了驱动库,但驱动列表更新慢,未必覆盖你的具体型号。买之前一定要确认它支持你的机型,别只看"支持 HP 激光打印机"这种笼统描述。
3. 动手前的准备:把网络这层先夯实
选定方案之后,真正的实操从网络开始。这一节讲两件容易被跳过但极其重要的事:给打印机一个固定的 IP,以及搞清楚该往哪个端口送数据。
3.1 固定 IP 的计算与设置
手机的打印 App 是按 IP 找打印机的,如果这个 IP 每次重启都变,你就得每次重新配置,非常烦。所以第一步是让打印机的 IP 固定下来。
有两种做法。第一种是在打印机面板上设置静态 IP——这台机器带液晶屏和方向键,进网络菜单可以手动填 IP、子网掩码、网关。第二种是在路由器的 DHCP 设置里做"地址保留",把打印机的 MAC 地址和某个 IP 绑定。我更推荐第二种,因为所有地址管理集中在一个地方,以后换打印机或者调整网段时不会漏掉。
具体参数怎么算:假设你的局域网是常见的 192.168.1.0/24 网段,路由器网关是 192.168.1.1,DHCP 池分配的是 192.168.1.100 到 192.168.1.199。那么打印机应该落在池子外面,避免和动态分配的地址撞车。我的习惯是选 192.168.1.50 这个位置,留下 1 到 49 给路由器、交换机、NAS 这类固定设备,50 到 99 给打印机、摄像头这类半固定设备,100 以上留给手机电脑。
对应填写的参数是:IP 地址 192.168.1.50,子网掩码 255.255.255.0,默认网关 192.168.1.1,DNS 可以填网关地址也可以填公共 DNS。设完之后在手机浏览器里访问http://192.168.1.50,能打开打印机的内置管理页面就说明网络层通了。
注意:改完静态 IP 后,最好在路由器上把这个地址从 DHCP 池里排除,或者用地址保留方式实现,否则某天路由器把同一个地址分给了别的设备,会出现"时好时坏"的诡异故障,排查起来非常费劲。
3.2 端口与协议:9100、631、515 到底选哪个
打印机的网络打印有三个常用通道,理解它们的差别能省很多调试时间。
9100 端口(RAW/JetDirect)是最简单粗暴的一种,客户端把渲染好的打印数据原样往这个端口一送,打印机收到就打,没有任何握手、状态查询、任务管理的交互。好处是兼容性最好,几乎所有的打印 App 和打印服务器都支持;坏处是没有反馈,你发出去之后不知道打印机是收到了、卡纸了、还是没纸了,只能靠人跑过去看。
515 端口(LPD/LPR)是老式的行式打印协议,需要指定一个队列名,通常是lp或者PASSTHRU。它比 RAW 多一点任务管理能力,但多一层协议就多一层出错可能。
631 端口(IPP)是最现代的,支持加密、状态查询、任务取消,理论上体验最好。但它对两端的实现质量要求高,老机型上的 IPP 实现经常有坑,而且很多第三方 App 对 IPP 的支持并不完整。
实操建议:先用 9100 RAW 试,打不出来再换 515,631 放最后。我的经验是,在这个档次的机器上,9100 的成功率最高,调试也最直观——用手机上的网络工具往这个端口发个探测包,能连上就说明网络层没问题,剩下的都是驱动层面的问题。
顺便说一个数据量的估算,帮你判断等待时间是否正常。A4 纸在 600dpi 下的点阵是 4961×7016 像素,一张纯文本页经过压缩后大约几十 KB 到一两百 KB,一张带灰度的图片页可能上到几 MB。百兆局域网的实际吞吐按 10MB/s 算,传输耗时基本可以忽略,所以如果你感觉"等很久",八成是手机端在渲染,不是在传输。
4. 完整实操:从零到打出第一张纸
这一节是完整流程,按顺序做下来就行。我以 A 方案为主线,B 方案作为并行备选在 4.2 里讲。
4.1 打印机侧:网线、IP、自检
第一步,把网线一头插打印机的以太网口,另一头插路由器的 LAN 口(注意不是 WAN 口,插 WAN 口是不通的,这个错误我见过不止一次)。看打印机网口旁边的指示灯,绿灯常亮表示链路通,黄灯闪烁表示有数据。
第二步,在打印机面板上打印一张网络配置页。这台机器的菜单路径大致是"设置 → 报告 → 网络配置页",不同固件版本措辞略有差异,找不到就翻一下"服务"菜单。这张纸上会列出当前 IP、MAC 地址、是否启用 DHCP 等信息。先把这张纸留着,上面的 MAC 地址后面配置地址保留要用。
第三步,设置静态 IP 或者做地址保留,参数按 3.1 节算好的填。设完之后关掉打印机再开机,重新打一张配置页,确认 IP 已经变成你设定的那个,没有回退到 DHCP 分配的地址。
第四步,用手机浏览器访问这个 IP,能打开管理页面就说明网络层彻底通了。同时用电脑ping一下这个地址,确认延迟正常(局域网内应该在 1 到 5 毫秒),没有丢包。
4.2 电脑侧共享:作为备份通道
即使主用 A 方案,我也建议顺手把 B 方案搭好,作为"手机 App 抽风时"的备用通道,成本也就是几分钟。
电脑上装好官方驱动,把打印机添加为网络打印机(IP 填 192.168.1.50,端口选 9100 或厂商默认),打一张测试页确认能出纸。然后在"打印机属性 → 共享"里勾选共享,给它起个简单好记的共享名,比如HP1213,别用中文和空格。
接着要处理权限。共享打印涉及两套权限:一是共享权限,二是安全权限,两处都要给"Everyone"或具体用户"打印"的权限。很多人只设置了共享权限,结果手机连上去提示拒绝访问,问题就出在安全权限那一栏。
最后确认防火墙放行了"文件和打印机共享"这一组规则。Windows 的网络位置要设为"专用网络",如果被识别成"公用网络",共享默认是关闭的,怎么设都不通。
4.3 手机侧:添加打印机与第一次打印
手机上装一个内置驱动库比较全的第三方打印 App。打开后不走"自动搜索"(老机器大概率搜不到),直接选"手动添加 → 网络打印机 → 输入 IP",在型号列表里按品牌找到对应系列,选中你的具体型号。
这一步的型号选择非常关键。如果列表里有 M1212 和 M1213 两个相近型号,优先选和你机器完全一致的那个;实在没有,选同一系列、同打印语言的型号通常也能用,因为它们的专有数据流格式是一致的。选错的表现是打印出来一片空白或者一行乱码,不会损坏机器,放心试。
添加完成后先打一张 App 自带的测试页,成功了再打真实文档。测试页能出来,说明网络、端口、驱动三件事全对了,后面出问题就只可能是文档本身的事。
4.4 三类文档的打印前预处理
这是决定成品质量的一步,比前面的网络配置更影响体验。
Word 文档:在手机上直接打印之前,先把页面设置对齐。纸张选 A4,方向按内容定,页边距用"普通"(上下 2.54cm、左右 3.18cm)或自定义成窄边距(左右 1.9cm)。如果文档里有宽表格,先把它调成"根据窗口自动调整",或者干脆把那一页改成横向。做完这些再打印,能避免 80% 的跨页断裂问题。更稳的做法是先在电脑上转成 PDF,手机只负责把 PDF 送出去,PDF 是固定版式,所见即所得。
Excel 表格:先看列数。粗略估算,A4 纵向、左右各留 1.9cm 时,可打印宽度约 17.2cm,Excel 默认列宽 8.38 字符大约对应 1.9cm,所以十来列就到极限了。超出的话有两个选择:把页面方向改成横向(可打印宽度变成约 25.7cm)、或者在打印设置里用"调整为 1 页宽",让软件按比例缩放。缩放比例可以自己算:如果原表宽度是 30cm,目标宽度是 25.7cm,缩放比约 85%,设成 80% 留点余量更保险。另外记得在"打印标题"里把表头行设为重复行,跨页时每页都有表头。
PPT:先在设置里把输出方式改成"讲义",每页 2 张或 4 张,比一页一张省纸得多,也更适合当会议材料翻阅。如果坚持一页一张,就把幻灯片比例调成 A4 纵向,或者打印时选"根据纸张调整大小",让软件自动缩放,虽然会有留白,但不会变形。
5. 常见问题速查与排查思路
下面这些是我自己和身边人真实遇到过的,按症状整理成速查表,再挑几个典型的展开。
| 症状 | 最可能原因 | 快速验证方法 | 处理方式 |
|---|---|---|---|
| 手机搜不到打印机 | 用了自动发现而非手动添加 | 浏览器能否打开打印机 IP | 改手动添加,直接填 IP |
| 提示连接失败 | 手机和打印机不在同一网段 | 看两者 IP 前三段是否一致 | 统一到同一 WiFi 和网段 |
| 打印出空白页 | 驱动型号选错 | 换型号打测试页对比 | 选同系列正确型号 |
| 满纸乱码 | 数据流格式不匹配 | 同上 | 换驱动或改用电脑共享 |
| 只打出第一页 | 任务被截断或内存不足 | 打单页文档测试 | 分批次打印,减少单任务页数 |
| 表格右边被切 | 内容宽度超出可打印区 | 看打印预览右边缘 | 改横向或设 1 页宽缩放 |
| 打印中途卡住 | 网络中断或打印机缓存满 | 看打印机面板提示 | 重启打印机,减少并发任务 |
5.1 搜不到设备:九成是网段问题
最常见的情况是手机连着 5G 频段的路由器,而打印机接在另一个路由器或另一个网段上。表现是 App 里怎么刷都刷不出设备,但打印机本身工作正常。
判断方法很简单:看手机 WiFi 详情里的 IP 地址,看打印机的 IP,比较前三段。手机的如果是 192.168.2.x,打印机是 192.168.1.50,那就不在一个网段,除非路由器做了跨网段路由,否则永远连不上。解决办法是把打印机挪到和手机同一个路由器上,或者把手机连到打印机所在的那个 WiFi。
还有一个隐蔽原因:路由器的"AP 隔离"或"客户端隔离"功能开着。这个功能的本意是让连同一个 WiFi 的设备互相不可见,提升公共网络安全,但在家里开着就会导致手机看不到打印机。进路由器管理页面把这个选项关掉即可。
5.2 乱码和半页:驱动层的锅,不在网络
打印出来是乱码、半页内容加一堆符号、或者干脆空白,基本可以断定是驱动不匹配,不是网络不通。因为网络不通根本不会有任何输出。
排查顺序:先用 App 自带的测试页验证,测试页能正常出来说明整条链路是通的,问题在文档渲染环节;测试页也乱码,说明型号选错了,回添加界面换型号。同一个系列里挨个试,一般试两三个就能找到对的。这个过程不会损坏打印机,最坏情况就是浪费几张纸,所以大胆试。
5.3 版式错乱的专项处理
如果测试页正常、文档打出来版式却不对,那就是纯粹的文档问题,跟打印链路无关。这时候别在 App 里瞎折腾,回到文档本身去改。
我总结的处理顺序是:先在手机上看打印预览(大多数 App 都提供),预览里能看出超宽、跨页、内容缺失的问题;预览没问题但打出来不对,就转 PDF 再打;转 PDF 之后还不满意的,说明原始文档的页面设置本身有问题,得在电脑上改。这个顺序能把排查范围一步步收窄,比一上来就怀疑打印机高效得多。
心得:建立"测试页 → 单页文档 → 完整文档"的三级验证习惯。每次换环境(换 WiFi、换路由器、换手机)都先打测试页,能省掉大量"到底是哪一环坏了"的纠结。
6. 我踩过的坑,以及长期使用的维护建议
第一个坑是网线插错口。我第一次接线时图省事,把打印机网线插到了路由器的 WAN 口上,然后折腾了四十分钟各种改 IP、重启设备,最后才发现根本不在一个网络里。从那以后我养成习惯:接线前先看清楚路由器的 LAN 口标记,插完先看指示灯。
第二个坑是 DHCP 地址漂移。有段时间打印时好时坏,隔几天就要重新配一次。查了很久才发现是打印机用 DHCP 拿到的地址被别的设备抢了。改成地址保留之后,这个问题再没出现过。所以我现在给任何"半固定"网络设备都做地址保留,包括打印机、摄像头、电视盒子。
第三个坑是 App 自动更新之后驱动列表变了。某次更新后,原来能用的那个型号选项消失了,打印直接失败。解决办法是把 App 的自动更新关掉,需要更新时手动来,更新前先记下当前能用的型号和配置。老设备的维护就是这样,稳定比新功能重要。
第四个坑是纸张受潮。激光打印机的原理是静电吸附碳粉再高温定影,纸受潮之后电阻变化,会出现底灰、定影不牢、甚至卡纸。一包纸开封后用密封袋装起来,放在干燥的地方,南方梅雨季尤其要注意。这个跟软件无关,但对打印质量的影響比很多软件设置都大。
日常维护方面,我的建议是:每月打一张测试页,防止硒鼓长时间不用导致碳粉结块;定期看一眼打印机面板有没有报错提示,很多故障是提前预警的;扫描仪的玻璃板每季度擦一次,用眼镜布加一点点清水,别用酒精,别用纸巾;打印机固件如果当前版本工作正常,别去追新,老机器的固件更新往往是修一个坑挖一个坑。
最后分享一个我觉得最实用的习惯:把这套配置的关键信息——打印机 IP、端口号、App 里选中的型号名称、路由器上做的地址保留记录——全部记在一个备忘录里。这些东西配好之后可能一年都不碰一次,等真出问题时你早就忘了当初是怎么设的,有记录能省掉重新摸索的整段时间。我那份备忘录里甚至记了哪根网线是接打印机的,因为线一多真的会乱。