`
isiqi
  • 浏览: 16495152 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

在页面中实现打印---利用JavaScript实现打印页面,利用WebBrower组件实现打印

阅读更多

1、利用JavaScript实现打印页面

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

<head runat="server">

<title></title>

<script type="text/javascript" language="javascript">

function printPage() {

//打印当前窗体

window.print();

}

</script>

</head>

<body>

<form id="form1" runat="server">

<div>

ASP.NET学习

</div>

<input type="button" id="btnPrint" value="打印" onclick="printPage()" />

</form>

</body>

</html>

2、控制打印范围

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default2.aspx.cs" Inherits="_Default2" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

<head runat="server">

<title></title>

<script type="text/javascript" language="javascript">

function printPage() {

//获取页面内容

var bdhtml = document.body.innerHTML;

var beginstr = "<!--startprint-->";

var endstr = "<!--endprint-->";

//获取要打印的内容

var prnhtml = bdhtml.substr(bdhtml.indexOf(beginstr) + 17);

prnhtml = prnhtml.substr(0, prnhtml.indexOf(endstr));

//预览

window.document.body.innerHTML = prnhtml

//打印当前窗体

window.print();

}

</script>

</head>

<body>

<form id="form1" runat="server">

<!--startprint-->

<div align="center">

<span>这里是我需要打印的内容</span>

</div>

<!--endprint-->

<div>

ASP.NET学习

</div>

<input type="button" id="btnPrint" value="打印需要部分" onclick="printPage()" />

</form>

</body>

</html>

HTML中标记内容的开始位置和结束位置,然后截取需要打印的内容。

3、利用WebBrower组件实现打印

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

<head runat="server">

<title></title>

<script type="text/javascript" language="javascript">

function printTools(type) {

switch (type) {

case 1:

//打印预览

document.all.wb1.ExecWB(7,1);

break;

case 2:

//打印

document.all.wb1.ExecWB(6, 1);

break;

case 3:

//打印设置

document.all.wb1.ExecWB(8, 1);

break;

}

}

</script>

</head>

<body>

<form id="form1" runat="server">

<object id="wb1" width="0" height="0" classid='CLSID:8856F961-340A-11D0-A96B-00C04FD705A2'></object>

<div>

ASP.NET学习

</div>

<input type="button" value="打印预览" id="btnPreview" onclick="printTools(1)" />&nbsp;&nbsp;

<input type="button" value="打印" id="btnPrint" onclick="printTools(2)" />&nbsp;&nbsp;

<input type="button" value="打印设置" id="btnSetting" onclick="printTools(3)" />&nbsp;&nbsp;

</form>

</body>

</html>

首先使用object标签加载ExecWB组件,必须指定本页中的唯一标识ID

运行会提示加载ActiveX控件,很不爽,需要设置下

Internet选项的安全选项中设置

4、实际开发中一般为要打印的内容单独做个页面,如:

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm1.aspx.cs" Inherits="WebAppPrint.WebForm1" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

<head runat="server">

<title></title>

</head>

<body>

<form id="form1" runat="server">

<div>

需要打印的内容

</div>

<object id='Object1' name="WebBrowser" width="0" height="0" classid='CLSID:8856F961-340A-11D0-A96B-00C04FD705A2'>

</object>

<script type="text/javascript">

document.getElementById("WebBrowser").ExecWB(7, 1);

window.close();

</script>

</form>

</body>

</html>

然后在主页面拖放一个Button按钮指向此页面,例如指向上面的页面:

protected void Button1_Click(object sender, EventArgs e)

{

Response.Redirect("WebForm1.aspx");

}

分享到:
评论

相关推荐

    从网上下的觉得可以继续开发使用的WebBrower实现的浏览器

    在标题提到的“觉得可以继续开发使用的WebBrower实现的浏览器”中,我们可以理解为作者可能已经基于WebBrower控件创建了一个基础的浏览器框架,并认为它具有进一步开发和优化的潜力。 描述中提到,开发者已经利用这...

    WTL与webbrower中实现地图,C++与javascript相互调用

    利用WTL实现在webbrower利用google map api展示google地图;包含在C++中调用google map api的javascript的实现例子;同时也包含webbrowser中的javascript函数触发WTL中C++写的事件的例子。 在VS2005下调试通过(VC...

    C#web打印之WebBrowser

    本主题主要探讨的是如何利用C#中的WebBrowser控件实现Web打印功能,特别是在处理销售单等业务场景下的应用。 首先,我们需要理解WebBrowser控件的基本用法。在C#中,通过在窗体上添加WebBrowser控件,可以像浏览器...

    c#写的自动打卡机,利用WEBBROWER操作网页控制

    WEBBROWER控件是.NET Framework提供的一种内嵌式Web浏览器组件,它可以嵌入到Windows Forms或WPF应用中,模拟IE浏览器的行为。 【核心知识点】 1. **C#编程基础**:C#是微软公司推出的面向对象的编程语言,具有...

    webBrower的简单实现

    在编程领域,WebBrowser是一个非常基础且实用的组件,它允许开发者在应用程序中嵌入一个浏览器内核,以便用户能够浏览网页。这个组件在.NET框架中被广泛使用,尤其是在C#编程中。本文将深入探讨如何使用C#实现一个...

    WPF中WebBrower使用

    在Windows Presentation Foundation (WPF) 中,WebBrowser控件是一个非常实用的组件,它允许开发者在应用程序中嵌入网页浏览功能。本篇文章将详细介绍如何在WPF应用中使用WebBrowser控件,以及如何实现多窗口浏览。 ...

    webBrower控件实现winform和webpage交互

    WebBrowser控件是Windows Forms中的一个重要组件,它允许在桌面应用程序中加载和显示网页内容,同时也提供了丰富的API来实现与网页的交互。为了能够有效地使用WebBrowser控件与WebPage进行交互,掌握DOM(Document ...

    VC中WebBrower控件的操作

    4. 在实现文件(.cpp)中初始化控件,如`m_webBrowser.Create(NULL, WS_CHILD | WS_VISIBLE, rect, this, IDC_WEBBROWSER1);` 接下来,我们讨论如何改变WebBrowser控件的值。通常,这涉及到导航到特定的URL。可以...

    C#基于Chrome内核的webBrower ChromeWebBrowser net realse

    在.NET框架中,C#开发者经常需要在应用程序中集成网页浏览功能。传统的WebBrowser控件虽然方便,但它基于Internet Explorer的 Trident渲染引擎,这在现代Web应用中可能会导致兼容性问题。为了解决这个问题,我们可以...

    VB6利用webbrower控件自动填写并提交表单.rar

    VB6实现表单自动填写功能,并自动提交表单,是一个不用人工填写的自动表单,根据已提供的信息自动填写表单,主要为了演示如利用webbrower控件实现自动填写并提交表单。默认测试用户名/密码均为admin,密保1234,由于...

    利用WebBrowser彻底解决Web打印问题(包括后台打印)

    WebBrowser控件提供了多种执行命令的方法,例如`ExecWB`,可以实现打印、预览和页面设置等功能。例如,以下代码分别代表页面设置、直接打印和打印预览: ```javascript document.all.WebBrowser.ExecWB(6, 6); // ...

    c# winform webbrowser页面中js调用winform类方法

    这通常通过在C#中定义一个事件,并在JavaScript中触发这个事件来实现。 5. **异步调用**: 如果C#方法需要执行耗时操作,应考虑异步处理,以避免阻塞UI线程。你可以使用`async/await`关键字来实现异步操作。 通过...

    使用WebBrower制作浏览器的DELPHI程序

    在Delphi编程环境中,开发基于WebBrowser组件的应用程序可以让你创建功能丰富的桌面应用程序,这些程序具有内置的网页浏览能力。WebBrowser组件是基于Internet Explorer引擎的,因此它能够显示HTML内容,执行...

    winform中利用MiniBlink,blinkBrowser显示网页并调用网页中js的例子

    本示例将详细介绍如何在WinForm应用中利用MiniBlink的blinkBrowser控件来显示网页,并调用其中的JavaScript方法。 MiniBlink是一个轻量级的Web渲染引擎,它的核心是Google Chrome的Blink引擎,因此它能提供比...

    webbrower 示例

    1.在url后面的文本框中输入地址 2.点击【加载页面按钮】,对url进行加载 3.点击【显示网页源码】,对已加载的网页进行显示 注意:如要判断何事加载完毕 可以用定时器之类的 循环读取网页上出现的某个标记 如...

    VB webbrower操作网页代码汇总

    VB webbrower操作网页代码汇总,包含22个方面,有具体实例代码。

    《Delphi7编程100例》代码

    ToolBar工具栏控件的使用动态建立主菜单选项窗口界面的动态分隔条动态设置...WebBrower制作浏览器可视化的Ping工具使用IdMappedPortTCP进行端口映射动态设置ODBC数据源用ADO控件打开Access数据库DBGrid中的记录到Html...

    C#生成Html并在WebBrowser中显示

    综上所述,通过C#动态生成HTML,并利用WebBrowser控件在桌面应用中显示,我们可以实现丰富的交互式功能。这不仅适用于初学者,也是专业开发者日常工作中不可或缺的技能。通过不断实践和学习,你将能够更好地掌握这一...

    FireMonkey 使用Webbrowser

    然而,这并不意味着在FireMonkey中无法实现类似的功能。 标题"FireMonkey 使用Webbrowser"指出,我们需要在FMX环境中模拟或实现类似于TWebBrowser的控件功能。描述中提到的问题是,要使窗体2的位置与窗体1中的PANEL...

    webbrower 西祠胡同发帖回帖程序附源码DELPHI

    因为是单账号的操作而且客户还要求程序里嵌入html页面 所以 不得以采用webbrower 初次研究 花了两天时间搞定 下面附源码 采用TEmbeddedWB组件 因为我不能判断登陆的时候需不需要输入验证码 所以 程序里手动的点击...

Global site tag (gtag.js) - Google Analytics