突发奇想,利用HttpWebRequest和css分页标记批量打印Web页面。。。
// 所有要打印的网页地址
string[] printUri = new string[] { "url..." };
HttpWebRequest req = null;
HttpWebResponse resp = null;
Stream s = null;
StreamReader sr = null;
// 网页源代码
string sourceHtml = string.Empty;
for (int i = 0; i < printUri.Length; i++)
{
req = WebRequest.Create(printUri[i]) as HttpWebRequest;
resp = req.GetResponse() as HttpWebResponse;
s = resp.GetResponseStream();
sr = new StreamReader(s, Encoding.Default);
string subHtml = sr.ReadToEnd();
// 利用正则提取Body
// .....
subHtml = subHtml.Replace("
", "// 添加分页标记
if (i < printUri.Length - 1)
subHtml += "
sourceHtml += subHtml;
}
// 处理特殊连接
sourceHtml = sourceHtml.Replace("../", "http://website/dir/");
resp.Close();
sr.Close();
s.Close();
Response.Write(sourceHtml);
Response.Write("");
Response.End();