绘制表格

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)
'打开文件

生成的表格为:


本页地址:http://www.foxtable.com/webhelp/topics/6064.htm