我写了一个PDF生成器程序,它在PDF文件中创建一个表格报告。我的代码版本有效,如下所示:
public boolean createPdf(String filePath
, List<String> header
, List<List<String>> dataset
, String title
, int totalNumOfColumn){
try
{
PdfDocument pdfDoc = new PdfDocument(new PdfWriter(filePath));
pdfDoc.getCatalog().setViewerPreferences(
new PdfViewerPreferences().setDisplayDocTitle(true));
PdfDocumentInfo info = pdfDoc.getDocumentInfo();
info.setAuthor("ABC");
info.setCreator("ABC");
info.setTitle(title);
Document document = new Document(pdfDoc, PageSize.A4.rotate());
Table table = new Table(totalNumOfColumn);
// Adding header row
for (String content : header){
table.addHeaderCell(content);
}
// Adding data
for (List<String> record : dataset) {
for (String field : record) {
table.addCell(field);
}
}
document.add(table);
document.close();
return true;
}
catch (Exception e) {
System.out.println(e);
return false;
}
}
请考虑我添加标题行的代码块。如果我使用Cell
类修改代码以使用小样式,如下所示:
for (String content : header) {
Cell cell = new Cell().setBold().add(content);
table.addHeaderCell(cell);
}
然后我的document.add(table);
永远不会回来。
我不确定为什么。请指教。