绘制表格
PDFCreater通过逐个绘制单元格的方式来绘制表格,参考代码:
Dim
file
As
String
=
"c:\temp\test.pdf"
Dim
pdc
As
New
PDFCreator()
Dim
rectPage
As
RectangleF = pdc.PageRectangle
rectPage.Inflate( - 72, - 72)
Dim
rectCell
As
RectangleF = rectPage
Dim
rowHeight
As
Integer
= 20
'行高
Dim
colWidths()
As
Integer
= {120, 100, 74, 74, 100}
'各列宽度
For
r
As
Integer
= 0
To
6
'绘制7行
rectCell.Height = rowHeight
'设置行高
For
c
As
Integer
= 0
To
4
'逐一绘制这行的单元格
rectCell.Width = colWidths(c)
'单元格宽度
pdc.DrawRectangle(pens.Black, rectCell)
'绘制单元格边框
rectCell.Offset(rectCell.Width, 0)
'右移
一列
Next
rectCell.Offset(0, rowHeight)
'下移
一行
rectCell.X = rectPage.X
'单元格回到水平初始
位置,准备绘制下一行
Next
pdc.Save(file)
'保存文件
Process.Start(file)
'打开文件
生成的表格为:
你可以加上单元格内容:
Dim
file
As
String
=
"c:\temp\test.pdf"
Dim
fnt
As
New
Font("微软雅黑",
12)
Dim
pdc
As
New
PDFCreator()
Dim
rectPage
As
RectangleF = pdc.PageRectangle
rectPage.Inflate( - 72, - 72)
Dim
rectCell
As
RectangleF = rectPage
Dim
rowHeight
As
Integer
= 20
'行高
Dim
colWidths()
As
Integer
= {120, 100, 74, 74, 100}
'各列宽度
For
r
As
Integer
= 0
To
6
'绘制7行
rectCell.Height = rowHeight
'设置行高
For
c
As
Integer
= 0
To
4
'逐
一绘制这行的单元格
rectCell.Width = colWidths(c)
'单元格宽度
pdc.DrawRectangle(pens.Black, rectCell)
'绘制单元格边框
Dim
rectContent
As
RectangleF = rectCell
rectContent.Inflate( - 3, - 3)
'设置单元格边距
pdc.DrawString(CExp("R{0}C{1}",
r + 1, c + 1), fnt, Color.Black, rectContent)
'绘制单元格内容
rectCell.Offset(rectCell.Width, 0)
'右移
一列
Next
rectCell.Offset(0, rowHeight)
'下移
一行
rectCell.X = rectPage.X
'单元格回到水平初始位子,准备绘制下一行
Next
pdc.Save(file)
'保存文件
Process.Start(file)
'打开文件
生成的表格为: