iText itextsharp 生成 pdf表格表单 教程

iText itextsharp 生成 pdf表格表单 教程

C#制作PDF表单

    

PDF文件是目前比较流行的电子文档格式,在办公自动化(OA)等软件的开发中,经常要用到该格式,但介绍如何制作PDF格式文件的资料非常少.

本文主要说下itext生成pdf复杂表格。

效果如下图:

 

 

 

  

    ... 1

第一部分iText  pdf表格生成教程... 3

第一步:引用itextsharp.dll 4

第二步:创建pdf文档的实例... 4

第三步:定义字体,并打印标题.(处理中文字休) 4

第三步:输入一个空行(换行)。以分开标题与表格... 5

第四步:定义基础表格cell,设置边距,解决表格内容垂直居中的问题(因为直接设置垂直居中是没有效的水平居中有效)... 5

5步:定义基本表格。定义图片cell。(生成表格时,从上而下生成。图片不能最后插入)    5

6步:多行多列的表格... 5

7步:插入图片... 6

7步:插入一个空行(内容为空的表格)... 6

完整代码... 7

 


  第一部分iText  pdf 表格生成教程

 

 

 

 

第一步:引用 itextsharp.dll

usingiTextSharp.text;

usingSystem.IO;

usingiTextSharp.text.pdf;

第二步:创建pdf 文档的实例

//创建一个iTextSharp.text.Document 对象的实例:

            Documentdocument = newDocument();

            //为该Document 创建一个Writer 实例:

            PdfWriter.GetInstance(document, newFileStream(@"C:\Users\hechao\Desktop\报名表格.pdf", FileMode.Create));

            //打开当前Document

            document.Open();

第三步:定义字体,并打印标题.( 处理中文字休)

            ///            SIMSUN.TTC:宋体和新宋体

//SIMKAI.TTF:楷体

//SIMHEI.TTF:黑体

//SIMFANG.TTF:仿宋体

    BaseFontbftitle = BaseFont.CreateFont(@"C:\Windows\Fonts\SIMHEI.TTF",

BaseFont.IDENTITY_H, BaseFont.NOT_EMBEDDED);

            

 Fontfonttitle = newFont(bftitle, 20);

 

 

BaseFontbf1 = BaseFont.CreateFont(@"C:\Windows\Fonts\SIMSUN.TTC,1"BaseFont.IDENTITY_H, BaseFont.NOT_EMBEDDED);

 

Fontfont1 = newFont(bf1, 12);

Fontfonttitle10 = newFont(bf1, 12);

 

  ParagraphTitle = newParagraph("XXXX比赛", fonttitle);

Title.SetAlignment("center");

 

document.Add(Title);

第三步:输入一个空行(换行)。以分开标题与表格

Paragraphnullp = newParagraph(" ", fonttitle);

nullp.Leading = 10;

 document.Add(nullp);

第四步:定义基础表格cell ,设置边距,解决表格内容垂直居中的问题(因为直接设置垂直居中是没有效的水平居中有效)

 

iTextSharp.text.pdf.PdfPCellcellmode = newiTextSharp.text.pdf.PdfPCell();

cellmode.Padding = 4F; (cellmode.PaddingBottom = 6F;//这里可以分别设置)

5 步:定义基本表格。定义图片cell。(生成表格时,从上而下生成。图片不能最后插入)

 

iTextSharp.text.pdf.PdfPCellcell_pic10 = newiTextSharp.text.pdf.PdfPCell(); // 创建单元格

            iTextSharp.text.pdf.PdfPCellcell_pic20 = newiTextSharp.text.pdf.PdfPCell(); // 创建单元格

            iTextSharp.text.pdf.PdfPTabletable = newiTextSharp.text.pdf.PdfPTable(8); // 表格有7列

            table.SetWidths(newfloat[] {90,90,90,90,120,90,90,130 });//

6 步:多行多列的表格

cell = newiTextSharp.text.pdf.PdfPCell();

            cell.Colspan = 1;

            cell.Rowspan = 4;

 

  7 步:插入图片

 

cell = newiTextSharp.text.pdf.PdfPCell();

            cell.Colspan = 1;

            cell.Rowspan = 4;

            System.Drawing.Imageimg_1 = System.Drawing.Image.FromFile(@"C:\Users\hechao\Desktop\1.jpg");

 

            iTextSharp.text.Imageimg0 = iTextSharp.text.Image.GetInstance(img_1, iTextSharp.text.BaseColor.WHITE);

            if(img_1.Width > cell.Width || img_1.Height > cell.Height)

            {

                img0.ScaleToFit(cell.Width, cell.Height);

            }

            cell.FixedHeight = cell.MinimumHeight;

            cell.Image = img0;

 

         

            table.AddCell(cell);

            img_1.Dispose();

7 步:插入一个空行(内容为空的表格)

 

cell = newiTextSharp.text.pdf.PdfPCell();

           

            cell.MinimumHeight = 60;

            cell.Colspan = 2;

            table.AddCell(cell);

 

 

 

 

 

转载于:https://www.cnblogs.com/hechaohome/archive/2012/12/19/2825002.html

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值