gue*_*who 5 java configuration uri ejb apache-fop
我正在使用Fop-2.1从xml和xsl-fo生成PDF文件并花了很多时间来配置fop配置文件(我使用的是西里尔字体),根据https://xmlgraphics.apache.org/fop /2.1/configuration.html
在命令行中测试它,它工作正常:
fop -c conf.xml -xml xml -xsl xsl -pdf pdf
接下来我需要在java web应用程序中做同样的事情.应用程序是多模块Maven项目.
我试图通过位于服务模块的资源文件夹中的配置文件获取FopFactory实例时遇到困难,这里是项目树
服务模块
的src/main /资源
的conf/config.xml中
网络模块
如何使用我的配置文件创建FopFactory实例?
首先我这样做了:
FopFactory fopFactory = fopFactory = FopFactory.newInstance(
new File("/full/path/../resources/conf/config.xml"));
Run Code Online (Sandbox Code Playgroud)
在这个项目中我们使用EJB容器,当然
企业bean不得使用java.io包来尝试访问文件系统中的文件和目录.
然后我正在尝试这个
DefaultConfigurationBuilder cfgBuilder = new DefaultConfigurationBuilder();
Configuration cfg = null;
try {
cfg = cfgBuilder.build(getClass().getClassLoader().getResourceAsStream("conf/config.xml"));
} catch (Exception e) {
e.printStackTrace();
}
FopFactoryBuilder factoryBuilder = new FopFactoryBuilder(URI.create("/")).setConfiguration(cfg);
FopFactory fopFactory = factoryBuilder.build();
Run Code Online (Sandbox Code Playgroud)
PDF生成应用程序位于服务模块中.我需要在baseURI中设置什么?
fopFactoryBuilder = new FopFactoryBuilder(baseURI).setConfiguration(cfg);
Run Code Online (Sandbox Code Playgroud)
我遇到了类似的问题并创建了一个工作演示
这里是:
https://github.com/riskop/fop_test
另请参阅此:
将 FopFactoryBuilder baseURI 设置为 jar 类路径
| 归档时间: |
|
| 查看次数: |
2144 次 |
| 最近记录: |