关于itext生成pdf表格 使用单元格合并

问题遇到的现象和发生背景

itext画一个带有合并单元格的pdf表格

问题相关代码,请勿粘贴截图
 PdfContentByte canvas = writer.getDirectContent();
        Font size9font = new Font(baseFont, 9, Font.BOLD); //大小为9的粗体
        Font size10font = new Font(baseFont, 10, Font.NORMAL);  //大小为10的正常字体
        //第一行表头
        PdfPTable firstTitle = new PdfPTable(10);
        firstTitle.setWidthPercentage(100);
        firstTitle.addCell(mircoSoftFont("预算项目", size10font, 20, 3, 0));
        firstTitle.addCell(mircoSoftFont("项目", size10font, 20, 2, 0));
        firstTitle.addCell(mircoSoftFont("收款人", size10font, 20, 3, 0));
        firstTitle.addCell(mircoSoftFont("申请金额", size10font, 0,0,3));
        firstTitle.addCell(mircoSoftFont("批准金额", size10font, 0,0,3));
        document.add(firstTitle);
        PdfPTable secondTitle = new PdfPTable(10);
        secondTitle.setWidthPercentage(100);
        secondTitle.addCell(mircoSoftFont("功能分类(类款项)", size10font, 20));
        secondTitle.addCell(mircoSoftFont("政府经济分类(类款)", size10font, 20));
        secondTitle.addCell(mircoSoftFont("部门经济分类(类款)", size10font, 20));
        secondTitle.addCell(mircoSoftFont("编码", size10font, 0,0,2));
        secondTitle.addCell(mircoSoftFont("名称", size10font, 0,0,2));
        secondTitle.addCell(mircoSoftFont("全称", size10font, 0,0,2));
        secondTitle.addCell(mircoSoftFont("开户银行", size10font, 0,0,2));
        secondTitle.addCell(mircoSoftFont("银行账号", size10font, 0,0,2));
        secondTitle.addCell(mircoSoftFont("", size10font, 0,0,0));
        secondTitle.addCell(mircoSoftFont("", size10font, 0,0,0));
        document.add(secondTitle);
        PdfPTable thirdTitle = new PdfPTable(10);
        thirdTitle.setWidthPercentage(100);
        thirdTitle.addCell(mircoSoftFont("编码和名称", size10font, 20));
        thirdTitle.addCell(mircoSoftFont("编码和名称", size10font, 20));
        thirdTitle.addCell(mircoSoftFont("编码和名称", size10font, 20));
        thirdTitle.addCell(mircoSoftFont("", size10font, 0,0,0));
        thirdTitle.addCell(mircoSoftFont("", size10font, 0,0,0));
        thirdTitle.addCell(mircoSoftFont("", size10font, 0,0,0));
        thirdTitle.addCell(mircoSoftFont("", size10font, 0,0,0));
        thirdTitle.addCell(mircoSoftFont("", size10font, 0,0,0));
        thirdTitle.addCell(mircoSoftFont("", size10font, 0,0,0));
        thirdTitle.addCell(mircoSoftFont("", size10font, 0,0,0));
        document.add(thirdTitle);

运行结果及报错内容

img

我的解答思路和尝试过的方法
我想要达到的结果

后面几列存在单元格合并

img