我正在使用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)
答案 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的人。
上查看答案 1 :(得分:0)
400 https://docs.oracle.com/javase/8/docs/api/java/net/HttpURLConnection.html#HTTP_BAD_REQUEST
显然是连接错误,请检查网址是否有效,您可以正常登录。
答案 2 :(得分:0)
我已经解决了问题,问题在于url中的空格。我用'%20'替换了空格,它工作得很好。