You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在使用Python调用CUPS打印txt文件时修改字体大小

如何修改Python调用CUPS打印txt文件的字体大小

你调用cups.Connection.printFile时传入的第四个空字典就是打印参数配置位,所有字体大小、排版相关的规则都需要写入这个字典传给CUPS服务。

CUPS默认使用内置文本过滤器处理纯文本打印任务,没有直接传入“字号磅值”的参数,是通过横向字符密度、纵向行密度两个核心参数控制字体实际显示大小:

  • cpi:横向每英寸可打印的字符数,数值越小单字符占用的横向空间越大,字体视觉上越大,系统默认值一般为10
  • lpi:纵向每英寸可打印的行数,数值越小单行占用的纵向空间越大,字体视觉上越大,系统默认值一般为6

除了字体密度参数,建议同步配置纸张尺寸和页边距,避免调整字体后内容裁切或溢出:

  • media:指定打印纸张尺寸,国内常用值为A4
  • page-top/page-bottom/page-left/page-right:设置上下左右页边距,单位为磅(1磅约为0.35mm)

调整后示例代码

import cups

conn = cups.Connection()
printers = conn.getPrinters()
printer_name = list(printers.keys())[0]

# 打印参数配置:调大字体
print_options = {
    "media": "A4",
    "cpi": "8",   # 比默认值小,字体横向放大
    "lpi": "5",   # 比默认值小,字体纵向放大
    "page-left": "36",
    "page-right": "36",
    "page-top": "36",
    "page-bottom": "36"
}

conn.printFile(printer_name, "file.txt", "txt_print_task", print_options)

如果你需要精确指定特定磅值的字体(比如12号宋体、14号黑体这类),不建议直接将原生txt传给CUPS打印,可以先用Python工具把txt按指定字体、字号排版转成PDF文件,再调用CUPS打印PDF,排版可控性会高很多。

内容的提问来源于stack exchange,提问作者Alessandro Nestola

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.28 22:09:19