itext-rtf单元格内的表格

时间:2013-04-19 03:25:48

标签: java itext rtf

我正在使用itext-rtf 2.1.7生成RTF文档。

方法 writeSectionHeaderTableInACell()下面的参数表格将有两列。

对于每一列,我需要插入一个新的内部表,也有两列。这个内部表将第一列作为左对齐,第二列作为右对齐。

但是,下面的代码会导致生成的RTF文档中的表损坏。假设两个内部表都在一行中,它们对于每个内部表都显示为一行。

任何人都知道为什么我们无法在Cell for RTF文档中添加内部表?感谢。

private static void writeSectionHeaderTableInACell(PdfPTable table) {
  PdfPTable sectionTable1 = new PdfPTable(2);
  Phrase phrase1 = new Phrase("? 1 ?", FontFactory.getFont("MS Mincho", 10, Font.NORMAL));
  Paragraph p1 = new Paragraph(phrase1);
  p1.setAlignment(Element.ALIGN_LEFT);
  PdfPCell cell1 = new PdfPCell(p1);
  sectionTable1.addCell(cell1);
  Phrase phrase2 = new Phrase("2 Chi", FontFactory.getFont("MS Mincho", 10, Font.NORMAL));
  Paragraph p2 = new Paragraph(phrase2);
  p2.setAlignment(Element.ALIGN_RIGHT);
  PdfPCell cell2 = new PdfPCell(p2);
  sectionTable1.addCell(cell2);
  table.addCell(new PdfPCell(sectionTable1));

  PdfPTable sectionTable2 = new PdfPTable(2);
  Phrase phrase3 = new Phrase("Section 1", FontFactory.getFont("Times New Roman", 10, Font.NORMAL));
  Paragraph p3 = new Paragraph(phrase3);
  p3.setAlignment(Element.ALIGN_LEFT);
  PdfPCell cell3 = new PdfPCell(p3);
  sectionTable2.addCell(cell3);
  Phrase phrase4 = new Phrase("2 Eng", FontFactory.getFont("Times New Roman", 10, Font.NORMAL));
  Paragraph p4 = new Paragraph(phrase4);
  p4.setAlignment(Element.ALIGN_RIGHT);
  PdfPCell cell4 = new PdfPCell(p4);
  sectionTable2.addCell(cell4);
  table.addCell(new PdfPCell(sectionTable2));
}

0 个答案:

没有答案