今天学习C# Itext大一点收获!

  protected void Page_Load(object sender, EventArgs e)
        {
            var doc1 = new Document(PageSize.A4, 50, 50, 20, 50);//设定PageSiza及marginleft,right,top,botton
            MemoryStream memory = new MemoryStream();
            PdfWriter pdfwriter = PdfWriter.GetInstance(doc1, memory);
            BaseFont bfChinese = BaseFont.CreateFont(@"C:\WINDOWS\Fonts\SIMKAI.TTF", BaseFont.IDENTITY_H, BaseFont.NOT_EMBEDDED);
            Font ChFont = new Font(bfChinese, 20);
            Font ChFont_blue = new Font(bfChinese, 20, Font.NORMAL, new BaseColor(0, 0, 0));//20代表字体大小,Font.NORMAL表示字体, new BaseColor(0, 0, 0)字体颜色
            Font ChFont_msg = new Font(bfChinese, 12, Font.ITALIC, BaseColor.RED);
            doc1.Open();
            doc1.Add(new Paragraph(1f, "Hello,大家好!", ChFont_blue));

            Chunk c = new Chunk("三层体系结构,是在客户端与数据库之间加入了一个中间层,也叫组件层。这里所说的三层体系,不是指物理上的三层,不是简单地放置三台机器就是三层体系结构,也不仅仅有B/S应用才是三层体系结构,三层是指逻辑上的三层,即使这三个层放置到一台机器上。 三层体系的应用程序将业务规则、数据访问、合法性校验等工作放到了中间层进行处理。通常情况下,客户端不直接与数据库进行交互,而是通过COM/DCOM通讯与中间层建立连接,再经由中间层与数据库进行交换.", ChFont);
            Phrase p1 = new Phrase(c);
            doc1.Add(p1);
            Chunk c1 = new Chunk("A开发人员可以将应用的商业逻辑放在中间层应用服务器上,把应用的业务逻辑与用户界面分开。在保证客户端功能的前提下,为用户提供一个简洁的界面。这意味着如果需要修改应用程序代码,只需要对中间层应用服务器进行修改,而不用修改成千上万的客户端应用程序。从而使开发人员可以专注于应用系统核心业务逻辑的分析、设计和开发,简化了应用系统的开发、更新和升级工作。", ChFont);
            Chunk c2 = new Chunk("B使用三层结构主要是使项目结构更清楚,分工更明确,有利于后期的维护和升级。它未必会提升性能,因为当子程序模块未执行结束时,主程序模块只能处于等待状态。", ChFont_blue);
            Chunk c3 = new Chunk("C本系统使用Microsoft Visual Studio 2005和Microsoft SQL Server 2005开发工具,而这两个开发工具相对而言也是比较简单、易学的。开发语言使用C#,这种面向对象语言,相对于C,C++而言也简单很多,主要是开发人员对C#更加熟悉。所以技术上也是可行的。", ChFont_msg);
            Phrase p2 = new Phrase();
            p2.Add(c1);
            p2.Add(c2);
            p2.Add(c3);
            Paragraph pg = new Paragraph(p2);
           
           // pg.SetAlignment("Justtify");//左右对齐
            pg.FirstLineIndent = 20f;//段落句首缩进
            pg.SetLeading(0.0f, 2.0f);  //设定行距
            doc1.Add(pg);
            //表格测试
            PdfPTable table = new PdfPTable(new float[] { 2, 1, 1, 3 });
            table.TotalWidth = 450f;
            table.LockedWidth = true;
            PdfPCell header = new PdfPCell(new Phrase("Header", new Font(Font.FontFamily.HELVETICA, 10f, Font.BOLD)));
            header.Colspan = 4;
            table.AddCell(header);
            table.AddCell("Cell 1");
            table.AddCell("Cell 2");
            table.AddCell("Cell 3");
            table.AddCell("Cell 4");
            PdfPCell itemname = new PdfPCell(new Phrase("检查项目", ChFont));
          
            itemname.Colspan = 1;
            table.AddCell(itemname);
            PdfPCell content = new PdfPCell(new Phrase("内容" + itemname.Width, ChFont));
            content.Colspan = 3;
            table.AddCell(content);
            PdfPCell rows = new PdfPCell(new Phrase("内容", ChFont));
            rows.Rowspan = 3;
            table.AddCell(rows);
            for (int i = 1; i <= 3; i++)
            {
                table.AddCell("Cell" + i.ToString() + "1");
                table.AddCell("Cell" + i.ToString() + "2");
                table.AddCell("Cell" + i.ToString() + "3");
            }
            table.AddCell("Row 1");
            PdfPCell row = new PdfPCell(new Phrase("合并3列3行A开发人员可以将应用的商业逻辑放在中间层应用服务器上,把应用的业务逻辑与用户界面分开。在保证客户端功能的前提下,为用户提供一个简洁的界面。这意味着如果需要修改应用程序代码,只需要对中间层应用服务器进行修改,而不用修改成千上万的客户端应用程序。从而使开发人员可以专注于应用系统核心业务逻辑的分析、设计和开发,简化了应用系统的开发、更新和升级工作。B使用三层结构主要是使项目结构更清楚,分工更明确,有利于后期的维护和升级。它未必会提升性能,因为当子程序模块未执行结束时,主程序模块只能处于等待状态。C本系统使用Microsoft Visual Studio 2005和Microsoft SQL Server 2005开发工具,而这两个开发工具相对而言也是比较简单、易学的。开发语言使用C#,这种面向对象语言,相对于C,C++而言也简单很多,主要是开发人员对C#更加熟悉。所以技术上也是可行的。", ChFont_blue));
            // Chunk c3 = new Chunk("C本系统使用Microsoft Visual Studio 2005和Microsoft SQL Server 2005开发工具,而这两个开发工具相对而言也是比较简单、易学的。开发语言使用C#,这种面向对象语言,相对于C,C++而言也简单很多,主要是开发人员对C#更加熟悉。所以技术上也是可行的。", ChFont));
            row.Rowspan = 3;
            row.Colspan = 3;
            table.AddCell(row);
            table.AddCell("Row 2");
            table.AddCell("Row 3");
            doc1.Add(table);
            doc1.Close();
            Response.Clear();
            Response.AddHeader("Content-Disposition", "attachment;filename=pdfExamply.pdf");
            Response.ContentType = "application/octet-stream";
            Response.OutputStream.Write(memory.GetBuffer(), 0, memory.GetBuffer().Length);
            Response.OutputStream.Flush();
            Response.OutputStream.Close();
            Response.Flush();
            Response.End();
        }


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值