无法从资源中获取图像

Kos*_*asC 2 java pdfbox

我在从 Eclipse 项目的另一个包中获取图像时遇到问题!我在这里看到这篇文章 我的代码是这个 CreateTableOnPDF.java:

288    ClassLoader classLoader = Thread.currentThread().getContextClassLoader();
289    InputStream input = classLoader.getResourceAsStream("images/sun.png");
290    PDJpeg img = new PDJpeg(doc, input);
Run Code Online (Sandbox Code Playgroud)

我收到此异常:

Exception in thread "main" java.lang.IllegalStateException: 
at org.apache.pdfbox.pdmodel.graphics.xobject.PDJpeg.setPropertiesFromAWT(PDJpeg.java:132)
at org.apache.pdfbox.pdmodel.graphics.xobject.PDJpeg.<init>(PDJpeg.java:113)
at MainClasses.CreateTableOnPDF.main(CreateTableOnPDF.java:290)
Run Code Online (Sandbox Code Playgroud)

我不知道我做错了什么?也许是我的显示器前已经花了很多时间。

这是我的项目结构: 在此处输入图片说明

感谢您的关注和时间!

小智 5

请检查API文档,您应该放置 JPEG 数据,而不是PNG 数据。

public PDJpeg(PDDocument doc, InputStream is) throws IOException
Run Code Online (Sandbox Code Playgroud)

参数:

  • doc - 用于创建图像的文档。
  • is-包含 JPEG 数据的流。

抛出:

  • IOException - 如果读取 JPEG 数据出错。