zeebit 发表于 2008-9-5 10:42:48

Autoit打印问题

搜索了论坛,打印问题好像不多
主要解决的是:打开关闭打印服务、查看打印机列表、删除打印列表等
对实际的打印控制,并没有提到

到英文官方网,我也简单的看了下(E文不好,不爽)
好像都是提到打印一个文件,如:打印一个TXT文件、打印一个图像文件

如果要把设置的一个窗体上的内容打印机来,必须要生成一个文件才能打印吗?那这个文件应该是个临时文件喽?
其他软件打印的原理也是这样的吗?也要生成一个临时文件?

[ 本帖最后由 zeebit 于 2008-9-8 13:38 编辑 ]

zeebit 发表于 2008-9-5 10:45:04

以下是网上搜索到的,第二段代码经测试不成功,第一段代码找不到那个函数
_OpenFilePrint("C:\test.gif")

Func _OpenFilePrint ($sFilePath)
    Local $oShellApp = ObjCreate('shell.application')
    Local $sPath = StringRegExpReplace($sFilePath, "\\[^\\]+$", "")
    If @extended =0 Then $sPath = @WorkingDir
    Local $oPath = $oShellApp.Namespace ($sPath), $oItem
    For $oItem In $oPath.items
      If $oItem.Path = $sFilePath Then
            ConsoleWrite($oItem.Path &@CRLF)
            $oItem.InvokeVerb('&Print')
      EndIf
    Next
EndFunc ; => _OpenFilePrint.

$sPrintFile = "c:\image.png"
Run('Rundll32.exe "' & @SystemDir & '\mshtml.dll",PrintHTML "' & $sPrintFile & '"', @SystemDir)

[ 本帖最后由 zeebit 于 2008-9-7 20:02 编辑 ]

zeebit 发表于 2008-9-7 19:57:02

经过测试_FilePrint函数不仅可以打印文本,还可以打印Word和Html文件
不过在打印的时候,都会打开Word软件窗口,再自动关闭
这样好像不太爽啊,而且不能设置边距等

虽然_FilePrint的说明里是这样写的:
Function Reference
_FilePrint
--------------------------------------------------------------------------------
Prints a plain text file.
#Include <File.au3>
_FilePrint($s_File[, $i_Show = @SW_HIDE])


[ 本帖最后由 zeebit 于 2008-9-7 19:58 编辑 ]

a1986040444 发表于 2009-9-28 10:57:20

原來有打印的 我還以為沒有呢
页: [1]
查看完整版本: Autoit打印问题