【问题标题】:Is there a way to set the dimensions of a paragraph in itext7?有没有办法在itext7中设置段落的尺寸?
【发布时间】:2022-01-18 12:52:19
【问题描述】:

尝试在 Paragraph 对象上设置高度以及设置旋转会导致以下错误: ERROR c.i.layout.renderer.BlockRenderer - Rotation was not correctly processed for ParagraphRenderer 此外,高度被发送到无穷大导致一个明显的空白页面,我不确定这是否是预期的行为。

如果我不设置高度,文本会旋转显示(这是我想要的)。但我的任务是将文本放置在具有特定尺寸和旋转的特定坐标处。位置很好,但无法设置高度会导致将旋转点分配给错误的值,进而移动文本的最终位置。

Paragraph paragraph = new Paragraph(text);
paragraph.setHeight(height);
paragraph.setMargins(0, 0, 0, 0);
paragraph.setProperty(ROTATION_POINT_X, x);
paragraph.setProperty(ROTATION_POINT_Y, y);
paragraph.setProperty(ROTATION_ANGLE, asFloat(toRadians(rotation))));
document.add(paragraph);

将边距设置为 0 似乎也没有任何影响。无论如何,文本看起来都保留了某种边距。

那么有没有办法控制显示的对象的尺寸是多少?我还可以找到一种方法来使旋转从对象的中心旋转。

【问题讨论】:

    标签: java-11 itext7


    【解决方案1】:

    您应该同时为旋转对象设置宽度和高度。 这是一个示例代码:

    Paragraph paragraph = new Paragraph("Hello world");
    paragraph.setWidth(200);
    paragraph.setHeight(20);
    paragraph.setBackgroundColor(ColorConstants.RED);
    paragraph.setMargins(0, 0, 0, 100);
    paragraph.setProperty(ROTATION_POINT_X, paragraph.getWidth().getValue() / 2);
    paragraph.setProperty(ROTATION_POINT_Y, paragraph.getHeight().getValue() / 2);
    paragraph.setRotationAngle(Math.PI / 180 * 45);
    document.add(paragraph);
    

    视觉效果:

    【讨论】:

      猜你喜欢
      • 2021-08-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-11-12
      • 1970-01-01
      相关资源
      最近更新 更多