使用itext生成pdf的文本重叠问题
问题描述:
hi everyone 我在使用itext(Java)生成的pdf文件中有一个标题文本(ARTIST Biography(Continue))。其中'ARTIST'和'(Continue)'分别是静态文本“Biography”是一个动态文本,它将根据从xml获取的内容而变化。我的问题是,动态文本长度过长时,它会覆盖'(continue)'文本。如何设置动态相对于最近的静态文本“(继续)”文本长度。请回复 在此先感谢使用itext生成pdf的文本重叠问题
我用于显示标题文本代码编写波纹管
PdfContentByte cb = writer.getDirectContent();
BaseFont bf = BaseFont.createFont(BaseFont.HELVETICA, BaseFont.CP1252, BaseFont.NOT_EMBEDDED);
cb.setFontAndSize(bf, 18);
cb.beginText();
cb.setColorFill(Color.BLACK);
cb.showTextAligned(PdfContentByte.ALIGN_LEFT,"ARTIST", document.left(), document.top() + 20 , 0);
cb.resetRGBColorFill();
cb.endText();
cb.beginText();
cb.setColorFill(Color.RED);
cb.showTextAligned(PdfContentByte.ALIGN_LEFT, strBiography, document.left() + 70, document.top() + 20, 0);
cb.resetRGBColorFill();
cb.endText();
cb.beginText();
cb.setColorFill(Color.BLACK);
cb.showTextAligned(PdfContentByte.ALIGN_LEFT,"(Continue)", document.left()+90, document.top() + 20 , 0);
cb.resetRGBColorFill();
cb.endText();
cb.stroke();
0123(艺术家生平(继续))
答
您可以使用strBiography的正确字体和内容创建Chunk,并且在Chunk调用getWidthPoint到现在它的大小以点为单位,当添加到文档时您将拥有关于strBiography的长度,并且可以计算“ (继续)“
请提供你正在做什么的代码示例。在能够回答您的问题之前,我们需要更多的背景。 (而这样做,你可以编辑你的问题布局,以更可读的东西?) – Redlab 2011-05-11 11:47:45
_如何设置单元格宽度占用动态文本_你是在谈论单元格在pdfdfable?或... – Redlab 2011-05-11 14:50:31
请查看你所问的编辑过的问题和代码 – Psl 2011-05-12 03:39:21