如何直接打印本地的HTML文件 请问:我现在要做一个打印HTML的程序,HTML文件已经在本地了,如何可以打印出来,环境是在winform上,谢谢 分数不多 只有30分了 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 在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) { } sorry这个是回复另一个帖子的LZ你要的在这点此进入 printDocument1_PrintPage中读取单据的内容打印就是了 这个单据是HTML的代码,读取不出来,后来还是用加载到WORD来打印了 我最后是用WEBBROWSER加载HTML文件,然后调用打印方法 Emit绑定实体类型如何判断可空类型Nullable? 根据摄像头,实现摄像头连续延迟抓拍功能 遍历取RadioButtonList值的问题 学习数据结构!!!!!!! C#!!!!!高分求解!!!!!!!!!急 求教:哈希算法 C#中WebService和一般的业务类有什么区别吗? 用C#写个刷帖的工具 想问问需要什么技术 提供下思路(帮顶给分) 将给定的windows程序(exe程序)运行为windows服务,这个怎么做,高手帮忙 学习c#语言重要还是学习.net雷库重要? 求救!! --[反射] 这样的一个小表格 能用水晶报表实现吗?
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)
{ }
点此进入