【问题标题】:PDFbox - get line or text font size/formatPDFbox - 获取行或文本字体大小/格式
【发布时间】:2013-07-09 11:08:42
【问题描述】:

我正在尝试从 pdf 文件中获取特定文本或行的字体大小或格式(粗体等),但直到现在都没有成功。

像下面这样使用 PDFTextStripper 只会得到纯文本

PDFTextStripper 剥离器 = new PDFTextStripper(); String actualText = stripper.getText(actualDoc);

你能帮我解决这个问题吗? 谢谢。

【问题讨论】:

    标签: java pdfbox


    【解决方案1】:

    您需要扩展PDFTextStripper 并覆盖PDFTextStripper#processTextPosition。此方法使您可以访问TextPosition 对象,其中保存了字体属性。 然后您需要收集位于指定框(您的行)中的所有 TextPosition 并将它们放在一起。

    【讨论】:

    • 或者@mihai 可能会覆盖writeString(String, List<TextPosition>) --- 这里的信息已经被排序和过滤了。
    • @mkl 谢谢,我刚开始研究 PDFbox,您的评论也帮助了我!覆盖writeString(String, List<TextPosition>) 确实应该是一种更简单的方法。
    • writeString 重载是最近才添加到库中的。因此,即使是 PDFBox 的长期用户也可能会错过它;)。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-06-02
    • 2012-05-03
    • 2014-03-09
    相关资源
    最近更新 更多