Exemple #1
0
        private void ReportViewer_Load(object sender, EventArgs e)
        {
            DataTable        dt  = BusLayer.blPurchase.GetReport(bpd);
            ReportDataSource rds = new ReportDataSource("DCReport", dt);

            _reportViewer.ProcessingMode = ProcessingMode.Local;
            LocalReport rep = _reportViewer.LocalReport;

            System.Drawing.Printing.Margins m = new System.Drawing.Printing.Margins();
            m.Left   = 0;
            m.Right  = 0;
            m.Top    = 0;
            m.Bottom = 0;

            System.Drawing.Printing.PageSettings p = new System.Drawing.Printing.PageSettings();
            p.Margins = m;
            _reportViewer.SetPageSettings(p);
            rep.ReportPath = "BPDReport.rdlc";

            rep.DataSources.Clear();

            ReportParameter p1 = new ReportParameter("BPDID", bpd);

            _reportViewer.LocalReport.SetParameters(p1);

            rep.DataSources.Add(rds);
            _reportViewer.RefreshReport();
        }
Exemple #2
0
 /// <summary>
 /// 绘制页面边框
 /// </summary>
 /// <param name="bounds">页面边框</param>
 /// <param name="m">页边距对象</param>
 /// <param name="g">图形绘制对象</param>
 /// <param name="ClipRectangle">剪切矩形</param>
 /// <param name="HightlightingBorder">是否高亮度显示边框</param>
 /// <param name="FillBackground">是否填充背景</param>
 public /*static*/ void DrawPageFrame(
     System.Drawing.Rectangle bounds,
     System.Drawing.Printing.Margins m,
     System.Drawing.Graphics g,
     System.Drawing.Rectangle ClipRectangle,
     bool HightlightingBorder,
     bool FillBackground)
 {
     this.Bounds      = bounds;
     this.Margins     = m;
     this.BorderWidth = 1;
     //TODO 页面边框
     if (HightlightingBorder)
     {
         this.BorderColor = System.Drawing.Color.Black;
     }//this.BorderColor = this.BorderColor;//System.Drawing.Color.SkyBlue;
     else
     {
         this.BorderColor = System.Drawing.Color.Gray;
     }
     this.BorderWidth = 1;
     if (FillBackground)
     {
         this.BackColor = System.Drawing.Color.White;
     }
     else
     {
         this.BackColor = System.Drawing.Color.Transparent;
     }
     this.DrawPageFrame(g, ClipRectangle);
 }
Exemple #3
0
 public PageSettings(System.Drawing.Printing.PrinterSettings printerSettings)
 {
     this.color           = TriState.Default;
     this.landscape       = TriState.Default;
     this.margins         = new System.Drawing.Printing.Margins();
     this.printerSettings = printerSettings;
 }
 //获取页面设置信息
 public void LoadPageSetting()
 {
     System.Drawing.Printing.Margins margins = new System.Drawing.Printing.Margins(30, 30, (_IsBill ? 190 : (_PrintHeader.Contains("对账单") ? 145 : 120)), _IsBill ? 70 : 40);
     ////System.Drawing.Printing.Margins margins = new System.Drawing.Printing.Margins(10, 10, (_IsBill ? 160 : 120), _IsBill ? 70 : 40);
     ps.PageSettings.Assign(margins, _paperKind, _paperSize, _landScape);
     //ps.PageSettings.Assign(margins, _paperKind, _landScape);
 }
        private void PrintingSystem_AfterMarginsChange(object sender, DevExpress.XtraPrinting.MarginsChangeEventArgs e)
        {
            Convert.ToInt32(Math.Round(e.Value));
            switch (e.Side)
            {
            case MarginSide.Left:
                Margins = new System.Drawing.Printing.Margins((int)e.Value, Margins.Right, Margins.Top, Margins.Bottom);
                CreateDocument();
                break;

            case MarginSide.Right:
                Margins = new System.Drawing.Printing.Margins(Margins.Left, (int)e.Value, Margins.Top, Margins.Bottom);
                CreateDocument();
                break;

            case MarginSide.Top:
                Margins = new System.Drawing.Printing.Margins(Margins.Left, Margins.Right, (int)e.Value, Margins.Bottom);
                CreateDocument();
                break;

            case MarginSide.Bottom:
                Margins = new System.Drawing.Printing.Margins(Margins.Left, Margins.Right, Margins.Top, (int)e.Value);
                CreateDocument();
                break;

            case MarginSide.All:
                Margins = (sender as DevExpress.XtraPrinting.PrintingSystemBase).PageSettings.Margins;
                CreateDocument();
                break;

            default:
                break;
            }
        }
