PDFBox的字体类PDFont中有一个方法,名为getFontHeight,听起来很简单。但是我不太理解文档以及参数代表什么。
getFontHeight这将获取字符的字体宽度。
参数:
- c - 要获取宽度的字符代码。
- offset - 数组的偏移量。长度
- 数据的长度。
Returns:宽度以 1000 个文本空间为单位,即 333 或 777
此方法是否适合用于获取 PDFBox 中字符的高度?如果是,如何获取?我可以使用字体高度和字体大小之间的某种关系吗?
我相信标记为正确的答案需要一些额外的澄清。 getHeight() 的每种字体没有“错误”,因此我认为手动猜测每种新字体的系数不是一个好的做法。
我猜它可能适合您的目的,只需使用 CapHeight 而不是 Height。
float height = ( font.getFontDescriptor().getCapHeight()) / 1000 * fontSize;
这将返回与您尝试通过将 Helvetica 的高度修正为 0.865 来获得的值类似的值。但它对于任何字体都是通用的。
PDFBox 文档没有过多解释它是什么。但是您可以查看维基百科 Cap_height 文章中的图像,以更好地了解它的工作原理并选择适合您的特定任务的参数。
https://en.wikipedia.org/wiki/Cap_height
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)