Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/395.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Can';无法从资源中获取图像_Java_Pdfbox - Fatal编程技术网

Java Can';无法从资源中获取图像

Java Can';无法从资源中获取图像,java,pdfbox,Java,Pdfbox,我无法从Eclipse项目的另一个包中获取图像!我看到了这个帖子 我的代码是CreateTableOnPDF.java: 288 ClassLoader classLoader = Thread.currentThread().getContextClassLoader(); 289 InputStream input = classLoader.getResourceAsStream("images/sun.png"); 290 PDJpeg img = new PDJpeg

我无法从Eclipse项目的另一个包中获取图像!我看到了这个帖子 我的代码是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)
线程“main”java.lang.IllegalStateException中的异常: 位于org.apache.pdfbox.pdmodel.graphics.xobject.PDJpeg.setPropertiesFromAWT(PDJpeg.java:132) 位于org.apache.pdfbox.pdmodel.graphics.xobject.PDJpeg(PDJpeg.java:113) 位于MainClasses.CreateTableOnPDF.main(CreateTableOnPDF.java:290) 我不知道我做错了什么?也许是我在显示器前花了很多时间

以下是我的项目结构:


感谢您的关注和时间

您是否将
输入作为
null
?如果是这样,请尝试路径为“
”。/images/sun.png”

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

public PDJpeg(PDDocument doc, InputStream is) throws IOException
参数:

  • doc
    -创建图像作为其一部分的文档
  • ——包含JPEG数据的
抛出:

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

我也遇到了同样的异常情况!:(您确定它是映像…它抛出的IllegalStateException不是NullPointer如果对此进行更改:ClassLoader ClassLoader=Thread.currentThread().getContextClassLoader();InputStream in=ClassLoader.getResourceAsStream(“images/logo.jpg”);成功了!我刚刚看到了我的错误!我尝试用png图像创建PDJpeg对象!感谢您的宝贵时间。您可以将PDPixelMap用于png文件。第二个参数获取一个BuffereImage,这是您通过ImageIO.read()获得的。