WinForm 调用 PrintDocument

使用WinForm 打印 Devexpress BarCodeControl 二维码

        /// <summary>
        /// Handles the ItemClick event of the barButtonItem2 control.
        /// </summary>
        /// <param name="sender">The source of the event.</param>
        /// <param name="e">The <see cref="DevExpress.XtraBars.ItemClickEventArgs"/> instance containing the event data.</param>
        private void barButtonItem2_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
        {

            printDialog1.Document = printDocument1;
            printPreviewControl1.Document = printDocument1;
            printDocument1.PrintPage += PrintDocument1_PrintPage;
            if (printDialog1.ShowDialog() == DialogResult.OK)
            {

                printDocument1.Print();

            }

        }

        /// <summary>
        /// Prints to graphics.
        /// </summary>
        /// <param name="graphics">The graphics.</param>
        /// <param name="bounds">The bounds.</param>
        public void PrintToGraphics(Graphics graphics, Rectangle bounds)
        {
            Bitmap bitmap = new Bitmap(barCodeControl1.Width, barCodeControl1.Height);
            barCodeControl1.DrawToBitmap(bitmap, new Rectangle(0, 0, bitmap.Width, bitmap.Height));
            Rectangle target = new Rectangle(0, 0, bounds.Width, bounds.Height);
            double xScale = (double)bitmap.Width / bounds.Width;
            double yScale = (double)bitmap.Height / bounds.Height;
            if (xScale < yScale)
                target.Width = (int)(xScale * target.Width / yScale);
            else
                target.Height = (int)(yScale * target.Height / xScale);
            graphics.PageUnit = GraphicsUnit.Display;
            graphics.DrawImage(bitmap, target);
        }

        /// <summary>
        /// Handles the PrintPage event of the PrintDocument1 control.
        /// </summary>
        /// <param name="sender">The source of the event.</param>
        /// <param name="e">The <see cref="System.Drawing.Printing.PrintPageEventArgs"/> instance containing the event data.</param>
        private void PrintDocument1_PrintPage(object sender, System.Drawing.Printing.PrintPageEventArgs e)
        {
            PrintToGraphics(e.Graphics, e.MarginBounds);
        }

时间: 2024-12-26 16:45:24

WinForm 调用 PrintDocument的相关文章

Winform调用QQ发信息并且开机启动 (开源)

前言 公司CS系统需要加入启动qq从winform调用qq聊天窗口的功能,前提是需要将聊天者的QQ号码作为参数传递到函数中,一直没有搞过,正好很感兴趣,就折腾,Winform调用qq,我想肯定是需要一些编码思路,下面列出编码前思路图 检查QQ安装后在注册表中的具体路径 根据注册表找到调用QQ程序的exe完整路径(Timwp.exe) 启动,达到winform调用QQ的要求 先看简单测试界面 步骤1 找到QQ的注册表路径,经过百度之后分析得到思路,正确的路径 32位QQ安装后注册表路径SOFTWA

C# winForm调用WebService

C#winForm调用WebService的远程接口 创建一个WebService工程用例 添加服务引用 添加webService服务地址 输入命名空间名称 主要代码 测试成功截图 工程代码下载 新建一个测试工程用例如图: 布局如图: 1.添加服务引用   2.在弹出的添加服务引用对话框地址栏中输入WebService地址, 如:http://localhost:6677/webservice1.asmx 3.输入命名空间名称或保持默认 4.主要测试代码: 1 myWebServiceTest.

C# winform调用WebBrowser经典怪问题总结

原文:C# winform调用WebBrowser经典怪问题总结 最近一直研究网页数据采集,单单采集数据,其实HtmlAgilityPack就足够了. 对HtmlAgilityPack感兴趣的可以到这里看看:C#采集代理服务器ip并设置IE代理--HtmlAgilityPack实战代码但是有个问题:要是想要模拟人工输入数据,进行表单提交HtmlAgilityPack就办不了,Skybound.Gecko(firfox的.net开源代码) 也办不了这个事情.Skybound.Gecko不支持点击,

winForm调用WebApi程序

WinForm窗体创建的调用api的类 /// <summary> /// 调用api返回json /// </summary> /// <param name="url">api地址</param> /// <param name="jsonstr">接收参数</param> /// <param name="type">类型</param> ///

WinForm调用钉钉获取考勤结果

原文:WinForm调用钉钉获取考勤结果 关注点: 1.钉钉AccessToken的获取和防止过期 2.使用TPL并行编程调用钉钉接口 需求详解 公司前台有个大屏,领导想显示全部员工的考勤结果统计情况和车间的实时监控视频,还有车间的看板.简单说就是把大屏分割成几个区域.现在遇到的难题是钉钉获取考勤结果的api是只有明细记录,比如你公司1000人,那么可能回给你2000条考勤结果.分别是上班考勤和下班考勤的.没有整个公司的,我就需要这么一条数据就行了.但人家没有这样的接口提供.卷起袖子,干! 趟坑

c# winform 调用js

1. 在winform中加入一个 WebBrowser 控件: 2. webBrowser控件加载html文件,html文件中包含了js代码, 代码如下(必须在 InitializeComponent(); 后加载): public Form1() { InitializeComponent(); System.IO.FileInfo file = new System.IO.FileInfo("index.htm"); // WebBrowser控件显示的网页路径 webBrowse

Winform调用百度地图接口简单示例

1.首先用一个html文件调用百度地图接口(主要注册一个序列号):   <!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>

winform调用浏览器打开页面方法分享,希望对大家有帮助

在很多客户端程序中我们都需要调用浏览器打开网页,这里分享一个可以在我winform程序调用浏览器的方法,测试通过了. 下载查看demo 看演示图 1.调用谷歌浏览器打开网页(打开百度) 2.调用IE打开页面(打开百度) 3.调用用户默认设置的浏览器打开百度页面 测试都是通过的,有些电脑因为没有安装IE浏览器特别是一些Ghost系统,导致IE打开不成功,这里我建议大家可以调用谷歌浏览器,因为比较这是现在最主流的浏览器之一,谷歌没有就打开系统默认的,实在不行就打开IE. 项目测试中,还真有一些客户的

Winform调用百度地图接口

using System; using System.IO; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; namespace BaiDuMap { public partial class Form1 : Form { public Form