Exemple #6
0
    private void pictureBox1_Paint(object sender, PaintEventArgs e)
    {
        // smooth graphics
        e.Graphics.SmoothingMode = SmoothingMode.AntiAlias;
        // set margins inside the control client area in pixels
        var margin = new System.Drawing.Printing.Margins(16, 16, 16, 16);
        // set the domain of (x,y) values
        var range = new RectangleF(-3, -3, 6, 6);

        // scale graphics
        ScaleGraphics(e.Graphics, pictureBox1, range, margin);
        // convert points to pixels
        PointF[] pixels = points.Select((v) => v.ToPoint()).ToArray();
        // draw arrow axes
        using (var pen = new Pen(Color.Black, 0))
        {
            pen.EndCap = System.Drawing.Drawing2D.LineCap.ArrowAnchor;
            e.Graphics.DrawLine(pen, range.Left, 0.0f, range.Right, 0.0f);
            e.Graphics.DrawLine(pen, 0.0f, range.Top, 0.0f, range.Bottom);
        }
        // draw bounding rectangle (on margin)
        using (var pen = new Pen(Color.LightGray, 0))
        {
            pen.DashStyle = DashStyle.Dash;
            e.Graphics.DrawRectangle(pen, Rectangle.Round(range));
        }
        // draw curve
        using (var pen = new Pen(Color.Blue, 0))
        {
            //e.Graphics.DrawLines(pen, pixels);
            e.Graphics.DrawCurve(pen, pixels);
        }
    }
Exemple #7
0
 /// <summary>
 /// 初始化对象
 /// </summary>
 /// <param name="bounds">页面边框</param>
 /// <param name="m">页边距对象</param>
 public PageFrameDrawer(
     System.Drawing.Rectangle bounds,
     System.Drawing.Printing.Margins m)
 {
     this.myBounds = bounds;
     this.Margins  = m;
 }
 public void DefaultReportMargin()
 {
     System.Drawing.Printing.Margins margin = new System.Drawing.Printing.Margins(Sut.LeftMargin, Sut.RightMargin,
                                                                                  Sut.TopMargin, Sut.BottomMargin);
     Assert.AreEqual(margin.Left, Sut.LeftMargin);
     Assert.AreEqual(GlobalValues.DefaultPageMargin, margin);
 }
Exemple #9
0
        ///<summary>This gives the number of pages required to print all fields. This must be calculated ahead of time when creating multi page pdfs.</summary>
        public static int CalculatePageCount(Sheet sheet, System.Drawing.Printing.Margins m)
        {
            //HeightLastField takes the bottom bounds (sum of lengths of Y. Ex. Y=0 to Y=1099, bounds=1100).
            //HeightPage is the value of Width/Length depending on Landscape/Portrait.
            if (sheet.HeightLastField <= sheet.HeightPage && sheet.SheetType != SheetTypeEnum.MedLabResults) //MedLabResults always implements footer, needs true multi-page count
            {
                return(1);                                                                                   //if all of the fields are less than one page, even if some of the fields fall within the margin of the first page.
            }
            if (SheetTypeIsSinglePage(sheet.SheetType))
            {
                return(1);               //labels and RX forms are always single pages
            }
            SetPageMargin(sheet, m);
            int printableHeightPerPage = (sheet.HeightPage - (m.Top + m.Bottom));

            if (printableHeightPerPage < 1)
            {
                return(1);               //otherwise we get negative, infinite, or thousands of pages.
            }
            int maxY = 0;

            for (int i = 0; i < sheet.SheetFields.Count; i++)
            {
                maxY = Math.Max(maxY, sheet.SheetFields[i].Bounds.Bottom);
            }
            int pageCount = 1;

            maxY     -= m.Top;                  //adjust for ignoring the top margin of the first page.
            pageCount = Convert.ToInt32(Math.Ceiling((double)maxY / printableHeightPerPage));
            pageCount = Math.Max(pageCount, 1); //minimum of at least one page.
            return(pageCount);
        }
 public PageSettings(System.Drawing.Printing.PrinterSettings printerSettings)
 {
     this.color = TriState.Default;
     this.landscape = TriState.Default;
     this.margins = new System.Drawing.Printing.Margins();
     this.printerSettings = printerSettings;
 }
Exemple #11
0
 public Margins(int left, int right, int top, int bottom)
 {
     this._left   = left;
     this._right  = right;
     this._top    = top;
     this._bottom = bottom;
     _margins     = new System.Drawing.Printing.Margins(_left, _right, _top, _bottom);
 }
Exemple #12
0
 public Margins(int allMargins)
 {
     this._left   = allMargins;
     this._right  = allMargins;
     this._top    = allMargins;
     this._bottom = allMargins;
     _margins     = new System.Drawing.Printing.Margins(_left, _right, _top, _bottom);
 }
        private void PrintingSystem_PageSettingsChanged(object sender, EventArgs e)
        {
            XtraPageSettingsBase pageSettings = ((PrintingSystemBase)sender).PageSettings;

            PaperKind = pageSettings.PaperKind;
            Landscape = pageSettings.Landscape;
            Margins   = new System.Drawing.Printing.Margins(pageSettings.LeftMargin, pageSettings.RightMargin, pageSettings.TopMargin, pageSettings.BottomMargin);
            CreateDocument();
        }
