我正在尝试检测加载的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'。
这里有什么显而易见的东西吗?