0

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

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

对于每一列,我需要插入一个新的内部表,其中也包含两列。这个内表将第一列左对齐,第二列右对齐。

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

任何人都知道为什么我们似乎无法在 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));
}
4

0 回答 0