Exemple #14
0
        public void DefaultReportMargin()
        {
            ReportSettings rs = new ReportSettings();

            System.Drawing.Printing.Margins margin = new System.Drawing.Printing.Margins(rs.LeftMargin, rs.RightMargin,
                                                                                         rs.TopMargin, rs.BottomMargin);
            Assert.AreEqual(margin.Left, rs.LeftMargin);
            Assert.AreEqual(GlobalValues.DefaultPageMargin, margin);
        }
        private void readPageSetting(DIYReport.ReportModel.RptReport dataReport, DevExpress.XtraPrinting.Link printLink)
        {
            string sessionName = getSessionName(dataReport);

            System.Drawing.Printing.Margins margins = printLink.Margins;
            margins.Left   = int.Parse(IniFile.ReadString(sessionName, "LeftMargin", margins.Left.ToString(), DIY_REPORT_CFG_FILE));
            margins.Top    = int.Parse(IniFile.ReadString(sessionName, "TopMargin", margins.Top.ToString(), DIY_REPORT_CFG_FILE));
            margins.Right  = int.Parse(IniFile.ReadString(sessionName, "RightMargin", margins.Right.ToString(), DIY_REPORT_CFG_FILE));
            margins.Bottom = int.Parse(IniFile.ReadString(sessionName, "BottomMargin", margins.Bottom.ToString(), DIY_REPORT_CFG_FILE));
        }
Exemple #16
0
        public Margins(System.Drawing.Printing.Margins value)
        {
            // TODO: Complete member initialization
            this._margins = value;

            _left   = _margins.Left;
            _right  = _margins.Right;
            _top    = _margins.Top;
            _bottom = _margins.Bottom;
        }
Exemple #17
0
 private void PrintProc()
 {
     printDocument1.PrintPage += new System.Drawing.Printing.PrintPageEventHandler(Pd_PrintPage);
     printDocument1.DefaultPageSettings.Landscape = true;
     // 余白設定 左上右下
     System.Drawing.Printing.Margins margins = new System.Drawing.Printing.Margins(25, 25, 100, 25);
     printDocument1.DefaultPageSettings.Margins = margins;
     printDialog1.Document = printDocument1;
     if (printDialog1.ShowDialog() == DialogResult.OK)
     {
         printDocument1.Print();
     }
 }
 /// <summary>
 /// Update the default bounds and margins after the printer settings changed.
 /// This function must be called manually after a page setup dialog.
 /// </summary>
 public void UpdateBoundsAndMargins()
 {
     if (_printerSettings.IsValid)
     {
         _printerPageBounds = _printDocument.DefaultPageSettings.Bounds;
         _printerMargins    = _printDocument.DefaultPageSettings.Margins;
     }
     else // obviously no printer installed, use A4 size (sorry, this is european size)
     {
         _printerPageBounds = new System.Drawing.RectangleF(0, 0, 1169, 826);
         _printerMargins    = new System.Drawing.Printing.Margins(50, 50, 50, 50);
     }
 }
    /// <summary>
    /// Update the default bounds and margins after the printer settings changed.
    /// This function must be called manually after a page setup dialog.
    /// </summary>
    public void UpdateBoundsAndMargins()
    {
      if (_printerSettings.IsValid)
      {
        _printerPageBounds = _printDocument.DefaultPageSettings.Bounds;
        _printerMargins = _printDocument.DefaultPageSettings.Margins;
      }
      else // obviously no printer installed, use A4 size (sorry, this is european size)
      {
        _printerPageBounds = new System.Drawing.RectangleF(0, 0, 1169, 826);
        _printerMargins = new System.Drawing.Printing.Margins(50, 50, 50, 50);
      }

    }
        public void SetPrintSetting(WebbReport webbReport, GridView _GridView)
        {
            Size size = webbReport.GetNoDealedSizePerPage();

            pageSize = size;

            size.Width += 100;

            this.picHeader.Size = size;

            this.pageMargins = webbReport.Margins;

            this.picHeader.Invalidate();

            gridView = _GridView;
        }
        //保存在浏览中设置的边框
        private void savePageSetting(DIYReport.ReportModel.RptReport dataReport, System.Drawing.Printing.Margins margins, string paperName, string paperKind)
        {
            string sessionName = getSessionName(dataReport);

            IniFile.WriteString(sessionName, "LeftMargin", margins.Left.ToString(), DIY_REPORT_CFG_FILE);
            IniFile.WriteString(sessionName, "TopMargin", margins.Top.ToString(), DIY_REPORT_CFG_FILE);
            IniFile.WriteString(sessionName, "RightMargin", margins.Right.ToString(), DIY_REPORT_CFG_FILE);
            IniFile.WriteString(sessionName, "BottomMargin", margins.Bottom.ToString(), DIY_REPORT_CFG_FILE);
            if (paperKind != null && paperKind.Length > 0)
            {
                IniFile.WriteString(sessionName, "PaperKind", paperKind, DIY_REPORT_CFG_FILE);
            }
            if (paperName != null && paperName.Length > 0)
            {
                IniFile.WriteString(sessionName, "PaperName", paperName, DIY_REPORT_CFG_FILE);
            }
        }
        public override void CreateDataSection(ICSharpCode.Reports.Core.BaseSection section)
        {
            if (section == null)
            {
                throw new ArgumentNullException("section");
            }
            System.Drawing.Printing.Margins margin = GlobalValues.ControlMargins;

            ICSharpCode.Reports.Core.BaseTableItem table     = new ICSharpCode.Reports.Core.BaseTableItem();
            ICSharpCode.Reports.Core.BaseRowItem   detailRow = new ICSharpCode.Reports.Core.BaseRowItem();

            table.Name     = "Table1";
            base.Container = table;
            AdjustContainer(base.ReportModel.DetailSection, table);
            base.ReportModel.DetailSection.Items.Add(table);

            ICSharpCode.Reports.Core.BaseRowItem headerRow = CreateRowWithTextColumns(Container);
            Container.Items.Add(headerRow);

            Point insertLocation = new Point(margin.Left, headerRow.Location.Y + headerRow.Size.Height + margin.Bottom + margin.Top);


            if (base.ReportModel.ReportSettings.GroupColumnsCollection.Count > 0)
            {
                //Groupheader
                var groupHeader = base.CreateGroupHeader(insertLocation);
                Container.Items.Add(groupHeader);
                insertLocation = new Point(margin.Left, insertLocation.Y + groupHeader.Size.Height + margin.Bottom + margin.Top);

                //Detail
                CreateDetail(detailRow, insertLocation);
                Container.Items.Add(detailRow);

                // GroupFooter
                var groupFooter = base.CreateFooter(new Point(margin.Left, 130));
                Container.Items.Add(groupFooter);
            }
            else
            {
                CreateDetail(detailRow, insertLocation);
                Container.Items.Add(detailRow);
            }

            CalculateContainerSize();
            section.Size = new Size(section.Size.Width, Container.Size.Height + margin.Top + margin.Bottom);
        }
