【发布时间】:2014-12-04 00:47:55
【问题描述】:
有谁知道 TextPosition 中的 getFontSize 方法是否总是返回一个,我应该只使用 getFontSizeInPt 来获取字体的大小吗? 我遇到的问题是 getFontSizeInPt 有时会为相同大小的文本返回不同的值(对于相同大小的同一段落中的文本,我得到 12 和 11 的返回值。
【问题讨论】:
标签: pdfbox
有谁知道 TextPosition 中的 getFontSize 方法是否总是返回一个,我应该只使用 getFontSizeInPt 来获取字体的大小吗? 我遇到的问题是 getFontSizeInPt 有时会为相同大小的文本返回不同的值(对于相同大小的同一段落中的文本,我得到 12 和 11 的返回值。
【问题讨论】:
标签: pdfbox
有谁知道TextPosition中的getFontSize方法是否总是返回一个
它并不总是返回一个。
请注意,在 PDF 页面内容描述中,有几个设置都会影响最终的文本大小:
最终的文本大小是由文本矩阵缩放的第一个值,再次由变换矩阵缩放,并再次由用户单位值缩放。
(实际上还有更多的因素。例如,如果使用渲染模式 2,填充和描边,以获得人造粗体效果,这也会略微增加尺寸。)
TextPosition.getFontSize 只返回第一个值。
TextPosition.getFontSizeInPt 返回类似于矩阵缩放的第一个值。 (有点像,因为乍一看似乎有另一种影响。)
不同的 PDF 创建者以不同的方式使用这些影响:
因此,您的 PDF 似乎是由软件使用第二种方式创建的。
getFontSizeInPt 有时会为相同大小的文本返回不同的值(对于相同大小的同一段落中的文本,我得到 12 和 11 的返回值。
你能分享一个关于那个问题的示例 PDF 吗?如上所述,乍一看似乎还有其他可能不正确的影响。但您的 PDF 也可能有一些特别之处。
【讨论】: