使用iText从pdf文件获取文本字体

时间:2012-02-06 08:33:31

标签: itext

我一直在尝试使用iText库提取pdf文档中每个单词的属性(字体,字体大小,颜色等)。我可以从每个页面中提取文本,但不提取属性。此外,我没有找到任何可以提供相同的东西。请帮帮我。

1 个答案:

答案 0 :(得分:0)

我不是一个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几乎可以满足您的需求。