基本信息
源码名称:web网页 打印控件 实例源码下载
源码大小:1.04M
文件格式:.rar
开发语言:C#
更新时间:2016-12-19
   友情提示:(无需注册或充值,赞助后即可获取资源下载链接)

     嘿,亲!知识可是无价之宝呢,但咱这精心整理的资料也耗费了不少心血呀。小小地破费一下,绝对物超所值哦!如有下载和支付问题,请联系我们QQ(微信同号):813200300

本次赞助数额为: 2 元 
   源码介绍

由于本打印插件是基于我们开发平台的报表基础来开发设计的,所以打印控件的原理:通过JS将页面表格数据生成固定格式的XML字符串(图片通过64base图片格式)传送给打印插件,有打印插件自主绘图生成打印页面。



using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using E_Print;
using System.Xml;

namespace EPrintTest
{
    public partial class Form1 : Form
    {
        public XmlDocument xmlDoc = new XmlDocument();
        public PrintControl Printer = new PrintControl();
        public Form1()
        {
            InitializeComponent();
        }

        /// <summary>
        /// 打印设置
        /// 设置打印机的信息(选择打印机,设置打印份数)
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btn_PrintSet_Click(object sender, EventArgs e)
        {
            // Printer 为拖入页面的打印控件 (我们自定义的打印控件,winform web 都可以使用)
            Printer.PRINTSET();
        }


        /// <summary>
        /// 页面设置
        /// 设置打印的页面的纸张大小、纸型、页面边距
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btn_PageSet_Click(object sender, EventArgs e)
        {
            Printer.PAGESTE();
        }

        /// <summary>
        /// 打印预览
        /// 将打印的数据进行预览
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btn_PreView_Click(object sender, EventArgs e)
        {
            // 赋值ReportXML数据
            xmlDoc = new XmlDocument();
            xmlDoc.Load("RptData.xml");
            Printer.DATAXML = xmlDoc.InnerXml;

            //Printer.MARGINLEFT = 0;
            //Printer.MARGINRIGHT = 0;
            //Printer.MARGINTOP = 0;
            //Printer.MARGINBOTTOM = 0;

            // 字符溢出处理 缩小换行
            Printer.ISOVERFLOW = true;


            Printer.ZOOMTYPE = "null";
            Printer.HEADDRAW = true;
            Printer.HEADLEFT = "测试页眉";
            Printer.HEADCENTER = "苏州章展智能工程有限公司";
            Printer.HEADRIGHT = "第[curpage]页";
            Printer.HEADLINEDRAW = true;

            Printer.FOOTDRAW = true;
            Printer.FOOTLEFT = "测试页脚";
            Printer.FOOTCENTER = "苏州章展智能工程有限公司";
            Printer.FOOTRIGHT = "共[allpage]页";
            Printer.FOOTLINEDRAW = true;

            Printer.ISTBLTITLEALLPAGE = true;
            Printer.ISTBLHEADALLPAGE = true;
            Printer.ISTBLFOOTALLPAGE = false;
            Printer.ISAUTOFILLROW = true;

            string strError = Printer.PREVIEW();
            if (strError != "")
            {
                MessageBox.Show(strError);
            }
        }

        /// <summary>
        /// 直接打印
        /// 此处加入了再次调用打印设置界面,因为用户可能需要选择那种打印机
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btn_Print_Click(object sender, EventArgs e)
        {
            string strError = Printer.PRINT();
            if (strError != "")
            {
                MessageBox.Show(strError);
            }
        }
    }
}