如何使用iTextsharp ' VB格式化段落字符串以显示pdf文档的左侧,右侧或中间的内容



如何使用iTextsharp在文档的基本和绝对位置设置段落字符串的格式,以显示pdf文档的左侧、右侧或中间的内容。

感谢

根据Bruno Lowagie的建议,我正在使用

Dim table As New PdfPTable(3)
table.setWidthPercentage(100)
table.addCell(getCell("Text to the left", PdfPCell.ALIGN_LEFT))
table.addCell(getCell("Text in the middle", PdfPCell.ALIGN_CENTER))
table.addCell(getCell("Text to the right", PdfPCell.ALIGN_RIGHT))
document.add(table)
Public Function getCell(ByVal text As String, ByVal alignment As Integer) As PdfPCell
Dim cell As New PdfPCell(New Phrase(text))
cell.setPadding(0)
cell.setHorizontalAlignment(alignment)
cell.setBorder(PdfPCell.NO_BORDER)
Return cell
End Function

我出错了cell.setPPadding、cell.setHorizontalAlignment、cell.setPBorder都不是iTextsharp.Text.pdf.PdfPCell表格的成员。setWidthPercentage(100)显示未指定参数"页面大小"的错误参数

我不是一个visual basic程序员(我上一次使用visual basic是在1996年,我说:再也不会了!),但通过使用谷歌,我将您的示例修改为:

Dim table As New PdfPTable(3)
table.WidthPercentage = 100
table.AddCell(GetCell("Text to the left", PdfPCell.ALIGN_LEFT))
table.AddCell(GetCell("Text in the middle", PdfPCell.ALIGN_CENTER))
table.AddCell(GetCell("Text to the right", PdfPCell.ALIGN_RIGHT))
document.Add(table)
Public Function GetCell(ByVal text As String, ByVal alignment As Integer) As PdfPCell
Dim cell As New PdfPCell(New Phrase(text))
cell.Padding = 0
cell.HorizontalAlignment = alignment
cell.Border = PdfPCell.NO_BORDER
Return cell
End Function

这就是众所周知的:

  • Java中的方法以小写开头;.NET中的方法以大写开头,因此当人们要求您使用Java代码作为伪代码并将Java转换为.NET时,您需要将add()addCell()等方法更改为Add()AddCell()
  • Java中的成员变量使用getter和setter进行更改和咨询;.NET中的变量使用看起来像属性的方法进行更改和查询。这意味着您需要将cell.setBorder(border);border = cell.getBorder();等行更改为cell.Border = borderborder = cell.Border

iText和iTextSharp保持同步,这意味着,使用上面解释的两个规则,开发人员将不会有任何问题将iText代码转换为iTextSharm代码。

当对一个方法有疑问时,可以像我一样,在谷歌上搜索这些方法和属性!你会发现这样的例子:

  • 将itextsharp表对齐
  • iTextSharp表格单元格间距可能吗

如果你想在一个地方放一大堆例子,请下载StackOverflow 上的最佳iText问题

最新更新