使用Itext Pdf将图像添加到Pdf文件

时间:2017-07-14 12:00:07

标签: java spring pdf itext

我正在使用iText生成Pdf。但是当我试图在pdf中添加图像时,

Image schoolLogo = Image.getInstance(new URL(timetableResource.getImageUrl())); document.add(schoolLogo);

但是我收到了错误

  

HTTP状态500 - 服务器返回HTTP响应代码:400用于URL:http://139.59.72.150:8080/sms/attachments/23/42/school/23/23/Vandana International School Logo.png

     

输入例外报告

     

message Server返回HTTP响应代码:400为URL:(myUrl)

     

说明服务器遇到内部错误,导致无法完成此请求。

     

例外

     

java.io.IOException:服务器返回HTTP响应代码:400为URL:(myUrl)       sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1876)       sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1474)       java.net.URL.openStream(URL.java:1045)       com.lowagie.text.Image.getInstance(Unknown Source)

3 个答案:

答案 0 :(得分:1)

请考虑切换到iText7。正如Bruno已经指出的那样,您目前正在使用不再受支持的版本。 有关您的信息,iText7添加图像的方式是:

String FOX = "path/to/resource/fox.png";
String DOG = "path/to/resource/dog.png";

Image fox = new Image(ImageDataFactory.create(FOX));
Image dog = new Image(ImageDataFactory.create(DOG));
Paragraph p = new Paragraph("The quick brown ")
                .add(fox)
                .add(" jumps over the lazy ")
                .add(dog);
document.add(p);

有一个完整的快速入门教程,针对那些已经知道iText如何工作并需要一些指针迁移到iText7的人。

http://developers.itextpdf.com/content/itext-7-jump-start-tutorial/chapter-1-introducing-basic-building-blocks

上查看

答案 1 :(得分:0)

400 https://docs.oracle.com/javase/8/docs/api/java/net/HttpURLConnection.html#HTTP_BAD_REQUEST

显然是连接错误,请检查网址是否有效,您可以正常登录。

答案 2 :(得分:0)

我已经解决了问题,问题在于url中的空格。我用'%20'替换了空格,它工作得很好。