无法从资源中获取图像

时间:2014-09-17 12:34:07

标签: java pdfbox

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

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

我得到了这个例外:

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)

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

这是我的项目结构: enter image description here

感谢您的关注和时间!

2 个答案:

答案 0 :(得分:4)

请检查文档..您应该将jpeg数据放入非PNG数据

PDJpeg public PDJpeg(PDDocument doc,       InputStream是)

从流中抛出IOExceptionConstruct。

参数:

doc - 用于创建图像的文档。

是 - 包含jpeg数据的流。

抛出:

IOException - 如果读取jpeg数据时出错。

答案 1 :(得分:0)

您是否inputnull?如果是,请尝试路径"../images/sun.png"