gpt4 book ai didi

java - 如何从类路径加载 ICC 配置文件?

转载 作者:行者123 更新时间:2023-11-30 10:40:34 25 4
gpt4 key购买 nike

在尝试使用 Jasper Reports 生成符合 PDF/A 标准的 PDF 时,我得到了

net.sf.jasperreports.engine.util.JRPdfaIccProfileNotFoundException. 

这很容易通过配置来解决

<property name="net.sf.jasperreports.export.pdfa.icc.profile.path" value="/stuff/myicc.icc"/>

但我需要将 icc 配置文件与 WAR 的其余部分捆绑在一起,就像报告嵌入的字体一样。如何才能做到这一点?我看起来像

<property name="net.sf.jasperreports.export.pdfa.icc.profile.path" value="classpath:/jasper/someicc.icc"/>

但这没有用,icc profile 相对于报告本身也没有用。我可以将 InputStream 作为参数传递给 PDFGenerator 吗?

最佳答案

如果您从 Java 代码导出,您可以使用 getClassLoader().getResource()获取文件的绝对路径。

JRPdfExporter 示例

JRPdfExporter exporter = new JRPdfExporter();
//... your input and output
SimplePdfExporterConfiguration configuration = new SimplePdfExporterConfiguration();
URL path = this.getClass().getClassLoader().getResource("jasper/someicc.icc");
configuration.setIccProfilePath(path.getFile());
//other settings
exporter.setConfiguration(configuration);
exporter.exportReport();

关于java - 如何从类路径加载 ICC 配置文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38851531/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com