【发布时间】:2012-02-06 08:33:30
【问题描述】:
我一直在尝试使用 iText 库提取 pdf 文档中每个单词的属性(字体、字体大小、颜色等)。我可以从每一页中提取文本,但不能提取属性。我也没有找到任何可以提供相同的东西。请帮帮我。
【问题讨论】:
标签: itext
我一直在尝试使用 iText 库提取 pdf 文档中每个单词的属性(字体、字体大小、颜色等)。我可以从每一页中提取文本,但不能提取属性。我也没有找到任何可以提供相同的东西。请帮帮我。
【问题讨论】:
标签: itext
我不是 Java 人,所以我不能给你工作代码,但希望我能帮你完成 95% 的工作。
首先你需要创建一个实现接口com.itextpdf.text.pdf.parser.TextExtractionStrategy的类
然后你可以将这个类的一个实例作为第三个参数传递给:
PdfTextExtractor.getTextFromPage(PdfReader reader, int pageNumber, TextExtractionStrategy strategy)
该接口的方法之一是renderText,它会为每个被处理的文本块调用。当它被调用时,一个TextRenderInfo 被传入其中有一个名为getFont 的方法,它应该给你你正在寻找的东西。将其内容存储在某种缓冲区中,在调用getTextFromPage 之后,您可以检查该缓冲区以查看每种字体。如果您想查看实现该接口的示例,请在线查找SimpleTextExtractionStrategy 的代码。否则 here's a C# version 几乎可以满足您的需求。
【讨论】: