麒麟os需在cups底层启用自动纸张检测:先确认打印机硬件支持介质自动感应,再通过cups web界面将page size设为auto/requested,必要时替换为厂商ppd驱动,并在应用层关闭缩放、设纸张为自动。

麒麟OS配置打印机自适应纸张大小,需绕过图形界面默认的A4硬编码设置,直接在CUPS底层启用“自动检测介质”能力,否则打印PDF或图文混排文档时会强制缩放、裁切或报错“paper mismatch”。
确认打印机硬件支持自动进纸检测
这一步不可跳过。若打印机自身无传感器识别纸张尺寸(如老式奔图P2040、HP LaserJet 1020),后续所有软件设置均无效,打印时仍会卡在A4校验环节。
查看打印机说明书或面板菜单:进入【设置】→【设备信息】→【纸张传感器】或【Media Detection】,确认存在“Auto Sensing”“Smart Feed”或类似字样;无此功能的机型请直接跳至最后一种兼容方案。
对USB直连打印机,终端执行:sudo lsusb -v | grep -A 5 -B 5 "Paper\|Media",若输出含“auto-detect”“sensor”关键词,说明内核已识别该能力。
通过CUPS Web界面启用自动纸张检测
图形界面不暴露该选项,必须进入CUPS后台手动开启,否则驱动层始终按固定尺寸建模。
第一步:确保CUPS服务运行 → 在浏览器打开 http://localhost:631 → 点击左侧【Administration】→ 【Manage Printers】。
第二步:找到已添加的目标打印机 → 点击其名称进入详情页 → 点击右上角【Set Default Options】。
第三步:在选项列表中查找 【Media Type】 或 【Paper Source】 → 展开下拉菜单 → 选择 【Automatic】 或 【Auto Select】(不同驱动显示名称略有差异)。
第四步:重点操作 → 找到 【Page Size】 项 → 必须设为 【Requested】 或 【Auto】,严禁选“A4”“Letter”等固定值;若无此选项,说明当前PPD驱动不支持自适应,需更换驱动。
第五步:点击【Set Default Options】保存 → 此时所有通过CUPS提交的打印任务(包括LibreOffice、WPS、Chrome)都将按实际文档尺寸匹配纸张。
替换为支持自动尺寸的PPD驱动文件
系统内置驱动常禁用自动检测以保兼容性,需手动注入厂商提供的增强版PPD。
方法一:从打印机官网获取PPD
访问惠普驱动中心、奔图支持页(https://www.pantum.cn/support/download/driver/)或佳能Linux下载页,搜索型号 → 选择“Linux PPD”或“CUPS Driver” → 下载后缀为 .ppd 的文件(非.deb)。
方法二:在CUPS界面上传PPD
回到 http://localhost:631 → 【Administration】→ 【Add Printer】→ 选择已存在的打印机 → 在驱动选择页点击【Provide PPD File】→ 上传刚下载的PPD → 完成后重启CUPS:sudo systemctl restart cups。
注意:上传后务必重新进入【Set Default Options】,确认【Page Size】选项已变为可选【Auto】,否则PPD未生效。
应用层强制传递真实纸张尺寸
部分软件(如WPS Office、Foxit PDF)会覆盖CUPS默认设置,需在打印对话框中手动干预。
打开文档 → Ctrl+P唤出打印窗口 → 点击【属性】或【首选项】→ 找到【纸张/布局】标签页 → 取消勾选【适应页面大小】或【缩放以适应】 → 将【纸张大小】设为【自动】或【与文档相同】。
若该选项灰显,说明当前打印机队列未启用自动检测,返回CUPS界面检查【Page Size】是否仍为固定值。
对命令行打印(如lp命令),必须显式指定:lp -o media=auto -o fitplot 文件名.pdf。











