为什么我的 iTextSharp PDF 文本框这么大?

Why is my iTextSharp PDF textbox so large?

我正在使用以下代码将文本框添加到我的 PDF 文件中:

Dim stamper As PdfStamper = New PdfStamper(New PdfReader(sInputFile), File.Create(sOutputFile))

Dim iPageNumer As Integer = 1

Dim tf As TextField
tf = New TextField(stamper.Writer, New iTextSharp.text.Rectangle(33, 780, 30, 28), "SomeName") 

Dim bf = BaseFont.CreateFont(BaseFont.HELVETICA, BaseFont.CP1252, False)
With tf
    .Alignment = Element.ALIGN_CENTER And Element.ALIGN_MIDDLE
    .BackgroundColor = GrayColor.GRAYBLACK
    .BorderColor = Color.GREEN
    .BorderStyle = PdfBorderDictionary.STYLE_SOLID
    .DefaultText = "This is a new text field."
    .Font = bf
    .FontSize = 7
    .MaxCharacterLength = 25
    .Options = TextField.REQUIRED Or TextField.MULTILINE
    .Text = "This is the assigned value."
End With
stamper.AddAnnotation(tf.GetTextField(), iPageNumer)
stamper.Close()

这将创建一个几乎与文档一样高的文本框。 但是,我希望文本框仅为 30、28。

我猜 Y = 780 是正确的,因为 iTextSharp 从左下角开始。

我在这里没有看到什么?

谢谢!

这是它的样子: 它的宽度只有 5 个像素,它的高度是 806 个像素。

愚蠢的坐标系需要以下参数:

Dim iNewY As Integer = uDocumentSize.Y - iY

Dim iLowerLeftX As Integer = iX
Dim iLowerLeftY As Integer = iNewY
Dim iUpperRightX As Integer = iX + yourtextboxwidth
Dim iUpperRightY As Integer = iNewY + yourtextboxheight

New iTextSharp.text.Rectangle(iLowerLeftX, iLowerLeftY, iUpperRightX, iUpperRightY)