2013-04-02 79 views
0

我試圖從URL地址添加圖像到我的pdf。代碼是:從URL添加圖像到PDF?

Image image=Image.getInstance("http://www.google.com/intl/en_ALL/images/logos/images_logo_lg.gif"); 
image.scaleToFit((float)200.0, (float)49.0); 
paragraph.add(image); 

但它不起作用。什麼可能是錯誤的?

+2

什麼是錯誤? –

+1

你有沒有嘗試首先下載到臨時文件夾,然後添加到PDF? – igr

回答

2

這是使用iText從遠程位置加載.gif時的已知問題。

解決此問題的方法是使用Java下載.gif(而不是通過iText的Image類的getInstance方法)並在Image類的getInstance方法中使用下載的字節。

編輯: 我繼續在iText的固定遠程GIF加載,它是從iText的5.4.1和以後包括。

+0

不,似乎沒有工作,要麼: '網址URL =新的URL( 「http://blog.phonehouse.es/wp-content/uploads/2013/01/Google.jpg」); \t \t \t \t的InputStream在新=的BufferedInputStream(url.openStream()); \t \t \t \t ByteArrayOutputStream OUT =新ByteArrayOutputStream(); \t \t \t \t byte [] buf = new byte [1024]; \t \t \t \t int n = 0; \t \t \t \t而(-1 =(N = in.read(BUF))!) \t \t \t \t { \t \t \t \t out.write(BUF,0,N); \t \t \t \t} \t \t \t \t out.close(); \t \t \t \t in.close(); \t \t \t \t字節[]響應= out.toByteArray(); \t \t \t \t Image image = Image.getInstance(response); ' – riahc3

+0

我很喜歡在這裏編輯/輸入正確。 – riahc3

+0

我實際上繼續並在iText中解決了這個問題:http://sourceforge.net/p/itext/code/5741/ –

-3

你已經使用將圖像添加到iText的PDF的方式是用於添加本地文件,而不是URL的方式。

對於URL,這種方式將解決問題。

String imageUrl = "http://www.google.com/intl/en_ALL/" 
        + "images/logos/images_logo_lg.gif"; 

Image image = Image.getInstance(new URL(imageUrl)); 

然後您可以繼續這個image添加到一些以前開放document,使用document.add(image)

如需進一步參考,請訪問[Java IText: Image docs]。

+0

解釋會使這個答案。 – Mogsdad

+0

這不提供問題的答案。一旦你有足夠的[聲譽](http://stackoverflow.com/help/whats-reputation),你將能夠[評論任何職位](http://stackoverflow.com/help/privileges/comment);相反,[提供不需要提問者澄清的答案](http://meta.stackexchange.com/questions/214173/why-do-i-need-50-reputation-to-comment-what-c​​an- I-DO-代替)。 - [來自評論](/ review/low-quality-posts/12021099) –

+0

即使答案只有代碼,它仍然被認爲是答案。*不要說它不是答案,然後嘗試刪除它@DebosmitRay – Zizouz212