当我尝试使用 itextpdf-5.5.4.jar 绘制一条线时,使用以下代码(PdfContentByteobject
)
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完成相同的工作。
答案 0 :(得分:1)
正如 mkl 在评论中提到的那样,在绘制线之前,我们首先结束这个并且在绘制之后开始文本对象。像 -
...
contentByte.endText();
contentByte.moveTo(50, 637);
contentByte.lineTo(5400, 637);
contentByte.stroke();
contentByte.beginText();
但如果您使用中风并在beginText()
之后拨打contentByte.stroke()
,请务必小心。
这解决了我的问题。