使用Win32和python直接打印时,在文本文件上隐藏页眉和页脚
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了使用Win32和python直接打印时,在文本文件上隐藏页眉和页脚,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2081字,纯文字阅读大概需要3分钟。
内容图文
![使用Win32和python直接打印时,在文本文件上隐藏页眉和页脚](/upload/InfoBanner/zyjiaocheng/673/31b95877e930422d9d61bbe998a267fd.jpg)
使用此代码直接打印到文本文件时,我被卡在这里
win32api.ShellExecute (0, "print", "datafile.txt", None, ".", 0)
它总是打印页眉“ datafile.txt”和页脚“ Page1”.在连续纸上打印时,我想隐藏或删除它.我不想安装其他第三方软件.请帮我.谢谢.
解决方法:
我敢肯定,您只是简单的搜索工作,而不是找到比此hack更好地解决此问题的模块(例如,使用Reportlab和ShellExecute PDF).另外,在Windows上打印文本文件的默认应用程序是记事本.如果您希望永久配置页眉/页脚设置,只需在“文件”->“页面设置”中进行更改即可.
如果要在程序中更改记事本的设置,则可以使用winreg模块(Python 2中为_winreg).但是,由于ShellExecute不等待作业排队,因此存在计时问题.在恢复旧设置之前,您可以睡一会儿或等待用户输入继续.这是演示该过程的快速功能:
try:
import winreg
except:
import _winreg as winreg
import win32api
def notepad_print(textfile, newset=None):
if newset is not None:
oldset = {}
hkcu = winreg.ConnectRegistry(None, winreg.HKEY_CURRENT_USER)
notepad = winreg.OpenKey(hkcu, r'Software\Microsoft\Notepad', 0,
winreg.KEY_ALL_ACCESS)
for key, item in newset.items():
oldset[key] = winreg.QueryValueEx(notepad, key)
winreg.SetValueEx(notepad, key, None, item[1], item[0])
#force printing with notepad, instead of using the 'print' verb
win32api.ShellExecute(0, 'open', 'notepad.exe', '/p ' + textfile, '.', 0)
input('once the job is queued, hit <enter> to continue')
if newset is not None:
for key, item in oldset.items():
winreg.SetValueEx(notepad, key, None, item[1], item[0])
您可以通过以下调用临时删除页眉/页脚设置:
notepad_print('datafile.txt', {'szHeader' : ('', 1), 'szTrailer': ('', 1)})
您可以根据需要更改其许多注册表设置:
newset = {
#name : (value, type)
'lfFaceName': ('Courier New', 1),
'lfWeight': (700, 4), #400=normal, 700=bold
'lfUnderline': (0, 4),
'lfItalic': (1, 4), #0=disabled, 1=enabled
'lfStrikeOut': (0, 4),
'iPointSize': (160, 4), #160 = 16pt
'iMarginBottom': (1000, 4), #1 inch
'iMarginTop': (1000, 4),
'iMarginLeft': (750, 4),
'iMarginRight': (750, 4),
'szHeader': ('&f', 1), #header '&f'=filename
'szTrailer': ('Page &p', 1), #footer '&p'=page number
}
notepad_print('datafile.txt', newset)
内容总结
以上是互联网集市为您收集整理的使用Win32和python直接打印时,在文本文件上隐藏页眉和页脚全部内容,希望文章能够帮你解决使用Win32和python直接打印时,在文本文件上隐藏页眉和页脚所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。