我正在创建PDF,并为其添加图像。
图像为256x256像素,没什么特别的。
我通过
设定位置nImg.SetAbsolutePosition(30, 30)
但是,图像似乎位于页面底部。
PDF看起来像这样:
当我调用SetAbsolutePosition(30,30)时,我预计它会被放置在左上角。
这里可能会发生什么?
这是完整的代码:
Dim nFs As System.IO.FileStream = New FileStream(sThis, FileMode.Create)
Dim nDocument As Document = New Document(PageSize.A4, 25, 25, 25, 25)
Dim nWriter As PdfWriter = PdfWriter.GetInstance(nDocument, nFs)
nDocument.Open()
Dim nCb As PdfContentByte = nWriter.DirectContent
Dim nImg As iTextSharp.text.Image = iTextSharp.text.Image.GetInstance("d:\myimage.png")
nImg.SetAbsolutePosition(30, 30)
nCb.AddImage(nImg)
nDocument.Close()
nWriter.Close()
nFs.Close()
答案 0 :(得分:2)
首先,您需要知道在哪里可以找到PDF页面的来源:Where is the Origin (x,y) of a PDF page?通常,(0, 0)
坐标与左下角重合。 /MediaBox
以特殊方式创建,或者/CropBox
创建时有例外情况,但似乎并非如此。
然后你需要知道x轴指向右边,y轴指向左边:
问题How should I interpret the coordinates of a rectangle in PDF?
的答案中对此进行了解释知道:
您在位置(30, 30)
添加的图片是否接近页面底部是正常的。