private static FOUserAgent getDefaultUserAgent( File fo, String resourceDir ) { FOUserAgent foUserAgent = FOP_FACTORY.newFOUserAgent(); foUserAgent.setBaseURL( getBaseURL( fo, resourceDir ) ); return foUserAgent; }
/** * @param userAgent a user agent instance * @param g2d a graphics context * @return a bridge context */ public static BridgeContext createBridgeContext(FOUserAgent userAgent, AFPGraphics2D g2d) { ImageManager imageManager = userAgent.getImageManager(); FontInfo fontInfo = g2d.getFontInfo(); SVGUserAgent svgUserAgent = new SVGUserAgent(userAgent, new AggregatingFontFamilyResolver(new AFPFontFamilyResolver(fontInfo, userAgent.getEventBroadcaster()), DefaultFontFamilyResolver.SINGLETON), new AffineTransform()); ImageSessionContext imageSessionContext = userAgent.getImageSessionContext(); return new AFPBridgeContext(svgUserAgent, fontInfo, imageManager, imageSessionContext, new AffineTransform(), g2d, userAgent.getEventBroadcaster()); }
private void updateInfo() { PDFInfo info = pdfDoc.getInfo(); info.setCreator(userAgent.getCreator()); info.setCreationDate(userAgent.getCreationDate()); info.setAuthor(userAgent.getAuthor()); info.setTitle(userAgent.getTitle()); info.setSubject(userAgent.getSubject()); info.setKeywords(userAgent.getKeywords()); }
/** * Creates a new SVGUserAgent. * @param foUserAgent the FO user agent to associate with this SVG user agent * @param fontFamilyResolver the font family resolver * @param at the current transform */ public SVGUserAgent(FOUserAgent foUserAgent, FontFamilyResolver fontFamilyResolver, AffineTransform at) { super(foUserAgent.getSourcePixelUnitToMillimeter(), at, fontFamilyResolver); this.eventProducer = SVGEventProducer.Provider.get(foUserAgent.getEventBroadcaster()); }
/** {@inheritDoc} */ public AFPRendererConfig build(FOUserAgent userAgent, Configuration cfg) throws FOPException { boolean strict = userAgent.validateUserConfigStrictly(); AFPRendererConfig config = null; AFPEventProducer eventProducer = AFPEventProducer.Provider.get(userAgent.getEventBroadcaster()); try { config = new ParserHelper(cfg, userAgent.getFontManager(), strict, eventProducer).config; } catch (ConfigurationException e) { LogUtil.handleException(LOG, e, strict); } return config; }
/** * Default constructor * * @param userAgent user agent */ public AFPRendererConfigurator(FOUserAgent userAgent, RendererConfigParser rendererConfigParser) { super(userAgent, rendererConfigParser); eventProducer = AFPEventProducer.Provider.get(userAgent.getEventBroadcaster()); }
if ( StringUtils.isNotEmpty( authors ) ) foUserAgent.setAuthor( authors ); foUserAgent.setTitle( documentModel.getMeta().getTitle() ); foUserAgent.setKeywords( keywords ); foUserAgent.setCreator( documentModel.getMeta().getCreator() ); foUserAgent.setProducer( documentModel.getMeta().getGenerator() ); foUserAgent.setCreationDate( documentModel.getMeta().getCreationDate() ); if ( foUserAgent.getCreator() == null ) foUserAgent.setCreator( System.getProperty( "user.name" ) ); if ( foUserAgent.getCreationDate() == null ) foUserAgent.setCreationDate( new Date() );
final String uri = form.getImageURI(); ImageManager manager = userAgent.getImageManager(); ImageInfo info = null; try { ImageSessionContext sessionContext = userAgent.getImageSessionContext(); info = manager.getImageInfo(uri, sessionContext); = userAgent.getImageHandlerRegistry(); flavors = imageHandlerRegistry.getSupportedFlavors(formContext); userAgent.getEventBroadcaster()); eventProducer.imageError(resTracker, (info != null ? info.toString() : uri), ie, null);
uri = URISpecification.getURL(uri); ImageManager manager = getUserAgent().getImageManager(); ImageInfo info = null; try { ImageSessionContext sessionContext = getUserAgent().getImageSessionContext(); info = manager.getImageInfo(uri, sessionContext); Map hints = ImageUtil.getDefaultHints(sessionContext); double sx = pos.getWidth() / info.getSize().getWidthMpt(); double sy = pos.getHeight() / info.getSize().getHeightMpt(); sx *= userAgent.getSourceResolution() / info.getSize().getDpiHorizontal(); sy *= userAgent.getSourceResolution() / info.getSize().getDpiVertical(); at.scale(sx, sy); state.getGraph().drawRenderedImage(imgRend.getRenderedImage(), at); getUserAgent().getEventBroadcaster()); eventProducer.imageError(this, (info != null ? info.toString() : uri), ie, null); } catch (FileNotFoundException fe) { ResourceEventProducer eventProducer = ResourceEventProducer.Provider.get( getUserAgent().getEventBroadcaster()); eventProducer.imageNotFound(this, (info != null ? info.toString() : uri), fe, null); } catch (IOException ioe) { ResourceEventProducer eventProducer = ResourceEventProducer.Provider.get( getUserAgent().getEventBroadcaster()); eventProducer.imageIOError(this, (info != null ? info.toString() : uri), ioe, null);
final float deviceResolution = userAgent.getTargetResolution(); if (log.isDebugEnabled()) { log.debug("Generating SVG at " + deviceResolution + "dpi."); final float uaResolution = userAgent.getSourceResolution(); SVGUserAgent ua = new SVGUserAgent(userAgent, new FOPFontFamilyResolverImpl(pdfContext.getFontInfo()), new AffineTransform()); userAgent.getImageManager(), userAgent.getImageSessionContext(), new AffineTransform()); } catch (Exception e) { SVGEventProducer eventProducer = SVGEventProducer.Provider.get( context.getUserAgent().getEventBroadcaster()); eventProducer.svgNotBuilt(this, e, image.getInfo().getOriginalURI()); return; if (context.getUserAgent().isAccessibilityEnabled()) { MarkedContentInfo mci = pdfContext.getMarkedContentInfo(); generator.beginMarkedContentSequence(mci.tag, mci.mcid); } catch (TransparencyDisallowedException e) { SVGEventProducer eventProducer = SVGEventProducer.Provider.get( context.getUserAgent().getEventBroadcaster()); eventProducer.bitmapWithTransparency(this, e.getProfile(), image.getInfo().getOriginalURI()); } catch (Exception e) { SVGEventProducer eventProducer = SVGEventProducer.Provider.get( context.getUserAgent().getEventBroadcaster());
public PNGRendererConfig build(FOUserAgent userAgent, Configuration cfg) throws FOPException { return new PNGRendererConfig(new DefaultFontConfigParser().parse(cfg, userAgent.validateStrictly(), new FontEventAdapter(userAgent.getEventBroadcaster()))); }
private Metadata createDefaultDocumentMetadata() { Metadata xmp = new Metadata(); DublinCoreAdapter dc = DublinCoreSchema.getAdapter(xmp); if (getUserAgent().getTitle() != null) { dc.setTitle(getUserAgent().getTitle()); } if (getUserAgent().getAuthor() != null) { dc.addCreator(getUserAgent().getAuthor()); } if (getUserAgent().getKeywords() != null) { dc.addSubject(getUserAgent().getKeywords()); } XMPBasicAdapter xmpBasic = XMPBasicSchema.getAdapter(xmp); if (getUserAgent().getProducer() != null) { xmpBasic.setCreatorTool(getUserAgent().getProducer()); } else { xmpBasic.setCreatorTool(Version.getVersion()); } xmpBasic.setMetadataDate(new java.util.Date()); if (getUserAgent().getCreationDate() != null) { xmpBasic.setCreateDate(getUserAgent().getCreationDate()); } else { xmpBasic.setCreateDate(xmpBasic.getMetadataDate()); } return xmp; }
FOUserAgent userAgent = ff.newFOUserAgent(); userAgent.setURIResolver(new URIResolver() userAgent.setBaseURL(ServerConfigurationService .getString("serverUrl"));
/** * Save a page. * It saves the contents of the page to a file. * * @param page the page to prepare */ protected void savePage(PageViewport page) { try { // save page to cache ObjectOutputStream tempstream; String fname = "fop-page-" + page.getPageIndex() + ".ser"; URI tempURI = tempBaseURI.resolve(fname); OutputStream outStream = renderer.getUserAgent().getResourceResolver().getOutputStream(tempURI); tempstream = new ObjectOutputStream(new BufferedOutputStream(outStream)); try { page.savePage(tempstream); } finally { IOUtils.closeQuietly(tempstream); } pageMap.put(page, tempURI); if (log.isDebugEnabled()) { log.debug("Page saved to temporary file: " + tempURI); } } catch (IOException ioe) { AreaEventProducer eventProducer = AreaEventProducer.Provider.get( renderer.getUserAgent().getEventBroadcaster()); eventProducer.pageSaveError(this, page.getPageNumberString(), ioe); } }
/** * Creates a new MIF handler on a given OutputStream. * @param ua FOUserAgent instance for this process * @param os OutputStream to write to */ public MIFHandler(FOUserAgent ua, OutputStream os) { super(ua); outStream = os; boolean base14Kerning = false; //TODO - FIXME FontSetup.setup(fontInfo, null, ua.getResourceResolver(), base14Kerning); }
foUserAgent.getRendererOptions().putAll(renderingOptions); addXSLTParameter("fop-output-format", getOutputFormat()); addXSLTParameter("fop-version", Version.getVersion()); foUserAgent.setConserveMemoryPolicy(conserveMemoryPolicy); foUserAgent.setRendererOverride(renderer); } else if (MimeConstants.MIME_FOP_AREA_TREE.equals(outputmode) && mimicRenderer != null) { Renderer targetRenderer = foUserAgent.getRendererFactory().createRenderer( foUserAgent, mimicRenderer); XMLRenderer xmlRenderer = new XMLRenderer(foUserAgent); foUserAgent.setRendererOverride(xmlRenderer); } else if (MimeConstants.MIME_FOP_IF.equals(outputmode) && mimicRenderer != null) { = foUserAgent.getRendererFactory().createDocumentHandler( foUserAgent, mimicRenderer); serializer.mimicDocumentHandler(targetHandler); foUserAgent.setDocumentHandlerOverride(serializer);
RenderingContext context, boolean convert, Map additionalHints) throws IOException, ImageException { ImageManager manager = getUserAgent().getImageManager(); ImageHandlerRegistry imageHandlerRegistry = getUserAgent().getImageHandlerRegistry(); Map hints = createDefaultImageProcessingHints(getUserAgent().getImageSessionContext()); if (additionalHints != null) { hints.putAll(additionalHints);
/** {@inheritDoc} */ @Override public void setDefaultFontInfo(FontInfo fontInfo) { FontManager fontManager = getUserAgent().getFontManager(); FontCollection[] fontCollections = new FontCollection[] { new AFPFontCollection(getUserAgent().getEventBroadcaster(), null) }; FontInfo fi = (fontInfo != null ? fontInfo : new FontInfo()); fi.setEventListener(new FontEventAdapter(getUserAgent().getEventBroadcaster())); fontManager.setup(fi, fontCollections); setFontInfo(fi); }
/** {@inheritDoc} */ public void drawImage(String uri, Rectangle rect) throws IFException { try { addID(); AttributesImpl atts = new AttributesImpl(); addAttribute(atts, XLINK_HREF, uri); addAttribute(atts, "x", Integer.toString(rect.x)); addAttribute(atts, "y", Integer.toString(rect.y)); addAttribute(atts, "width", Integer.toString(rect.width)); addAttribute(atts, "height", Integer.toString(rect.height)); addForeignAttributes(atts); addStructureReference(atts); handler.element(EL_IMAGE, atts); } catch (SAXException e) { throw new IFException("SAX error in startGroup()", e); } finally { ImageSessionContext session = getUserAgent().getImageSessionContext(); ImageManager imageManager = getUserAgent().getImageManager(); imageManager.closeImage(uri, session); } }
/** * Default drawing method for handling a foreign object in the form of a DOM document. * @param doc the DOM document containing the foreign object * @param rect the rectangle in which to paint the image */ protected void drawImageUsingDocument(Document doc, Rectangle rect) { ImageManager manager = getUserAgent().getImageManager(); ImageInfo info = null; try { info = manager.preloadImage(null, new DOMSource(doc)); drawImageUsingImageHandler(info, rect); } catch (ImageException ie) { ResourceEventProducer eventProducer = ResourceEventProducer.Provider.get( getUserAgent().getEventBroadcaster()); eventProducer.imageError(this, (info != null ? info.toString() : INSTREAM_OBJECT_URI), ie, null); } catch (FileNotFoundException fe) { ResourceEventProducer eventProducer = ResourceEventProducer.Provider.get( getUserAgent().getEventBroadcaster()); eventProducer.imageNotFound(this, (info != null ? info.toString() : INSTREAM_OBJECT_URI), fe, null); } catch (IOException ioe) { ResourceEventProducer eventProducer = ResourceEventProducer.Provider.get( getUserAgent().getEventBroadcaster()); eventProducer.imageIOError(this, (info != null ? info.toString() : INSTREAM_OBJECT_URI), ioe, null); } }