Exemple #23
0
        protected void Stampa(System.Windows.Forms.DataVisualization.Charting.Chart grafico_)
        {
            il_grafico = grafico_;

            using (var pd = new System.Drawing.Printing.PrintDocument())
            {
                var m = new System.Drawing.Printing.Margins(0, 0, 0, 0);

                il_grafico.Printing.PrintDocument            = pd;
                il_grafico.Printing.PrintDocument.PrintPage += pd_PrintPage;

                il_grafico.Printing.PrintDocument.DefaultPageSettings.Margins   = m;
                il_grafico.Printing.PrintDocument.DefaultPageSettings.Landscape = true;

                il_grafico.Printing.PrintPreview();
            }
        }
Exemple #24
0
        public override void CreateDataSection(ICSharpCode.Reports.Core.BaseSection section)
        {
            if (section == null)
            {
                throw new ArgumentNullException("section");
            }
            System.Drawing.Printing.Margins margin = GlobalValues.ControlMargins;

            ICSharpCode.Reports.Core.BaseTableItem table = new ICSharpCode.Reports.Core.BaseTableItem();
            table.Name = "Table1";

            AdjustContainer(base.ReportModel.DetailSection, table);

            ICSharpCode.Reports.Core.BaseRowItem r1 = CreateRowWithTextColumns(table,
                                                                               this.reportItems);


            ICSharpCode.Reports.Core.BaseRowItem r2 = new ICSharpCode.Reports.Core.BaseRowItem();

            AdjustContainer(table, r2);

            r2.Location = new Point(margin.Left,
                                    r1.Location.Y + r1.Size.Height + margin.Bottom + margin.Top);

            int defX = r2.Size.Width / this.reportItems.Count;

            int startX = r2.Location.X + margin.Left;

            foreach (ICSharpCode.Reports.Core.BaseReportItem ir in this.reportItems)
            {
                Point np = new Point(startX, margin.Top);
                startX     += defX;
                ir.Location = np;
                ir.Parent   = r2;
                r2.Items.Add(ir);
            }

            table.Size = new Size(table.Size.Width,
                                  margin.Top + r1.Size.Height + margin.Bottom + r2.Size.Height + margin.Bottom);
            section.Size = new Size(section.Size.Width, table.Size.Height + margin.Top + margin.Bottom);
            table.Items.Add(r1);
            table.Items.Add(r2);
            base.ReportModel.DetailSection.Items.Add(table);
        }
