我正在尝试使用以下代码使用pdfbox库生成表格。
//Draw lines
for (int i = 0; i <= cols; i++) {
contentStream.drawLine(nextx,y,nextx,y-tableHeight);
nextx += colWidth;
}
//fill with data
float textx = margin+cellMargin;
float texty = y-15;
for(int i = 0; i < content.length; i++){
for(int j = 0 ; j < content[i].length; j++){
String text = content[i][j];
contentStream.beginText();
contentStream.moveTextPositionByAmount(textx,texty);
contentStream.drawString(text);
contentStream.endText();
textx += colWidth;
}
texty-=rowHeight;
textx = margin+cellMargin;
}
这样做时,创建的单元格中的数据不会被包裹。我无法在pdfbox库中找到这样做的方法。请提出解决方案。
答案 0 :(得分:3)
PdfBox相当于PDF文件的低级API,因此,它不提供开箱即用设计表的帮助。 如果您不想自己重新发明轮子并想出这样的功能,您可能需要在这里查看PdfLayoutManager:https://github.com/GlenKPeterson/PdfLayoutManager
它为PdfBox提供了更高级别的API,并提供带有自动换行符的文本框,以及带换行符的表格。