2013-04-02 46 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