• .net 生成pdf表格


    只需要建一个类文件就搞定了

     public class CreatePDF
        {
            public static CreatePDF Current { get { return new CreatePDF(); } }
            public void CreatePDFs(RBS.Models.UserConfirmModel Model)
            {
                Document document = new Document();
                string filepath = "/Upload/Pdf/";
                Directory.CreateDirectory(HttpContext.Current.Server.MapPath(filepath));
                PdfWriter.GetInstance(document, new FileStream(HttpContext.Current.Server.MapPath(filepath + "001.pdf"), FileMode.Create));
                document.Open();
                BaseFont bftitle = BaseFont.CreateFont(@"C:\WindowsFontsSIMHEI.TTF", BaseFont.IDENTITY_H, BaseFont.NOT_EMBEDDED);
                Font fonttitle = new Font(bftitle, 20, Font.UNDERLINE);
                BaseFont bf1 = BaseFont.CreateFont(@"C:\WindowsFontsSIMSUN.TTC,1", BaseFont.IDENTITY_H, BaseFont.NOT_EMBEDDED);
                Font font1 = new Font(bf1, 12);
                Font fonttitle10 = new Font(bf1, 12);
                Font fonttitle12 = new Font(bf1, 11);
                PdfPCell cellmode = new PdfPCell();
    
                cellmode.Padding = 0;
                Paragraph Title = new Paragraph("信息总表", fonttitle);
                Title.SetAlignment("center");
                document.Add(Title);
                PdfPTable topTable = new PdfPTable(1);
                PdfPCell topCell = new PdfPCell();
                topCell.PaddingTop = 10F;
                topCell.Colspan = 1;
                topCell.Border = 0;
                topTable.AddCell(topCell);
                document.Add(topTable);
                PdfPTable table = new PdfPTable(3);
                CreateCell(2, false, "广州XXXXXX公司", fonttitle10, "left", table);
                CreateCell(1, false, "字第190898765号", fonttitle10, "right", table);
                CreateCell(3, 5, 0, "兹批准  广州市XXXXXXX分公司 去购买下列物品", fonttitle10, "center", table);
                CreateCell(1, true, "物品名称", fonttitle10, "center", table);
                CreateCell(1, true, "数量", fonttitle10, "center", table);
                CreateCell(1, true, "备注", fonttitle10, "center", table);
                string[] arrNames = { "物品名称1", " 物品名称2", " ", " " };
                string[] arrCounts = { "10吨", "800公斤", "", "" };
                for (int i = 0; i < arrNames.Length; i++)
                {
                    CreateCell(1, 5, 1, arrNames[i], fonttitle10, "center", table);
                    CreateCell(1, 5, 1, arrCounts[i], fonttitle10, "center", table);
                    CreateCell(1, 5, 1, " ", fonttitle10, "center", table);
                }
                CreateCell(3, false, " 此证由填发日起止2013年03月19日有效 逾期作废", fonttitle10, "left", table);
                CreateCell(3, false, " 到本县、市以外购买物品时,必须经出售地政府机关在备注栏内盖章后方能有效", fonttitle10, "left", table);
                CreateCell(1, 5, 0, " 
    填发人:XXX", fonttitle10, "left", table);
                CreateCell(2, false, "广东省广州市
    2013年3月5日", fonttitle10, "right", table);
    
                document.Add(table);
                document.Close();
            }
    
    
            ///
            /// 生成单元格
            ///
            /// 合并列数
            /// 是否需要边框线
            /// 表格内显示的内容
            /// 内容字体
            /// 对齐方式
            /// 此单元格填充的表
            private void CreateCell(int Colspan, bool Border, string Content, Font font, string alignment, PdfPTable table)
            {
                if (Border)
                    CreateCell(Colspan, 0, 1, Content, font, alignment, table);
                else
                    CreateCell(Colspan, 0, Content, font, alignment, table);
            }
            ///
            /// 生成单元格
            ///
            /// 合并列数
            /// 间距
            /// 内容
            /// 字体
            /// 对齐方式
            /// 此单元格填充的表
            private void CreateCell(int Colspan, int Padding, string Content, Font font, string alignment, PdfPTable table)
            {
                CreateCell(Colspan, Padding, 0, Content, font, alignment, table);
            }
            ///
            /// 生成单元格
            ///
            /// 合并列数
            /// 间距
            /// 边框线
            /// 内容
            /// 字体
            /// 对齐方式
            /// 此单元格填充的表
            private void CreateCell(int Colspan, int Padding, int Border, string Content, Font font, string alignment, PdfPTable table)
            {
                CreateCell(Colspan, Padding, Border, 0, 0, Content, font, alignment, table);
            }
            ///
            /// 生成单元格
            ///
            /// 合并列数
            /// 间距
            /// 边框线
            /// 水平对齐方式
            /// 垂直对齐方式
            /// 内容
            /// 字体
            /// 对齐方式
            /// 此单元格填充的表
            private void CreateCell(int Colspan, int Padding, int Border, int HorizontalAlignment, int VerticalAlignment, string Content, Font font, string alignment, PdfPTable table)
            {
                PdfPCell cell = new PdfPCell();
                cell.Colspan = Colspan;
                cell.Padding = Padding;
                if (HorizontalAlignment > 0)
                    cell.HorizontalAlignment = HorizontalAlignment;
                if (VerticalAlignment > 0)
                    cell.VerticalAlignment = VerticalAlignment;
                if (Border == 0)
                    cell.Border = Border;
                Paragraph table_t = new Paragraph(Content, font);
                table_t.SetAlignment(alignment);
                cell.AddElement(table_t);
                table.AddCell(cell);
            }
    
        }
  • 相关阅读:
    Python正则表达式指南
    Python中的HTMLParser、cookielib抓取和解析网页、从HTML文档中提取链接、图像、文本、Cookies(二)
    Python中的urlparse、urllib抓取和解析网页(一)
    __name__ = '__main__'
    odoo context
    Python xlwt模块
    python中使用xlrd、xlwt操作excel
    odoo 下 get_object_reference 函数
    Python运算符
    jQuery实现contains方法不区分大小写的方法教程
  • 原文地址:https://www.cnblogs.com/zlzly/p/3488747.html
Copyright © 2020-2023  润新知