我使用iText(java)遇到了一个问题,尽管数小时都在查看文档..
我使用的大部分代码都是通过Document#API跟踪(通过PDFWriter实例)当前的Y位置。但是,我们需要使用API的PdfContentByte部分将一些Java2d插入到文档中,但这样做似乎绕过了跟踪Verticle写入的逻辑。因此,下次我使用Document API时,它会覆盖手动插入的内容。我想通过在N个单元上手动移动光标来模仿Document#API的行为(N是PDFContentByte API插入的元素的高度),这样当我再次使用Document对象时,bingo,它光标位于正确的位置。我可以看到存在获取游标的方法;
PdfWriter#getVerticalPosition(boolean);
但不是一个设置它?!
答案 0 :(得分:0)
当您向文档添加段落,表格等时,PdfWriter返回的垂直位置由writer类自动处理。 如果要添加自定义图形,则必须通过保存绘制的最后一个图形的位置来手动处理垂直位置。 如果必须在绝对位置绘制图形,而不考虑通过Paragraph对象添加的文本,这很简单。 但是如果你想要将图形的位置与高级对象(Paragraph,pdfTable等)同步,你必须处理iText事件。