当我尝试使用带有以下代码(PdfContentByteobject
)的itextpdf-5.5.4.jar画线时contentByte.moveTo(55, 755)
。这引发了异常
com.itextpdf.text.exceptions.IllegalPdfSyntaxException: Path construction or drawing operators aren't allowed inside a text object.
at com.itextpdf.text.pdf.PdfContentByte.moveTo(PdfContentByte.java:776)
at DemoS.TextPostion.createPdfHeader(TextPostion.java:652)
at DemoS.TextPostion.fillCelldata(TextPostion.java:352)
at DemoS.TextPostion.createPDF(TextPostion.java:175)
at DemoS.TextPostion.main(TextPostion.java:128)
但是相同的代码可以与itextpdf-5.0.6.jar一起正常工作吗?
我如何使用itextpdf-5.0.6.jar做同样的工作。
最佳答案
正如mkl在评论中提到的那样,在绘制线条之前,我们先结束此操作,然后在绘制之后开始文本对象。喜欢-
...
contentByte.endText();
contentByte.moveTo(50, 637);
contentByte.lineTo(5400, 637);
contentByte.stroke();
contentByte.beginText();
但是要小心,如果使用笔触并在
beginText()
之后调用contentByte.stroke()
。这解决了我的问题。