PdfBox 2.0.0 在页面的指定位置写入文本

PdfBox 2.0.0 在页面的指定位置写入文本

我刚刚从 PdfBox 1.8 升级到 2.0.0,发现两者之间存在很大差异。之前,我在现有 pdf 页面上写文本时使用的是 drawString。在 2.0.0 中,draw string 已被弃用,但 showText 在块文本中不起作用。

我的代码在1.8中:

 contentStream.beginText()
 contentStream.moveTextPositionByAmount(250, 665)
 contentStream.drawString("1  2 3 4 5 6    7  8  9   1 0")
 contentStream.endText()

我的代码是 2.0

  PDDocument newPdf=null
  newPdf=PDDocument.load(sourcePdfFile)
  PDPage firstPage=newPdf.getPage(0)
  PDPageContentStream contentStream = new PDPageContentStream(newPdf, firstPage, PDPageContentStream.AppendMode.APPEND,true,true)
 contentStream.setFont(pdfFont, fontSize)
 contentStream.beginText()
 contentStream.lineTo(200,685)
 contentStream.showText("John")
 contentStream.endText()

但它不起作用......

有人知道我该如何像 1.8 中那样写文本吗

答案1

有点晚了,但不允许在文本块中使用 contentStream.lineTo(200,685)。您可以使用 contentStream.newLineAtOffset(200, 685); 并且可以正常工作。

相关内容