首页 > 代码库 > 命令行打印网页

命令行打印网页

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="" 

技术分享

技术分享


加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


命令行打印网页