本人在编写一个有关出货程序时,因为要打印发货清单,所以就遍历了好多方法,一开始使用python自带的表格生成,但是却没有办直接输出到打印机上,网上有很多种方,要么转PDF,要么转图片,但是转换后发现表格移位很大,也不漂亮,于是乎就先把要做的发货单直接保存成图片,这种方法是可行的,保存成图片后没有移位,但是因为要使用针式打印机打印联单,因为是图片,所以打印出的文字不是很清晰,有模糊的现象,这个问一直困扰了我有三四个月的时间,直到看到了“我的眼_001”的博文,才找到了感觉,在此真是很感谢博主“我的眼_001”(他的博客地址如下:https://blog.youkuaiyun.com/wodeyan001?type=blog),现将我的源码贴出,与大家一同分享:
import win32ui
def get_printer_name():
with open("printer_name.txt", "r") as f:
printer = f.read()
return printer
hDC = win32ui.CreateDC()
hDC.CreatePrinterDC(get_printer_name())
hDC.StartDoc("发货单")
hDC.StartPage()
YY = 15
hDC.TextOut(480, YY, "****************有限公司")
hDC.TextOut(570, YY+30, "发 货 单")
hDC.TextOut(60, YY+75, "发货单号:")
hDC.TextOut(210, YY+75, "2024012101")
hDC.TextOut(820, YY+75, "发货日期:")
hDC.TextOut(970, YY+75, "2025-1-21")
hDC.TextOut(60, YY+105, "收货单位:")
hDC.TextOut(