Exemple #25
0
        void PrintingSystem_AfterMarginsChange(object sender, MarginsChangeEventArgs e)
        {
            switch (e.Side)
            {
            case MarginSide.Left:
                Margins = new System.Drawing.Printing.Margins((int)e.Value, Margins.Right, Margins.Top, Margins.Bottom);
                CreateDocument();
                break;

            case MarginSide.Right:
                Margins = new System.Drawing.Printing.Margins(Margins.Left, (int)e.Value, Margins.Top, Margins.Bottom);
                CreateDocument();
                break;

            case MarginSide.All:
                Margins = ((PrintingSystemBase)sender).PageSettings.Margins;
                CreateDocument();
                break;
            }
        }
        /// <summary>
        /// 根据dataReport 设置printingSystem 的 pageSetting 信息。
        /// </summary>
        /// <param name="dataReport"></param>
        public void SetPrintPageInfo(DIYReport.ReportModel.RptReport dataReport)
        {
            var existsPrinter = DIYReport.Common.EnumPrintersHelperEx.CheckExistsPrinter(dataReport.PrintName);

            if (existsPrinter)
            {
                printingSystem.PageSettings.PrinterName = dataReport.PrintName;
            }

            printingSystem.PageSettings.Landscape = dataReport.IsLandscape;

            System.Drawing.Printing.Margins mrg = dataReport.Margins;             //DIYReport.PublicFun.GetRegionMargins(dataReport.Margins);
            printingSystem.PageSettings.LeftMargin   = mrg.Left;
            printingSystem.PageSettings.TopMargin    = mrg.Top;
            printingSystem.PageSettings.RightMargin  = mrg.Right;
            printingSystem.PageSettings.BottomMargin = mrg.Bottom;

            printingSystem.PageSettings.PaperKind = dataReport.PaperKind;
            printingSystem.PageSettings.PaperName = dataReport.PaperName;
        }
Exemple #27
0
        /// <summary>
        /// 预览当前设计Bom信息
        /// </summary>
        private void btnPreview_Click(object sender, EventArgs e)
        {
            try
            {
                if (!FrmMainDAO.QueryUserButtonPower(this.Name, this.Text, sender, true))
                {
                    return;
                }

                if (treeListDesignBom.Nodes.Count > 0)
                {
                    //treeListDesignBom.ShowPrintPreview();

                    CompositeLink          compLink     = new CompositeLink(new PrintingSystem());
                    PrintableComponentLink treeListLink = new PrintableComponentLink();
                    treeListLink.Component = treeListDesignBom;
                    compLink.PaperKind     = System.Drawing.Printing.PaperKind.A4;//设置纸张大小
                    System.Drawing.Printing.Margins margins = new System.Drawing.Printing.Margins(50, 50, 100, 50);
                    compLink.Margins = margins;

                    PageHeaderFooter phf = compLink.PageHeaderFooter as PageHeaderFooter;
                    phf.Header.Content.Clear();
                    phf.Header.Content.AddRange(new string[] { "", "设计Bom登记单", "" });
                    phf.Header.Font          = new System.Drawing.Font("宋体", 22, System.Drawing.FontStyle.Bold);
                    phf.Header.LineAlignment = BrickAlignment.Center;

                    phf.Footer.Content.AddRange(new string[] { "", String.Format("打印时间: {0:g}", DateTime.Now), "" });

                    Link headerLink = new Link();
                    headerLink.CreateDetailArea += new CreateAreaEventHandler(HeaderLink_CreateDetailArea);
                    compLink.Links.Add(headerLink);
                    compLink.Links.Add(treeListLink);

                    compLink.ShowRibbonPreviewDialog(treeListDesignBom.LookAndFeel);
                }
            }
            catch (Exception ex)
            {
                ExceptionHandler.HandleException(this.Text + "--预览当前设计Bom信息错误。", ex);
            }
        }
Exemple #28
0
 public static void SetPageMargin(Sheet sheet, System.Drawing.Printing.Margins m)
 {
     m.Left  = 0;
     m.Right = 0;
     if (SheetTypeIsSinglePage(sheet.SheetType))
     {
         m.Top    = 0;
         m.Bottom = 0;
         //m=new System.Drawing.Printing.Margins(0,0,0,0); //does not work, creates new reference.
     }
     else
     {
         m.Top = 40;
         if (sheet.SheetType == SheetTypeEnum.MedLabResults)
         {
             m.Top = 120;
         }
         m.Bottom = 60;
     }
     return;
 }
