当我尝试使用带有以下代码(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()

这解决了我的问题。

10-08 16:41