Пример #1
0
 public PDFPageEvent(PDFUnit Unit)
 {
     unit = Unit;
 }
Пример #2
0
        /// <summary>
        /// 为PDF画一行内容
        /// </summary>
        /// <param name="headerfooter">页眉/页脚</param>
        /// <param name="line_number">行号, 起始1, 不能超过10</param>
        /// <param name="unit"></param>
        /// <param name="start_y">起始坐标Y(左上角原点,单位mm)</param>
        /// <param name="page_number">当前页码, 用于兼容之前版本设置</param>
        /// <returns>当前行的字体, 通常用于计算下一行高度</returns>
        public static Font drawContentLine(UIHeaderFooter headerfooter, int line_number, PDFUnit unit, float start_y, int page_number)
        {
            UIFont font;

            try
            {
                font = headerfooter.content_font_list[line_number - 1];
            }
            catch { font = new UIFont("微软雅黑", 9, FontStyle.Regular, Color.LightGray, AlignHorizontal.Left); }
            string text = "";

            try
            {
                text = headerfooter.content_list[line_number - 1];
            }
            catch { return(font.font); }
            if (text.isNull())
            {
                return(font.font);
            }
            text = text.Replace("{页码}", page_number.ToString());
            PointF start;

            switch (font.align)
            {
            case AlignHorizontal.Left:
            default:
                start = new PointF(unit.page_padding.left, start_y);
                break;

            case AlignHorizontal.Center:
                start = new PointF(unit.Width / 2, start_y);
                break;

            case AlignHorizontal.Right:
                start = new PointF(unit.Width - unit.page_padding.right, start_y);
                break;
            }
            unit.addText(text, font.font, font.color, start, font.align);
            return(font.font);
        }