2013-08-28 38 views

回答

0

可能是你找到的answere here

要獲得所有的字體,你必須通過PDF頁面和下面摘錄的字體迭代:

PDDocument doc = PDDocument.load("C:/test.pdf"); 
List<PDPage> pages = doc.getDocumentCatalog().getAllPages(); 
for(PDPage page:pages){ 
    Map<String,PDFont> pageFonts=page.getResources().getFonts(); 
} 
+0

感謝您的回覆,但這不是我需要的答案, 我想檢查字體是否被嵌入或不嵌入pdf? –

0

在PDFBox2,你會得到字體和他們的嵌入狀態是這樣的:

PDResources resources = page.getResources(); 
Iterator<COSName> ite = resources.getFontNames(); 
while (ite.hasNext()) { 
    COSName name = ite.next(); 
    PDFont font = resources.getFont(name); 
    boolean isEmbedded = font.isEmbedded(); 
    // ... do something with the results ... 
} 

我發現沒有辦法,找出字體的哪些字符是嵌入的,哪些不是。

+0

您只需檢查頁面的即時資源,而不是頁面上顯示的xobjects資源。特別是n-up文檔通常在xobjects中包含所有有趣的內容。 – mkl