It is working. Thanks for your help.
Pavel On Thu, Jul 2, 2015 at 12:54 PM, Simon Steiner <[email protected]> wrote: > Hi, > > > > You can you resource resolver: > > > > static class MyResourceResolver implements ResourceResolver { > > public Resource getResource(URI uri) throws IOException { > > return new Resource(xxx); > > } > > public OutputStream getOutputStream(URI uri) throws IOException { > > throw new RuntimeException(uri.toString()); > > } > > } > > > > public static void main(String[] args) throws TransformerException, > SAXException, IOException { > > String fopxconf = "<fop version=\"1.0\"></fop>"; > > > > ResourceResolver cloudResourceResolver = new MyResourceResolver(); > > FopFactoryBuilder confBuilder = new FopConfParser(new > ByteArrayInputStream(fopxconf.getBytes()), > > EnvironmentalProfileFactory.createRestrictedIO(new > File(".").toURI(), cloudResourceResolver)).getFopFactoryBuilder(); > > FopFactory fopFactory = confBuilder.build(); > > FOUserAgent foUserAgent = fopFactory.newFOUserAgent(); > > FileOutputStream fos = new FileOutputStream("out.png"); > > Fop fop = fopFactory.newFop("image/png", foUserAgent, fos); > > TransformerFactory factory = TransformerFactory.newInstance(); > > Transformer transformer = factory.newTransformer(); > > Source src = new StreamSource(new > ByteArrayInputStream(fo.getBytes())); > > Result res = new SAXResult(fop.getDefaultHandler()); > > transformer.transform(src, res); > > fos.close(); > > } > > > > Thanks > > > > *From:* Pavel Cibulka [mailto:[email protected]] > *Sent:* 02 July 2015 11:23 > *To:* [email protected] > *Subject:* FOP 2.0 loading fonts from jar > > > > How can I load fonts from .jar in FOP 2.0? > > > > In 1.1 it was possible though URI resolver: > > > > public final class FopClasspathUriResolver extends FOURIResolver > implements URIResolver { > > @Override > > public Source resolve(String href, String base) throws > TransformerException { > > InputStream inputStream = > FopClasspathUriResolver.class.getClassLoader().getResourceAsStream(href); > > if (inputStream != null) { > > return new StreamSource(inputStream); > > } > > return super.resolve(href, base); > > } > > } > > > > FopFactory fopFactory = FopFactory.newInstance(); > > FOURIResolver uriResolver = (FOURIResolver) fopFactory.getURIResolver(); > > uriResolver.setCustomURIResolver(new FopClasspathUriResolver()); > > > > > > In https://xmlgraphics.apache.org/fop/2.0/servlets.html#uriresolver > > Accessing resources in your web application > > this.fopFactory.setURIResolver(this.uriResolver); > > - Function setURIResolver is not in 2.0. > > - Also in 1.1 this was possible without Servlets API. > > > > > > I would be grateful for any help. Working with 2.0 has been really > frustrating experience so far for me. :( >
