使用win32print Python将文件打印到连续纸张

2024-09-28 22:22:26 发布

您现在位置:Python中文网/ 问答频道 /正文

我想用Python中的win32print将文件打印到连续纸张上,但在纸张大小设置上有一个问题。。 当我遵循以下代码时:here 纸张大小总是用A4纸,我更改了纸张大小和表单名称,但没有任何更改。在

import win32print
import win32ui
import win32con
devmode.PaperSize = 50
devmode.PaperLength = 50
devmode.PaperWidth = 50
devmode.Orientation = 1
printer = win32print.GetDefaultPrinter()
hprinter = win32print.OpenPrinter(printer)
devmode = win32print.GetPrinter(hprinter, 2)["pDevMode"]
devmode.FormName = "Legal"
devmode.PaperSize = win32con.DMPAPER_9X11
devmode.PaperLength = 20
devmode.PrintQuality = 120
devmode.Orientation = 1
hDC = win32ui.CreateDC()
hDC.CreatePrinterDC(win32print.GetDefaultPrinter())
hDC.StartDoc('test')
hDC.StartPage()
scale_factor = 20
font = win32ui.CreateFont({
    "name": "Monospaced",
    # "name": "Times New Roman",
    "height": 20,
    "weight": 20,
})
hDC.SelectObject(font)
hDC.TextOut(300, 0, "TESTING ...")

hDC.EndPage()
hDC.EndDoc()

Tags: nameimportprinterfont纸张orientationwin32conwin32ui