2014-12-02 105 views
-2

PdfReader與Itext library,所以:獲得的圖像字節

PdfReader reader = new PdfReader(); 
reader.getPageContent(4) 

我的網頁(4)內容的圖像,getPageContent返回byte []

這個圖像是結果空

+0

這可能是任何人能夠幫助你太少代碼。你能否給你的問題添加更多信息?你正在解析的pdf有什麼特別之處? – Magnilex 2014-12-02 14:58:45

回答

3

當你做reader.getPageContent(4),你會得到一個包含PDF語法的byte[]。例如:

BT 
36 788 Td 
/F1 12 Tf 
(Hello World)Tj 
ET 
q 
0 0 m 
595 842 l 
S 
Q 

這絕不是圖像。這絕不是可以作爲獨立對象使用的內容。例如:/F1引用一個資源,更具體地說是一個字體。沒有看看我們提取PDF語法的頁面的/Resources,我們不知道PDF字符串(Hello World)是什麼樣子。

問題標題獲取圖像字節在頁是錯誤的。你說我的網頁(4)內容圖片但這不是英文。假設你的意思是說我的第4頁包含一張圖片。在這種情況下,通過getPageContent()返回byte[]看起來有點像這樣:

q 20 0 0 20 36 786 cm /img0 Do Q 

在此語法qQ保存和恢復狀態。 cm運算符定義了圖像的大小和位置:它將是20乘20個用戶單位,位於x = 36和y = 786處。實際圖像作爲Image XObject存儲在頁面字典的資源中。它使用Do運算符添加到頁面中。

如果你不明白我在這個答案中說的話,你應該開始閱讀ISO-32000-1或者爲什麼不開始閱讀iText文檔?

見例如: