Apache poi java。在另一台电脑上运行JAR文件时,文档中不显示图像。

问题描述 投票:1回答:1

我创建了一个与文件一起工作的应用程序,在我编写代码的计算机中完美地工作,然而在其他计算机中却不能正常工作。在审查了整个代码后,我能够找到问题所在。我去掉了下面的添加图片的方法,jar文件在多台电脑中可以正常工作,然而我需要添加图片。该方法如下。(doc是在另一个类中声明的静态变量,如果你想知道)

            public void AddImage() throws IOException, InvalidFormatException {

        XWPFParagraph parag = document.createParagraph();
        XWPFRun r = parag.createRun();

        URL imageURL = ClassLoader.getSystemResource("TheImage.png");
        String imageName = imageURL.getPath();
        File image = new File(imageName);
        FileInputStream fis = new FileInputStream(image);

        BufferedImage bimg1 = ImageIO.read(image);
        int width = 160;//bimg1.getWidth();
        int height = 26;//bimg1.getHeight();  

        String imgFile = image.getName(); 

        r.addPicture(fis, document.PICTURE_TYPE_PNG, imgFile, Units.toEMU(width), Units.toEMU(height));
    }

给大家详细说一下,我在eclipse的项目中创建了一个源文件,在那里添加了图片,有谁知道如何解决这个问题吗?

java apache-poi
1个回答
3
投票

也许在你的电脑上,图像是从文件系统而不是从jar中获取的。镜像是否打包在jar文件中?然后尝试

Inputstream logo = getClass().getResourceAsStream("/path/in/jar/img.png");

来加载它。

如何在Java中从jar中读取文件?

© www.soinside.com 2019 - 2024. All rights reserved.