java - 有什么简单的方法可以调整一段文字的字体大小以适应特定区域?

标签 java

我需要文本来填充预定义区域。我不一定希望字体超出某个限制,但如果它不适合某个区域,我更希望它至少缩小。 (所以要在字体大小上有一个上限,也有一个下限,但将上限作为默认值并在需要时缩小。)

有什么简单的方法可以轻松完成这样的事情吗?

最佳答案

我最终使用了 fitText PdfSignatureAppearance 上的操作,包含在 iText 中.这使得它很容易完成。它可能并不完美,但总比什么都没有要好得多。

public static final float calculateFontSize(String fontName, float maxFontsize, float width, float height, String text) {
    Font font = FontFactory.getFont(fontName);
    Rectangle rectangle = new Rectangle(width, height);
    System.err.println("Calculating font size for " + width + " and " + height);
    return PdfSignatureAppearance.fitText(font, text, rectangle, maxFontsize, PdfWriter.RUN_DIRECTION_LTR);
}

关于java - 有什么简单的方法可以调整一段文字的字体大小以适应特定区域?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3458503/

相关文章:

java - 使用 XOM 生成带有命名空间的 XML 部分

java - Java中如何解析这一行信息呢?

java - 在 Android 上录制音频和在 Swing (PC) 上播放时出现问题

java - 存储对象时出现 ConstraintViolationException 1 :n relationship

java - 如何将两个 View 堆叠在一起?

java - 最终字段的设置方法

java - 如何让不同版本的 JAVA API 协同工作?

java - 如何在谷歌地图上创建从用户位置到用户选择的项目覆盖的路线/导航?

Java:游戏中未检测到 KeyListener

Swift 中的 Java 风格枚举