有人知道如何在JAVA中使用iText创建两个并行表吗?

有人知道如何在JAVA中使用iText创建两个并行表吗?,java,itext,Java,Itext,我已经用java中的iText创建了表。但是我想为我的一个项目创建两个并行表。有谁能告诉我使用iText创建两个并行表的解决方案吗?这是代码片段 package com.example; import com.itextpdf.text.Document; import com.itextpdf.text.DocumentException; import com.itextpdf.text.Paragraph; import com.itextpdf.text.Phrase; import

我已经用java中的iText创建了表。但是我想为我的一个项目创建两个并行表。有谁能告诉我使用iText创建两个并行表的解决方案吗?

这是代码片段

package com.example;

import com.itextpdf.text.Document;
import com.itextpdf.text.DocumentException;
import com.itextpdf.text.Paragraph;
import com.itextpdf.text.Phrase;
import com.itextpdf.text.pdf.PdfPCell;
import com.itextpdf.text.pdf.PdfPTable;
import com.itextpdf.text.pdf.PdfWriter;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;

public class PdfTest {

    private Document document;

    public PdfTest() {
        document = new Document();
    }

    public boolean openPdf() {
        boolean status = false;
        try {
            File pdfFile = new File("test.pdf");
            if (pdfFile != null) {
                PdfWriter.getInstance(document, new FileOutputStream(pdfFile));
                document.open();
                status = true;
            }
        } catch (FileNotFoundException ex) {
            ex.printStackTrace();
        } catch (DocumentException ex) {
            ex.printStackTrace();
        } catch (Exception ex) {
            ex.printStackTrace();
        }
        return status;
    }

    public void closePdf() {
        document.close();
    }

    public void generatePdf() throws DocumentException {
        Paragraph paragraph = new Paragraph();
        PdfPCell cell = null;
        // Main table
        PdfPTable mainTable = new PdfPTable(2);
        mainTable.setWidthPercentage(100.0f);
        // First table
        PdfPCell firstTableCell = new PdfPCell();
        firstTableCell.setBorder(PdfPCell.NO_BORDER);
        PdfPTable firstTable = new PdfPTable(2);
        firstTable.setWidthPercentage(50.0f);
        cell = new PdfPCell(new Phrase("T1R1C1"));
        firstTable.addCell(cell);
        cell = new PdfPCell(new Phrase("T1R1C2"));
        firstTable.addCell(cell);
        cell = new PdfPCell(new Phrase("T1R2C1"));
        firstTable.addCell(cell);
        cell = new PdfPCell(new Phrase("T1R2C2"));
        firstTable.addCell(cell);
        firstTableCell.addElement(firstTable);
        mainTable.addCell(firstTableCell);
        // Second table
        PdfPCell secondTableCell = new PdfPCell();
        secondTableCell.setBorder(PdfPCell.NO_BORDER);
        PdfPTable secondTable = new PdfPTable(2);
        secondTable.setWidthPercentage(50.0f);
        cell = new PdfPCell(new Phrase("T2R1C1"));
        secondTable.addCell(cell);
        cell = new PdfPCell(new Phrase("T2R1C2"));
        secondTable.addCell(cell);
        cell = new PdfPCell(new Phrase("T2R2C1"));
        secondTable.addCell(cell);
        cell = new PdfPCell(new Phrase("T2R2C2"));
        secondTable.addCell(cell);
        secondTableCell.addElement(secondTable);
        mainTable.addCell(secondTableCell);
        paragraph.add(mainTable);
        document.add(paragraph);
    }
}
测试这个

PdfTest pdfTest = new PdfTest();
try {
    if (pdfTest.openPdf()) {
        pdfTest.generatePdf();
        pdfTest.closePdf();
    }
} catch (Exception ex) {
    ex.printStackTrace();
}

希望这有帮助。

请看一下文档。从第3页开始,您将看到这些页面具有两列相邻的布局。这是通过使用
ColumnText
类实现的。请参阅以获取源代码,或通过转到的关键字页查看其他代码示例。

您可以尝试使用一个表和两列,每个单元格包含一个表。为外部表格的单元格设置无边框属性。这样你们就有了平行的桌子。非常感谢。这就是我要找的那个。这对我帮助很大。再次感谢你