ITEXT7中,如何在不覆盖当前内容的情况下插入签证持有人?
In ITEXT7, how to insert a visa holder without overwriting current content?
我正在使用 itext 7.0.0。我正在写一个 PDF,最后,我插入了一个包含 Name/date/signature 的部分,如下所示:
但是,在某些情况下,最后一部分会覆盖已经存在的部分,例如:
下面是我如何插入 name/date/signature 矩形:
private fun placeVisa(document: Document): Document {
val pdfCanvas = PdfCanvas(document.pdfDocument.getPage(document.pdfDocument.numberOfPages))
val width = 200f
val height = 100f
val rectangle = Rectangle((document.pdfDocument.defaultPageSize.width - width) * 0.95f, // x position
height / 2, // y position
width, // actual width
height) // actual height
pdfCanvas.rectangle(rectangle)
pdfCanvas.stroke()
val canvas = Canvas(pdfCanvas, document.pdfDocument, rectangle)
val rectangleContent = Paragraph(Text("Name, date and signature :"))
rectangleContent.marginLeft = 5f
canvas.add(rectangleContent)
return document
我怎样才能做到不覆盖内容?
我选择了另一种方法来解决我的问题。
我没有绘制矩形,而是构建了一个包含一列和一个单元格的 table。
设置cell的高度,使table绘制的矩形足够大,table的witdh设置得足够大
最后,我在右边添加了一个水平对齐。
val table = Table(1)
val cell = Cell(1,1)
cell.add("Name, date and signature :")
cell.height = 75f
table.setWidth(200f)
table.addCell(cell)
table.setHorizontalAlignment(HorizontalAlignment.RIGHT)
document.add(table)
我正在使用 itext 7.0.0。我正在写一个 PDF,最后,我插入了一个包含 Name/date/signature 的部分,如下所示:
但是,在某些情况下,最后一部分会覆盖已经存在的部分,例如:
下面是我如何插入 name/date/signature 矩形:
private fun placeVisa(document: Document): Document {
val pdfCanvas = PdfCanvas(document.pdfDocument.getPage(document.pdfDocument.numberOfPages))
val width = 200f
val height = 100f
val rectangle = Rectangle((document.pdfDocument.defaultPageSize.width - width) * 0.95f, // x position
height / 2, // y position
width, // actual width
height) // actual height
pdfCanvas.rectangle(rectangle)
pdfCanvas.stroke()
val canvas = Canvas(pdfCanvas, document.pdfDocument, rectangle)
val rectangleContent = Paragraph(Text("Name, date and signature :"))
rectangleContent.marginLeft = 5f
canvas.add(rectangleContent)
return document
我怎样才能做到不覆盖内容?
我选择了另一种方法来解决我的问题。
我没有绘制矩形,而是构建了一个包含一列和一个单元格的 table。
设置cell的高度,使table绘制的矩形足够大,table的witdh设置得足够大
最后,我在右边添加了一个水平对齐。
val table = Table(1)
val cell = Cell(1,1)
cell.add("Name, date and signature :")
cell.height = 75f
table.setWidth(200f)
table.addCell(cell)
table.setHorizontalAlignment(HorizontalAlignment.RIGHT)
document.add(table)