首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在PDFBox 2.0.2中从PDDocument中提取字体

如何在PDFBox 2.0.2中从PDDocument中提取字体
EN

Stack Overflow用户
提问于 2016-07-14 16:25:31
回答 4查看 7.2K关注 0票数 3

我已经在以前的版本中看到了如何做到这一点,如下所示:

How to extract font styles of text contents using pdfbox?

但是我认为getFonts()方法现在已经被移除了。我想在新版本的PDFBox中检索一个从文本到字体(Map<String, PDFont>)的映射,但我不知道如何检索。

谢谢

卡比尔

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2016-07-14 16:57:20

执行以下操作:

代码语言:javascript
运行
复制
PDDocument doc = PDDocument.load("C:/mydoc3.pdf");
for (int i = 0; i < doc.getNumberOfPages(); ++i)
{
    PDPage page = doc.getPage(i);
    PDResources res = page.getResources();
    for (COSName fontName : res.getFontNames())
    {
        PDFont font = res.getFont(fontName);
        // do stuff with the font
    }
}
票数 4
EN

Stack Overflow用户

发布于 2020-05-11 13:35:37

代码语言:javascript
运行
复制
 PDFMetaData pdfMeta = new PDFMetaData();
 PDDocument document = PDDocument.load(new File("/Users/ban.pdf"));
 PDPage page = document.getPage(0);
 PDResources res = page.getResources();
 for (COSName fontName : res.getFontNames())
{
  PDFont font = res.getFont(fontName);
  pdfMeta.setFontName(font);                    
}
票数 1
EN

Stack Overflow用户

发布于 2016-07-14 17:07:42

对于PDFBox 2.x,您要链接的答案的修订代码是

代码语言:javascript
运行
复制
PDDocument  doc = PDDocument.load("C:/mydoc3.pdf");
for(PDPage page : doc.getPages()){
    // get the names of the fonts in the resources dictionary
    Iterable<COSName> iterable = page.getResources().getFontNames();
    // to get the font for each item call
    // page.getResources().getFont(COSName name);
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38369096

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档