【问题标题】:Adding image to Pdf file using Itext Pdf使用 Itext Pdf 将图像添加到 Pdf 文件
【发布时间】:2017-12-19 12:35:49
【问题描述】:

我正在使用 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/VandanaInternational School Logo.png

输入异常报告

消息服务器返回 HTTP 响应代码:400 for 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)

【问题讨论】:

标签: java spring pdf itext


【解决方案1】:

请考虑切换到 iText7。正如布鲁诺已经指出的那样,您当前使用的版本不再受支持。 供您参考,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.) URL 无效,(2.) 资源不可用,(3.)提供图像的 Tomcat 实例返回一个带有错误消息的 HTML 页面,...
  • 我认为在所有这些情况下,这并不是真正的 iText 问题。垃圾(错误的网址)输入,垃圾输出。
  • 当然不是 iText 问题。这是一个应该结束的糟糕问题。
【解决方案2】:

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

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

【讨论】:

  • 请将您的评论变成答案。
  • 我必须有 50 声望才能发表评论:'(
【解决方案3】:

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

【讨论】:

    猜你喜欢
    • 2010-12-22
    • 1970-01-01
    • 2019-03-26
    • 1970-01-01
    • 2014-08-18
    • 1970-01-01
    • 2015-06-02
    • 1970-01-01
    相关资源
    最近更新 更多