Как мы можем передать функцию объекту ячейки в коробочном формате. Поскольку я новичок в коробках и pdfbox, пожалуйста, помогите мне в этом

#java #pdfbox #boxable

Вопрос:

Мы используем Pdfbox для создания pdf-файла и коробочную банку для создания таблиц внутри pdf. В приведенном ниже коде я вызвал функцию createCellWithoutBorder() в ячейку функции createNewTable, поскольку у нас есть большие данные, которые должны отображаться внутри таблицы.Когда я вызываю функцию createCellWithoutBorder() в ячейку, она показывает исключение нулевого указателя, а также как мы можем добавить эту ячейку в таблицу.Все остальные ячейки будут добавлены с помощью метода createcell (). Может ли кто-нибудь, пожалуйста, помочь в том, как мы можем достичь этого в коробках?

 public static Table createNewTable(PDPageContentStream contentStream, PDDocument document, PDPage page) throws IOException {
    float margin = 50;
    float yStartNewPage = page.getMediaBox().getHeight() - (2 * margin);
    float tableWidth = page.getMediaBox().getWidth() - (2 * margin);
    boolean drawContent = true;
    float yStart = yStartNewPage;
    float bottomMargin = 70;
    float yPosition = 550;
    BaseTable dummyTable = new BaseTable(yStart,yStartNewPage,bottomMargin,tableWidth,margin,document,page,true,true);
    Row<PDPage> row = dummyTable.createRow(20);
    Row<PDPage> row1= dummyTable.createRow(20);

    Cell<PDPage> cell = row.createCell(20,"Text Name",HorizontalAlignment.CENTER,VerticalAlignment.TOP);
    cell.setFont(PDType1Font.HELVETICA_BOLD);
    cell.setFillColor(Color.GRAY);
    cell=row.createCell(20,"Cell1",HorizontalAlignment.CENTER,VerticalAlignment.TOP);
    cell=row.createCell(20,"Cell2",HorizontalAlignment.CENTER,VerticalAlignment.TOP);
    cell=row1.createCell(20,"Cell3",HorizontalAlignment.CENTER,VerticalAlignment.TOP);
    cell=row1.createCell(20,"Cell4",HorizontalAlignment.CENTER,VerticalAlignment.TOP);
    cell=createCellWithoutBorder("Cell5",headerFont,4,HorizontalAlignment.CENTER,VerticalAlignment.TOP);
    dummyTable.draw();
    return dummyTable;
}


public static Cell createCellWithoutBorder(String text, PDFont font, int colspan, HorizontalAlignment alignment, VerticalAlignment verticalAlignment) throws Exception{
    Cell<PDPage> cell = null;
    cell.setColspanCell(true);
    cell.setWidth(100f);
    cell.setLeftPadding(20f);
    cell.setTextColor(Color.BLACK);
    cell.setLeftBorderStyle(new LineStyle(null,0));
    cell.setRightBorderStyle(new LineStyle(null,0));
    cell.setTopBorderStyle(new LineStyle(null,0));
    cell.setBottomBorderStyle(new LineStyle(null,0));
    cell.setFillColor(Color.WHITE);
    return cell;

}
 

Комментарии:

1. Пожалуйста, поделитесь трассировкой стека ошибки. При этом переменная headerFont не определена.