PrintHTML程序:http://www.printhtml.com/download.php

从这下载程序,需要DhtmlEd控件支持,需要dot.net 4.0或者4.5

printhtml.exe /? 可调出帮助,注意不是/help 或者-help


打印机的名称,看本机有什么名称打印机,然后命令行:

printhtml.exe directurl="http://www.baidu.com" printername="Bullzip PDF Printer" header="" footer="" 

wKioL1jIGTqiw6LDAAB1Zq9NG5I906.png-wh_50

wKioL1jIGSqAfAM3AABXcTUixY8495.png-wh_50


加header和footer,是因为如果不加这两个参数,会在页头输出“共几页几页”,页尾输出url地址


好用,附件可下载PrintHTML和DhtmlEd两个程序



杯具,自己的页面,用这个东东打印出来排版会乱掉,改另一个办法,先将html转换为pdf,然后再打印

用这个工具:wkhtmltopdf,官网:http://wkhtmltopdf.org/index.html

这个没有变形,凑合用吧


接着该怎么样能自动打印呢,设想了一个办法:

首先打印机支持网络,最好能在内网访问到,指定pc安装打印机驱动程序,用bat来定时执行;

如果服务器无法访问到打印机的ip,可以用花生棒来做一个端口映射,这是个办法,但还需要了解打印机的端口,是否只用一个tcp就可以,如果是,理论上可行


换了wkhtmltopdf之后,需要用这个才能正常打印:http://www.biopdf.com/acrowrap/close_adobe_reader.php

用法:

acrowrap.exe /acceptlicense /t "pdf_file_name" ["printer_name"] ["printer_driver"] ["printer_port"]


没有认真研究为什么PrintHTML不能打印的原因,打印出来的页面是有问题的


嗯,上述wkhtmltopdf + acrowrap一起工作可行,贴一个测试代码:

c:
cd "C:\Program Files\wkhtmltopdf\bin"
pwd
wkhtmltopdf.exe "http://localhost:8080/my/data/file.html" "d:\file.pdf"
cd "C:\Program Files (x86)\bioPDF\Acrobat Wrapper"
pwd
acrowrap.exe /t "d:\file.pdf" "Bullzip PDF Printer"
pause



还有一个选择,叫Zan Image Printer,这个软件有汉化版,百度即可,也能轻易将所有文件打印成图片,包括tiff等,但是不知道为什么,我用命令行print来执行打印,总是提示无法初始化设备,无奈,继续找



如果打印word,得换另一个工具,叫2jpeg:https://www.2jpeg.com/download

这个也是下载后安装即可使用的

example里有例子,直接执行2jpeg.exe -src "d:\1.docx" -dst "c:\out"

命令行手册:https://www.2jpeg.com/overview/2jpeg-command-line-syntax

我用2台win7 64位来测试doc和docx,一台都正常,1台都不能打印,提示Unsupported file type,奇怪。


2jpeg能应付一些场合,它会添加水印,而且输出的word会有变形,慎重考虑



好吧,老老实实的将office先转为成pdf吧,用OfficeToPdf这个工具:http://officetopdf.codeplex.com

附件有下载,执行:OfficeToPDF.exe /?可以调出帮助,简单用法:

officetopdf.exe somefile.docx somefile.pdf


可能是电脑抽筋了,第一次可以,后面老是提示Themethod or operation is not implemented.

转了pdf之后,再用acrowrap打印,打印机是zan printer,需要3个辅助程序,试过效果还可以,只是比2jpeg复杂一些。



还有一个CLPrint.exe的工具

http://www.terminalworks.com/command-line-printing