Java 获取文档和/或字段字体?

Java 获取文档和/或字段字体?,java,pdf,pdfbox,Java,Pdf,Pdfbox,我正在尝试检测加载的PDF的字体,到目前为止,我可以通过COSDictionary查看字体,但我无法明确地找到它 这是我认为可以实现的,直到我尝试获取基本字体的字符串值: PDDocument pdfDocument = PDDocument.load("/paath/document.pdf"); PDDocumentCatalog docCatalog = pdfDocument.getDocumentCatalog(); COSDictionary dic = (COSDictiona

我正在尝试检测加载的PDF的字体,到目前为止,我可以通过COSDictionary查看字体,但我无法明确地找到它

这是我认为可以实现的,直到我尝试获取基本字体的字符串值:

PDDocument pdfDocument = PDDocument.load("/paath/document.pdf");
PDDocumentCatalog docCatalog = pdfDocument.getDocumentCatalog();  
COSDictionary dic = (COSDictionary) docCatalog.getCOSDictionary();
COSName docFont = (COSName) dic.getDictionaryObject(COSName.BASE_FONT);
System.out.println("Font: " + docFont);
如果我打印COSDictionary“dic”,我可以在输出中看到基本名称,因此我知道我必须接近它,但所有尝试朝着它努力或使用可用方法(如getName)或构造PDFont对象并使用getBaseFont的结果都是“null”


这里有什么明显的遗漏吗?

文档的“字体”是什么意思?一个文档可以有多种字体-你是说整个文档中只有一种字体吗?另外,如果我没有弄错的话,BaseFont是字体的属性,而不是文档。我想有一个名为Font(COSName.Font)的子词典,里面有使用过的字体,但我猜了很多。我想这是我试图获取的单个字段的字体,我可以导航Acroform对象并检索大小/坐标,但我无法确定字体名称。