Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/319.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 将rowspan与itext pdf一起使用时无法显示背景色_Java_Pdf_Pdf Generation_Itextsharp_Itext - Fatal编程技术网

Java 将rowspan与itext pdf一起使用时无法显示背景色

Java 将rowspan与itext pdf一起使用时无法显示背景色,java,pdf,pdf-generation,itextsharp,itext,Java,Pdf,Pdf Generation,Itextsharp,Itext,我正在尝试创建一个如下所示的表: 我想使用2的行跨度。问题是,当我使用rowspan时,最上面一行的背景色显示为精细,但第二行显示为白色 我面临的问题与此相同: 我正试图用Java实现这一点。我是不是错过了什么傻事 请看一看这个例子。在本例中,我试图通过创建一个与您的表格完全相同的表格来重现您的问题,只是我为每个单元格指定了不同的背景色: 您声称第一行的背景色显示为“精细”,但第二行显示为白色。这个例子的屏幕截图与这一指控相矛盾 请提供一些重现问题的示例代码,或检查我的代码,以了解我如何能够

我正在尝试创建一个如下所示的表:

我想使用2的行跨度。问题是,当我使用rowspan时,最上面一行的背景色显示为精细,但第二行显示为白色

我面临的问题与此相同:

我正试图用Java实现这一点。我是不是错过了什么傻事

请看一看这个例子。在本例中,我试图通过创建一个与您的表格完全相同的表格来重现您的问题,只是我为每个单元格指定了不同的背景色:

您声称第一行的背景色显示为“精细”,但第二行显示为白色。这个例子的屏幕截图与这一指控相矛盾

请提供一些重现问题的示例代码,或检查我的代码,以了解我如何能够为rowspan或colspan大于1的单元格创建彩色背景:

public void createPdf(String dest) throws IOException, DocumentException {
    Document document = new Document();
    PdfWriter.getInstance(document, new FileOutputStream(dest));
    document.open();
    PdfPTable table = new PdfPTable(5);
    PdfPCell sn = new PdfPCell(new Phrase("S/N"));
    sn.setRowspan(2);
    sn.setBackgroundColor(BaseColor.YELLOW);
    table.addCell(sn);
    PdfPCell name = new PdfPCell(new Phrase("Name"));
    name.setColspan(3);
    name.setBackgroundColor(BaseColor.CYAN);
    table.addCell(name);
    PdfPCell age = new PdfPCell(new Phrase("Age"));
    age.setRowspan(2);
    age.setBackgroundColor(BaseColor.GRAY);
    table.addCell(age);
    PdfPCell surname = new PdfPCell(new Phrase("SURNAME"));
    surname.setBackgroundColor(BaseColor.BLUE);
    table.addCell(surname);
    PdfPCell firstname = new PdfPCell(new Phrase("FIRST NAME"));
    firstname.setBackgroundColor(BaseColor.RED);
    table.addCell(firstname);
    PdfPCell middlename = new PdfPCell(new Phrase("MIDDLE NAME"));
    middlename.setBackgroundColor(BaseColor.GREEN);
    table.addCell(middlename);
    PdfPCell f1 = new PdfPCell(new Phrase("1"));
    f1.setBackgroundColor(BaseColor.PINK);
    table.addCell(f1);
    PdfPCell f2 = new PdfPCell(new Phrase("James"));
    f2.setBackgroundColor(BaseColor.MAGENTA);
    table.addCell(f2);
    PdfPCell f3 = new PdfPCell(new Phrase("Fish"));
    f3.setBackgroundColor(BaseColor.ORANGE);
    table.addCell(f3);
    PdfPCell f4 = new PdfPCell(new Phrase("Stone"));
    f4.setBackgroundColor(BaseColor.DARK_GRAY);
    table.addCell(f4);
    PdfPCell f5 = new PdfPCell(new Phrase("17"));
    f5.setBackgroundColor(BaseColor.LIGHT_GRAY);
    table.addCell(f5);
    document.add(table);
    document.close();
}

确保使用最新的官方版本的iText(Sharp)。我们知道有人一直在分发过时(和有缺陷)的iText(Sharp)。

谢谢。我的问题解决了。问题是我使用的是早期版本,itext 5.4.4。更新到最新可用的maven版本5.5.2使其正常工作。感谢库创建者的回复:)