2

使用指定宽度和旋转文本渲染表格中的单元格似乎存在错误。如果旋转角度为 (Math.PI / 2),则文本渗入相邻单元格,如果旋转角度为 -(Math.PI / 2),则单元格高度延伸到页面底部。

这是单元测试:

@Test
public void tableRotationTest02() throws IOException,InterruptedException {
    String outFileName = OUTPUT_FOLDER + "tableRotationTest02.pdf";
//        String cmpFileName = sourceFolder + cmpPrefix + "tableRotationTest02.pdf";

//        FileOutputStream file = new FileOutputStream(outFileName);
    PdfWriter writer = new PdfWriter(outFileName);
    PdfDocument pdfDoc = new PdfDocument(writer);
    Document doc = new Document(pdfDoc);

    Table table = new Table(new float[]{25, 50})
            .addCell(new Cell().add(new Paragraph("cell 1, 1").setRotationAngle((Math.PI / 2))))
            .addCell(new Cell().add(new Paragraph("cell 1, 2").setRotationAngle((Math.PI / 3))))
            .addCell(new Cell().add(new Paragraph("cell 2, 1").setRotationAngle(-(Math.PI / 2))))
            .addCell(new Cell().add(new Paragraph("cell 2, 2").setRotationAngle((Math.PI))));
    doc.add(table);

    doc.close();

//        Assert.assertNull(new CompareTool().compareByContent(outFileName, cmpFileName, destinationFolder, "diff"));
}
4

1 回答 1

1

这确实是一个错误,并且已在 iText 中修复。
https://github.com/itext/itext7/blob/develop/layout/src/test/java/com/itextpdf/layout/RotationTest.java

感谢您报告此事。

于 2017-07-13T14:40:01.910 回答