Exemple #29
0
        /// <summary>
        /// Update the default bounds and margins after the printer settings changed.
        /// This function must be called manually after a page setup dialog.
        /// </summary>
        public void UpdateBoundsAndMargins()
        {
            bool validPage = false;

            if (_printerSettings.IsValid)
            {
                _printerPageBounds = _printDocument.DefaultPageSettings.Bounds;
                _printerMargins    = _printDocument.DefaultPageSettings.Margins;

                // check the values
                validPage  = true;
                validPage &= _printerPageBounds.Height > 0;
                validPage &= _printerPageBounds.Width > 0;
                validPage &= _printerPageBounds.Height > (_printerMargins.Top + _printerMargins.Bottom);
                validPage &= _printerPageBounds.Width > (_printerMargins.Left + _printerMargins.Right);
            }

            if (!validPage)// obviously no printer installed, use A4 size (sorry, this is european size)
            {
                _printerPageBounds = new System.Drawing.RectangleF(0, 0, 1169, 826);
                _printerMargins    = new System.Drawing.Printing.Margins(50, 50, 50, 50);
            }
        }
Exemple #30
0
		/// <summary>
		/// Update the default bounds and margins after the printer settings changed.
		/// This function must be called manually after a page setup dialog.
		/// </summary>
		public void UpdateBoundsAndMargins()
		{
			bool validPage = false;

			if (_printerSettings.IsValid)
			{
				_printerPageBounds = _printDocument.DefaultPageSettings.Bounds;
				_printerMargins = _printDocument.DefaultPageSettings.Margins;

				// check the values
				validPage = true;
				validPage &= _printerPageBounds.Height > 0;
				validPage &= _printerPageBounds.Width > 0;
				validPage &= _printerPageBounds.Height > (_printerMargins.Top + _printerMargins.Bottom);
				validPage &= _printerPageBounds.Width > (_printerMargins.Left + _printerMargins.Right);
			}

			if (!validPage)// obviously no printer installed, use A4 size (sorry, this is european size)
			{
				_printerPageBounds = new System.Drawing.RectangleF(0, 0, 1169, 826);
				_printerMargins = new System.Drawing.Printing.Margins(50, 50, 50, 50);
			}
		}
Exemple #31
0
        /// <summary>
        /// 绘制页面边框
        /// </summary>
        /// <param name="bounds">页面边框</param>
        /// <param name="m">页边距对象</param>
        /// <param name="g">图形绘制对象</param>
        /// <param name="ClipRectangle">剪切矩形</param>
        /// <param name="HightlightingBorder">是否高亮度显示边框</param>
        /// <param name="FillBackground">是否填充背景</param>
        public static void DrawPageFrame(
            System.Drawing.Rectangle bounds,
            System.Drawing.Printing.Margins m,
            System.Drawing.Graphics g,
            System.Drawing.Rectangle ClipRectangle,
            bool HightlightingBorder,
            System.Drawing.Color PageBackColor)
        {
            PageFrameDrawer drawer = new PageFrameDrawer();

            drawer.Bounds  = bounds;
            drawer.Margins = m;
            if (HightlightingBorder)
            {
                drawer.BorderColor = System.Drawing.Color.Blue;
            }
            else
            {
                drawer.BorderColor = System.Drawing.Color.Black;
            }
            drawer.BorderWidth = 5;
            drawer.BackColor   = PageBackColor;
            drawer.DrawPageFrame(g, ClipRectangle);
        }
Exemple #32
0
        /// <summary>
        /// Sets the page bounds of the graph document according to the current printer settings
        /// </summary>
        public void SetGraphPageBoundsToPrinterSettings()
        {
            if (null != Current.PrintingService) // if we are at design time, this is null and we use the default values above
            {
                RectangleF pageBounds = Current.PrintingService.PrintingBounds;
                System.Drawing.Printing.Margins ma = Current.PrintingService.PrintingMargins;

                // since Bounds are in 100th inch, we have to adjust them to points (72th inch)
                pageBounds.X      *= UnitPerInch / 100;
                pageBounds.Y      *= UnitPerInch / 100;
                pageBounds.Width  *= UnitPerInch / 100;
                pageBounds.Height *= UnitPerInch / 100;

                RectangleF printableBounds = new RectangleF();
                printableBounds.X      = ma.Left * UnitPerInch / 100;
                printableBounds.Y      = ma.Top * UnitPerInch / 100;
                printableBounds.Width  = pageBounds.Width - ((ma.Left + ma.Right) * UnitPerInch / 100);
                printableBounds.Height = pageBounds.Height - ((ma.Top + ma.Bottom) * UnitPerInch / 100);


                this.PageBounds      = pageBounds;
                this.PrintableBounds = printableBounds;
            }
        }
Exemple #33
0
 public Margins(int allMargins)
 {
     this._left = allMargins;
     this._right = allMargins;
     this._top = allMargins;
     this._bottom = allMargins;
     _margins = new System.Drawing.Printing.Margins(_left, _right, _top, _bottom);
 }
Exemple #34
0
        public Margins(System.Drawing.Printing.Margins value)
        {
            // TODO: Complete member initialization
            this._margins = value;

            _left = _margins.Left;
            _right = _margins.Right;
            _top = _margins.Top;
            _bottom = _margins.Bottom;
        }
 public void SetPagetSettings(System.Drawing.Printing.PageSettings ps)
 {
     myPaperSize  = ps.PaperSize;
     myMargins    = ps.Margins;
     bolLandscape = ps.Landscape;
 }
