Java 使用FOP2.3版本时未找到FOP映像
我已经将FOP版本从FOP1.1升级到了FOP2.3版本,但是越来越多 找不到org.apache.fop.events.LoggingEventListener进程事件映像 下面是为升级而修改的代码段。 使用FOP2.3的主视图代码 代码: FOP2.3的视图代码Java 使用FOP2.3版本时未找到FOP映像,java,xsl-fo,apache-fop,Java,Xsl Fo,Apache Fop,我已经将FOP版本从FOP1.1升级到了FOP2.3版本,但是越来越多 找不到org.apache.fop.events.LoggingEventListener进程事件映像 下面是为升级而修改的代码段。 使用FOP2.3的主视图代码 代码: FOP2.3的视图代码 protected static final FopFactory fopFactory = FopFactory.newInstance(new File(".").toURI(), resolver); XSLT代码 <
protected static final FopFactory fopFactory = FopFactory.newInstance(new File(".").toURI(), resolver);
XSLT代码
<fo:external-graphic src = "stylesheets/Anthem_Join_In.bmp"/>
冲突解决程序的API已更改,文档记录不完整。这段代码适用于JSF Web应用程序中的我(FOP2.3)
final ServletContext sc = (ServletContext) FacesContext.getCurrentInstance().getExternalContext().getContext();
// Create ServletContext resource Resolver
ResourceResolver resolver = new ResourceResolver() {
@Override
public Resource getResource(URI uri) throws IOException {
return new Resource(sc.getResourceAsStream(uri.toASCIIString()));
}
@Override
public OutputStream getOutputStream(URI uri) throws IOException {
URL url = sc.getResource(uri.toASCIIString());
return url.openConnection().getOutputStream();
}
};
// Buid the factory
FopFactoryBuilder builder = new FopFactoryBuilder(new URI(sc.getContextPath()), resolver);
FopFactory FOP_FACTORY = builder.build();
我的项目中以前的代码的其余部分保持不变。我没有使用transformer.setURIResolver(…)
xml fop代码如下所示:
<fo:external-graphic width="auto" content-width="164pt" height="auto" src="url(/resources/img/main-logo.png)"/>
<fo:external-graphic width="auto" content-width="164pt" height="auto" src="url(/resources/img/main-logo.png)"/>