asp.net 打印控件使用方法

标题:ASP.NET打印控件使用方法

在ASP.NET开发过程中,打印控件是一个非常重要的组件。他可以方便用户进行在线的打印。本文将详细讲解ASP.NET中打印控件的使用方法。

打印控件引用

要使用ASP.NET中的打印控件,需要在页面中引用"System.Drawing.dll"和"System.Drawing.Printing.dll"这两个命名空间。

using System.Drawing;
using System.Drawing.Printing;

打印控件对象的创建

在代码中,打印控件是由PrintDocument类来实现的。我们需要实例化一个PrintDocument对象。在实例化PrintDocument对象的时候,可以通过委托来指定打印时需要输出的内容。

示例一

private void btnPrint_Click(object sender, EventArgs e)
{
    PrintDocument pd = new PrintDocument();
    pd.PrintPage += new PrintPageEventHandler(pd_PrintPage);  // 添加打印事件的委托
    pd.Print();
}

private void pd_PrintPage(Object sender, PrintPageEventArgs e)
{
    Graphics g = e.Graphics;  // 创建Graphics对象
    Brush brush = new SolidBrush(Color.Black);
    Font font = new Font("Arial", 12);
    g.DrawString("Hello, world!", font, brush, 10, 10);
}

在示例一中,我们创建了一个PrintDocument对象,并为其添加了一个打印事件的委托。在打印事件内部,我们可以使用Graphic对象来输出我们想要打印的内容。

示例二

private void btnPrint_Click(object sender, EventArgs e)
{
    PrintDocument pd = new PrintDocument();
    pd.PrintPage += new PrintPageEventHandler(pd_PrintPage);  // 添加打印事件的委托
    PrintDialog pdlg = new PrintDialog();
    pdlg.Document = pd;
    if (pdlg.ShowDialog() == DialogResult.OK)
    {
        pd.Print();
    }
}

private void pd_PrintPage(Object sender, PrintPageEventArgs e)
{
    Graphics g = e.Graphics;  // 创建Graphics对象
    Image img = Image.FromFile("image.png");  // 从文件中载入图像
    g.DrawImage(img, 10, 10);  // 在Graphics对象上绘制图像
}

在示例二中,我们同样创建了一个PrintDocument对象,并为其添加了一个打印事件的委托。不同的是,在打印事件内部,我们使用Graphics对象来绘制了一个图像。打印预览对话框中会出现我们绘制的图像。

其他注意事项

  1. 在代码中创建的Graphics对象仅在PrintPage事件中有效,在PrintDocument对象的Print方法调用完毕后会被自动释放。
  2. 通过PrintDialog 对象可以实现对打印文档的打印设置,比如打印机选择、页边距、纸张大小等等。
  3. 有关相应打印机的设置信息可以通过PrintDocument.PrinterSettings对象获得。

通过上述的示例,您应该掌握了ASP.NET中打印控件的使用方法,并且可以编写一个基于打印控件的简单打印程序。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:asp.net 打印控件使用方法 - Python技术站

(0)
上一篇 2023年6月3日
下一篇 2023年6月3日

相关文章

  • 在.net应用程序中运行其它EXE文件的方法

    在.NET应用程序中运行其他.exe文件可以通过 Process 类来实现。下面是实现运行其他.exe文件的步骤: 导入命名空间 System.Diagnostics using System.Diagnostics; 创建 Process 对象 Process process = new Process(); 设置 ProcessStartInfo 属性 …

    C# 2023年5月15日
    00
  • C#异步编程之async/await详解

    C#异步编程之async/await详解 简介 异步编程是现代编程中不可避免的一部分,它允许我们编写高性能和更加流畅的应用。C#中的async/await关键字是一种优雅的方式来处理异步操作,这篇文章将着重详解这一特性。 async和await是什么? async是一个修饰符,用于修饰一个方法,表示这个方法是异步方法。 await是一个操作,用于让方法等待另…

    C# 2023年5月15日
    00
  • C#数组排序的两种常用方法

    下面是关于C#数组排序的两种常用方法的完整攻略。 方法一:使用Array.Sort方法排序 Array.Sort是.NET Framework中的一个静态方法,可以对数组进行升序或降序排列。这个方法的使用非常简单,直接调用即可。 步骤 定义一个数组 int[] numbers = { 5, 2, 1, 3, 4 }; 使用Array.Sort方法对数组进行排…

    C# 2023年6月1日
    00
  • C#通过yield实现数组全排列的方法

    下面是关于“C#通过yield实现数组全排列的方法”的完整攻略,包含两个示例。 1. 什么是数组全排列 数组全排列是指将一个数组中的所有元素进行排列组合,得到所有可能的排列方式。例如,对于数组[1, 2, 3],它的全排列为[1, 2, 3]、[1, 3, 2]、[2, 1, 3]、[2, 3, 1]、[3, 1, 2]和[3, 2, 1]。 2. C#通过…

    C# 2023年5月15日
    00
  • C#中闭包概念讲解

    C#中闭包概念讲解 什么是闭包 闭包是指一个函数能访问其自身范围之外的变量,并使这些变量的值在函数内被保持和使用。在C#中,闭包可以简单地理解为一个函数内访问外部变量。 C#中闭包的使用 在C#中,闭包主要通过lambda表达式、委托和匿名方法实现。下面将分别介绍各种方法的使用。 使用lambda表达式实现闭包 lambda表达式是一种匿名函数,其可以访问其…

    C# 2023年6月7日
    00
  • C#在MySQL大量数据下的高效读取、写入详解

    C#在MySQL大量数据下的高效读取、写入详解 对于Web应用程序来说,数据库通常是扮演着重要的角色,因此数据库的效率问题显得尤为重要。而MySQL作为一种流行的关系型数据库,在许多应用程序中用于存储大量数据。但是,如果不加优化,处理大量数据的效率将会很低下。本文将详细介绍如何在C#中提高MySQL数据库大量数据下的读写效率。 1. 数据库连接 使用MySQ…

    C# 2023年6月2日
    00
  • C#自定义基于控制台的Timer实例

    下面就为大家详细讲解如何自定义基于控制台的Timer实例。 准备工作 在使用C#自定义基于控制台的Timer实例之前,我们需要先在命名空间中引用System.Threading命名空间。 using System.Threading; 接着我们需要定义Timer对象和定时器事件处理程序,代码如下: //定义Timer对象 Timer timer = null…

    C# 2023年6月1日
    00
  • php5 apache 2.2 webservice 创建与配置(java)

    PHP5Apache2.2Webservice是一个用于搭建PHP Web服务的工具。本文将为您提供使用PHP5Apache2.2Webservice创建和配置Web服务的完整攻略。 步骤1:安装PHP5Apache2.2Webservice环境 首先需要准备好服务器,确保服务器上已经安装了Apache、PHP和MySQL。然后可以从此处下载并安装PHP5A…

    C# 2023年5月15日
    00
合作推广
合作推广
分享本页
返回顶部