Exemple #36
0
        private void Print()
        {
            //打印
            printDocument1.PrinterSettings.PrinterName = m_PoundRoomArray[m_iSelectedPound].PRINTERNAME;//EPSON BA-T500 Full cut
            System.Drawing.Printing.Margins margins = new System.Drawing.Printing.Margins(0, 0, 0, 0);
            printDocument1.DefaultPageSettings.Margins = margins;
            printDocument1.Print();

            //预览
            //PrintPreviewDialog dialog = new PrintPreviewDialog();
            //dialog.Document = this.printDocument1;
            //dialog.PrintPreviewControl.AutoZoom = false;
            //dialog.PrintPreviewControl.Zoom = 0.75;
            //dialog.ShowDialog();
        }
Exemple #37
0
        private void Print()
        {
            try
            {
                if (this.ultraGrid2.Rows.Count == 0 || this.ultraGrid2.ActiveRow == null)
                    return;
                if (this.ultraGrid1.Rows.Count == 0 || this.ultraGrid1.ActiveRow == null || this.ultraGrid1.ActiveRow.Cells["FS_BATCHNO"].Text != this.ultraGrid2.ActiveRow.Cells["FS_BATCHNO"].Text)
                    return;

                string strBarCode = this.ultraGrid2.ActiveRow.Cells["FS_LABELID"].Text.Trim();

                m_BarCodeStruct.BatchNo = this.ultraGrid2.ActiveRow.Cells["FS_BATCHNO"].Text.Trim();//轧制批号
                m_BarCodeStruct.BandNo = this.ultraGrid2.ActiveRow.Cells["FN_BANDNO"].Text.Trim();//分卷号

                //if (this.ultraGrid1.ActiveRow.Cells["FS_PRINTCARDTYPE"].Text.Trim() == "1")
                //    m_BarCodeStruct.PrintCardType = "1";
                //else
                //    m_BarCodeStruct.PrintCardType = "0";

                if ((this.ultraGrid1.ActiveRow.Cells["FS_STEELTYPE"].Text.Trim() == "BL2D" || this.ultraGrid1.ActiveRow.Cells["FS_STEELTYPE"].Text.Trim() == "BL2E") && Convert.ToSingle(this.ultraGrid1.ActiveRow.Cells["FS_SPEC"].Text.Trim()) < 22)
                    m_BarCodeStruct.SteelType = "BL2";
                else
                    m_BarCodeStruct.SteelType = this.ultraGrid1.ActiveRow.Cells["FS_STEELTYPE"].Text.Trim();

                m_BarCodeStruct.Spec = this.ultraGrid1.ActiveRow.Cells["FS_SPEC"].Text.Trim();
                m_BarCodeStruct.Weight = (Math.Round(Convert.ToDecimal(this.ultraGrid2.ActiveRow.Cells["FN_WEIGHT"].Text), 3) * 1000).ToString();
                m_BarCodeStruct.BarCode = strBarCode;
                //m_BarCodeStruct.Date = DateTime.Now;
                m_BarCodeStruct.Date = Convert.ToDateTime(this.ultraGrid2.ActiveRow.Cells["FD_DATETIME"].Text.Trim());
                m_BarCodeStruct.Term = this.ultraGrid2.ActiveRow.Cells["FS_TERM"].Text.Trim();//m_szCurBZ;

                if (this.ultraGrid1.ActiveRow.Cells["FS_STEELTYPE"].Text.Trim() == "HPB235")
                    m_BarCodeStruct.PrintCardType = "0";
                else
                    m_BarCodeStruct.PrintCardType = "1";

                if (this.cbPrintStandard.Checked)
                    m_BarCodeStruct.PrintStandard = "1";
                else
                    m_BarCodeStruct.PrintStandard = "0";

                if (this.cbPrintAddress.Checked)
                    m_BarCodeStruct.PrintAddress = "1";
                else
                    m_BarCodeStruct.PrintAddress = "0";

                if (this.cbPrintSteelType.Checked)
                    m_BarCodeStruct.PrintSteelType = "1";
                else
                    m_BarCodeStruct.PrintSteelType = "0";

                m_BarCodeStruct.Standard = QueryStandardBySteelType(m_BarCodeStruct.SteelType);

                //打印
                printDocument1.PrinterSettings.PrinterName = "K22";
                System.Drawing.Printing.Margins margins = new System.Drawing.Printing.Margins(0, 0, 0, 0);
                printDocument1.DefaultPageSettings.Margins = margins;
                printDocument1.Print();
                System.Threading.Thread.Sleep(100);
                printDocument1.Print();

                //PrintPreviewDialog dialog = new PrintPreviewDialog();
                //dialog.Document = this.printDocument1;
                //dialog.PrintPreviewControl.AutoZoom = false;
                //dialog.PrintPreviewControl.Zoom = 0.75;
                //dialog.ShowDialog();

            }
            catch (Exception exp)
            {
                MessageBox.Show(exp.Message);
            }
        }
