如何使用pdfbox从pdf中检索字体类型样式属性
问问题
3741 次
1 回答
1
如果要获取pdf文档中单个字符的字体,可以调用textPosition.getFont().getFontDescriptor().getFontName()
,其中textPosition是TextPosition类的一个实例。
PDF 文档的所有字符都与 TextPosition 对象相关。
processTextPosition(TextPosition t)
您可以通过重写PDFTextStripper 的方法或使用 PDFTextStripper的方法来获取 PDF 文档的 TextPosition 对象getCharactersByArticle()
。
即后者 - 像这样扩展 PDFStripper 类:
public class MyPDFTextStripper extends PDFTextStripper {
public MyPDFTextStripper() throws IOException {
super();
}
public Vector<List<TextPosition>> myGetCharactersByArticle() {
return getCharactersByArticle();
}
}
...获取单页使用的 TextPositions 列表:
MyPDFTextStripper stripper = new MyPDFTextStripper();
PDDocument doc = PDDocument.load(new File(filename));
stripper.setStartPage(pageNr+1);
stripper.setEndPage(pageNr+1);
stripper.getText(doc);
Vector<List<TextPosition>> list = stripper.myGetCharactersByArticle();
...最后要获取单个字符的字体,只需键入:
textPosition.getFont().getFontDescriptor().getFontName()
于 2014-10-03T15:15:30.423 回答