如何直接打印本地的HTML文件
请问:我现在要做一个打印HTML的程序,HTML文件已经在本地了,如何可以打印出来,环境是在winform上,谢谢 分数不多 只有30分了
[解决办法]
在winform上放一个webbrower控件,读取HTML文件,调用WEBBROWER的打印就可以了
[解决办法]
Winform利用WebBroswer控件读取html页面的元素第一页
//有些东西LZ根据你自己的情况修改下就可以了using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Windows.Forms;using System.Security.Cryptography;using System.Web;namespace 电信查询{ public partial class Form1 : Form { //WebService引用 private objTele.Service1SoapClient objtele = new 电信查询.objTele.Service1SoapClient(); //当前查询号码 private string nowtnum = ""; //当前查询ID private string nowtid = ""; //当前用户余额 private string nowtmoney = ""; //当前用户名称 private string nowtname = ""; //上一个用户名 private string oldtname = ""; //上一个查询号码 private string oldtnum = ""; //上一个查询ID private string oldtid = ""; //上一用户余额 private string oldtmoney = ""; //刷新页面次数 private int islock = 0; public Form1() { InitializeComponent(); } private void tspstart_Click(object sender, EventArgs e) { if (cbbtime.Text != "") { if (tspstart.Text == "开始查询") { timer1.Interval = Convert.ToInt32(cbbtime.Text.ToString().Trim()); timer1.Enabled = true; tspstart.Text = "停止查询"; } else { tspstart.Text = "开始查询"; timer1.Enabled = false; timer2.Enabled = false; } } else { MessageBox.Show("请先设定查询时间间隔", "错误提示", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } } private void cbbtime_SelectedIndexChanged(object sender, EventArgs e) { if (cbbtime.Text != "") { timer1.Interval = Convert.ToInt32(cbbtime.Text.ToString().Trim()); } } private void Form1_Load(object sender, EventArgs e) { webpage.Url = new Uri("http://www.1065921611.com/"); lvorder.Columns.Add("编号", 40); lvorder.Columns.Add("号码", 80); lvorder.Columns.Add("姓名", 80); lvorder.Columns.Add("用户余额", 80); lvorder.Columns.Add("状态", 120); lvorder.Columns.Add("时间", 120); lvorder.GridLines = true; //显示表格线 lvorder.View = View.Details;//显示表格细节 lvorder.HeaderStyle = ColumnHeaderStyle.Clickable;//对表头进行设置 lvorder.FullRowSelect = true;//是否可以选择行 cbbtime.Text = "5000"; this.Text = "电信查询"; } private void timer1_Tick(object sender, EventArgs e) { string strtele = ""; try { //从数据库中查询一条等待查询的数据 strtele = objtele.selectOneSelectStratMobile(Encrypt(), "2"); if (strtele != "") { string[] stroder = strtele.Split(new string[] { "_" }, StringSplitOptions.RemoveEmptyEntries); if (stroder[0] != "0" && stroder[1] != "0") { try { HtmlDocument doc = webpage.Document.Window.Frames[1].Document.Window.Frames[3].Document.Window.Frames[0].Document; HtmlElement telenum = doc.All["chargePhone"]; HtmlElement submit = doc.GetElementsByTagName("a")[0]; nowtid = stroder[0].ToString().Trim(); nowtnum = stroder[1].ToString().Trim(); nowdo.Text = "正在查询用户:" + nowtnum.ToString() + "信息"; if (telenum == null || submit == null) { nowdo.Text = "网络受阻查询用户:" + nowtnum.ToString() + "信息失败"; databind(nowtid.ToString(), nowtnum.ToString(), "查询失败", "0", "网络受阻,查询失败", 9); return; } telenum.SetAttribute("value", stroder[1].ToString()); submit.InvokeMember("click"); timer1.Enabled = false; timer2.Enabled = true; timer2.Interval = 2000; islock = 0; } catch (Exception) { return; } } } } catch (Exception) { throw; } } //页面加载完成时发生 private void webpage_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e) { } //页面开始刷新时执行 private void webpage_Navigated(object sender, WebBrowserNavigatedEventArgs e) { }