Exemple #38
0
        /// <summary>
        /// 根据配置文件重新设置PrintDocument对象
        /// </summary>
        /// <param name="pd"></param>
        /// <param name="key"></param>
        /// <returns></returns>
        public static bool SetPrintDocumentByConfig(System.Drawing.Printing.PrintDocument pd, string key)
        {
            string setting = Util.GetAppConfig(key);
            if (setting == null)
            {
                setting = "";
            }
            Hashtable hash = new Hashtable();
            hash = new JavaScriptSerializer().Deserialize<Hashtable>(setting);
            if (hash != null)
            {
                //// 边距
                //int top = (hash["MarginTop"] == null) ? 0 : Util.CmToPrintMg(hash["MarginRight"].ToString());
                //int right = (hash["MarginRight"] == null) ? 0 : Util.CmToPrintMg(hash["MarginRight"].ToString());
                //int bottom = (hash["MarginBottom"] == null) ? 0 : Util.CmToPrintMg(hash["MarginBottom"].ToString());
                //int left = (hash["MarginRight"] == null) ? 0 : Util.CmToPrintMg(hash["MarginRight"].ToString()) ;

                int left = (hash["MarginLeft"] == null) ? 0 : Util.InchToPrintMg(hash["MarginLeft"].ToString());
                int right = (hash["MarginRight"] == null) ? 0 : Util.InchToPrintMg(hash["MarginRight"].ToString());
                int top = (hash["MarginTop"] == null) ? 0 : Util.InchToPrintMg(hash["MarginTop"].ToString());
                int bottom = (hash["MarginBottom"] == null) ? 0 : Util.InchToPrintMg(hash["MarginBottom"].ToString());

                System.Drawing.Printing.Margins mg = new System.Drawing.Printing.Margins(left, right, top, bottom);
                pd.DefaultPageSettings.Margins = mg;

                // 打印机和纸张
                if (hash["Printer"] != null)
                {
                    foreach (String printer in System.Drawing.Printing.PrinterSettings.InstalledPrinters)
                    {
                        if (hash["Printer"].ToString() == printer)
                        {
                            pd.PrinterSettings.PrinterName = printer;
                            if (hash["Paper"] != null)
                            {
                                foreach (System.Drawing.Printing.PaperSize ps in pd.PrinterSettings.PaperSizes)
                                {
                                    if (ps.PaperName == hash["Paper"].ToString())
                                    {
                                        pd.PrinterSettings.DefaultPageSettings.PaperSize = ps;
                                        pd.DefaultPageSettings.PaperSize = ps;
                                        break;
                                    }
                                }
                            }
                            break;
                        }
                    }
                }

                // 横纵向
                if (hash["LandScape"] != null)
                {
                    pd.DefaultPageSettings.Landscape = (hash["LandScape"].ToString().ToUpper() == "H") ? true : false;
                }

            }
            return true;
        }
Exemple #39
0
 public Margins(int left, int right, int top, int bottom)
 {
     this._left = left;
     this._right = right;
     this._top = top;
     this._bottom = bottom;
     _margins = new System.Drawing.Printing.Margins(_left, _right, _top, _bottom);
 }
Exemple #40
0
        private void Print1()
        {
            UltraGridRow ugr;
            ugr = this.ultraGrid3.ActiveRow;
            if (ugr == null)
            {
                MessageBox.Show("请在下列表格中选择要打印的数据");
                return;
            }

            //if (cbBF.SelectedValue == null || cbBF.SelectedValue.ToString().Trim() == "")
            //{
            //    MessageBox.Show("请选择打印的磅房");
            //    return;
            //}

            //PrintPreviewDialog dialog = new PrintPreviewDialog();
            //dialog.Document = this.printDocument1;
            //dialog.PrintPreviewControl.AutoZoom = false;
            //dialog.PrintPreviewControl.Zoom = 0.75;
            //dialog.ShowDialog();

            printDocument1.PrinterSettings.PrinterName = "JLDT";//EPSON BA-T500 Full cut
            System.Drawing.Printing.Margins margins = new System.Drawing.Printing.Margins(0, 0, 0, 0);
            printDocument1.DefaultPageSettings.Margins = margins;
            printDocument1.Print();
        }
		public void DefaultReportMargin ()
		{
			ReportSettings rs = new ReportSettings();
			System.Drawing.Printing.Margins margin = new System.Drawing.Printing.Margins(rs.LeftMargin,rs.RightMargin,
			                                                                             rs.TopMargin,rs.BottomMargin);
			Assert.AreEqual(margin.Left,rs.LeftMargin);
			Assert.AreEqual(GlobalValues.DefaultPageMargin,margin);
		}