本文主要是介绍python 调用SumatraPDF 静默打印PDF,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
SumatraPDF 文档 https://www.sumatrapdfreader.org/docs/Command-line-arguments ⽆边框 noscale/缩⼩到合适⼤⼩(默认)shrink/合适⼤⼩ fit/compat 兼容 # 分为 Portrait (纵向)和 Landscape (横向)两类 https://github.com/sumatrapdfreader/sumatrapdf
def SumatraPDF():from pypdf import PdfReaderimport subprocessbit_number = platform.architecture()[0] # 判断电脑是32位还是64位if bit_number == '64bit':# 不用安装other_printer = './SumatraPDF64.exe'else:other_printer = './SumatraPDF32.exe'pdf_file1 = './81160747558912_1.pdf'cprinter = 'xxxx' # 打印机名称# 判断打印方向reader = PdfReader(pdf_file1)page0 = reader.pages[0]width = page0.mediabox.widthheight = page0.mediabox.heightif int(width) > int(height):scale = 'portrait'elif int(width) < int(height) == 842:scale = 'landscape'else:scale = 'portrait'# "fit,{scale},1-,paperkind=258,1x"#print-settings指定打印机参数,fit适合页面,scale 方向,1-从第一页到最后一页,lx 打印一份,2x打印2份args1 = [f"{other_printer}","-silent", # 静默打印"-print-to", #指定下一行为打印机名称f'{cprinter}',"-print-settings", f"fit,{scale},1-,paperkind=258,1x""-exit-on-print", # 打印结束自动退出"-disable-auto-rotation", #禁止自动旋转f"{pdf_file1}" #PDF路径]subprocess.run(args1, encoding="utf-8", shell=True)print(f"\t|已发送至打印机:{cprinter}")
这篇关于python 调用SumatraPDF 静默打印PDF的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!