/** {@inheritDoc} */ public void renderTo(FOUserAgent userAgent, String outputFormat, OutputStream out) throws FOPException { IFDocumentHandler documentHandler = userAgent.getRendererFactory().createDocumentHandler( userAgent, outputFormat); try { documentHandler.setResult(new StreamResult(out)); IFUtil.setupFonts(documentHandler); //Create IF parser IFParser parser = new IFParser(); // Resulting SAX events are sent to the parser Result res = new SAXResult(parser.getContentHandler(documentHandler, userAgent)); transformTo(res); } catch (IFException ife) { throw new FOPException(ife); } }
/** * Create a new render pages model with the given renderer. * @param userAgent FOUserAgent object for process * @param outputFormat the MIME type of the output format to use (ex. "application/pdf"). * @param fontInfo FontInfo object * @param stream OutputStream * @throws FOPException if the renderer cannot be properly initialized */ public RenderPagesModel(FOUserAgent userAgent, String outputFormat, FontInfo fontInfo, OutputStream stream) throws FOPException { super(); this.renderer = userAgent.getRendererFactory().createRenderer( userAgent, outputFormat); try { renderer.setupFontInfo(fontInfo); // check that the "any,normal,400" font exists if (!fontInfo.isSetupValid()) { throw new FOPException( "No default font defined by OutputConverter"); } renderer.startRenderer(stream); } catch (IOException e) { throw new FOPException(e); } }
/** * <code>FOTreeBuilder</code> constructor * * @param outputFormat the MIME type of the output format to use (ex. "application/pdf"). * @param foUserAgent the {@link FOUserAgent} in effect for this process * @param stream the <code>OutputStream</code> to direct the results to * @throws FOPException if the <code>FOTreeBuilder</code> cannot be properly created */ public FOTreeBuilder( String outputFormat, FOUserAgent foUserAgent, OutputStream stream) throws FOPException { this.userAgent = foUserAgent; this.elementMappingRegistry = userAgent.getElementMappingRegistry(); //This creates either an AreaTreeHandler and ultimately a Renderer, or //one of the RTF-, MIF- etc. Handlers. foEventHandler = foUserAgent.getRendererFactory().createFOEventHandler( foUserAgent, outputFormat, stream); if (userAgent.isAccessibilityEnabled()) { foEventHandler = new FO2StructureTreeConverter( foUserAgent.getStructureTreeEventHandler(), foEventHandler); } builderContext = new FOTreeBuilderContext(); builderContext.setPropertyListMaker(new PropertyListMaker() { public PropertyList make(FObj fobj, PropertyList parentPropertyList) { return new StaticPropertyList(fobj, parentPropertyList); } }); }
&& mimicRenderer != null) { Renderer targetRenderer = foUserAgent.getRendererFactory().createRenderer( foUserAgent, mimicRenderer); XMLRenderer xmlRenderer = new XMLRenderer(foUserAgent); = foUserAgent.getRendererFactory().createDocumentHandler( foUserAgent, mimicRenderer); serializer.mimicDocumentHandler(targetHandler);