java - Apache poi java:在另一台计算机上运行 JAR 文件时,图像未显示在文档中
问题描述
我创建了一个可以处理文件的应用程序,并且可以在我编写代码的计算机上完美运行,但是它在其他计算机上无法正常运行。在查看了整个代码后,我能够找到问题所在。我删除了以下添加图像的方法,并且 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的项目中创建了一个源文件,我在其中添加了图像,有人知道如何解决这个问题吗?
解决方案
也许在您的计算机上,图像是从文件系统中获取的,而不是从 jar 中获取的。图像是否打包在jar文件中?然后尝试
Inputstream logo = getClass().getResourceAsStream("/path/in/jar/img.png");
加载它。
推荐阅读
- amazon-web-services - AWS:使用变量将标签分配给秘密
- python - 如何制作文件列表,每个列表包含 10 个文件,文件总数为 1330?
- google-cloud-platform - 数据融合 - 参数设置器插件抛出空指针异常
- ios - 在函数中返回 SwiftUI 列表
- python-3.x - 令人困惑的线程输出
- java - Spring data elasticsearch:在POJO接口类上使用@Document注释不起作用
- java - WebClient 每次更改正文请求
- c# - 如果没有共同点,则 LINQ 使用自定义文本左连接
- c++ - C++:有人可以帮我优化我的解决方案吗?
- react-native - 反应原生消息吐司悬停在标签栏上