有谁知道如何在JAVA中使用iText创建两个并行表? [英] Does anyone know how to create two parallel tables using iText in JAVA?
本文介绍了有谁知道如何在JAVA中使用iText创建两个并行表?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我已经在java中使用iText创建了表格。但我想为我的一个项目创建两个并行表。请问有人能告诉我使用iText创建两个并行表的解决方案吗?
I already created table using iText in java. But I want to create two parallel tables for one of my projects. Can anyone tell me the solution to create two parallel tables using iText please?
推荐答案
这是代码片段
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();
}
希望这有帮助。
这篇关于有谁知道如何在JAVA中使用iText创建两个并行表?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文