/** {@inheritDoc} */ @Override public void startRenderer(OutputStream outputStream) throws IOException { log.debug("Rendering areas to Area Tree XML"); if (this.handler == null) { SAXTransformerFactory factory = (SAXTransformerFactory)SAXTransformerFactory.newInstance(); try { TransformerHandler transformerHandler = factory.newTransformerHandler(); this.handler = transformerHandler; StreamResult res = new StreamResult(outputStream); transformerHandler.setResult(res); } catch (TransformerConfigurationException tce) { throw new RuntimeException(tce.getMessage()); } this.out = outputStream; } try { handler.startDocument(); } catch (SAXException saxe) { handleSAXException(saxe); } if (userAgent.getProducer() != null) { comment("Produced by " + userAgent.getProducer()); } atts.clear(); addAttribute("version", VERSION); startElement("areaTree", atts); }
/** {@inheritDoc} */ public void renderPage(PageViewport pageViewport) throws IOException { log.debug("Rendering page: " + pageViewport.getPageNumberString()); // Get a DOMImplementation DOMImplementation domImpl = GenericDOMImplementation.getDOMImplementation(); // Create an instance of org.w3c.dom.Document this.document = domImpl.createDocument(null, "svg", null); // Create an SVGGeneratorContext to customize SVG generation SVGGeneratorContext ctx = SVGGeneratorContext.createDefault(this.document); ctx.setComment("Generated by " + userAgent.getProducer() + " with Batik SVG Generator"); ctx.setEmbeddedFontsOn(true); // Create an instance of the SVG Generator this.svgGenerator = new SVGGraphics2D(ctx, true); Rectangle2D viewArea = pageViewport.getViewArea(); Dimension dim = new Dimension(); dim.setSize(viewArea.getWidth() / 1000, viewArea.getHeight() / 1000); this.svgGenerator.setSVGCanvasSize(dim); AffineTransform at = this.svgGenerator.getTransform(); this.state = new Java2DGraphicsState(this.svgGenerator, this.fontInfo, at); try { //super.renderPage(pageViewport); renderPageAreas(pageViewport.getPage()); } finally { this.state = null; } writeSVGFile(pageViewport.getPageIndex()); this.svgGenerator = null; this.document = null; }
String producer = userAgent.getProducer() != null ? userAgent.getProducer() : ""; final Version maxPDFVersion = rendererConfig.getPDFVersion(); if (maxPDFVersion == null) {
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; }
private void writeHeader() throws IOException { gen.writeDSCComment(DSCConstants.CREATOR, new String[] {getUserAgent().getProducer()}); gen.writeDSCComment(DSCConstants.CREATION_DATE, new Object[] {new java.util.Date()}); gen.writeDSCComment(DSCConstants.LANGUAGE_LEVEL, gen.getPSLevel());
/** {@inheritDoc} */ @Override public void startDocument() throws IFException { super.startDocument(); try { final OutputStream out; if (pclUtil.isOptimizeResources()) { tempURI = TEMP_URI_GENERATOR.generate(); out = new BufferedOutputStream(getUserAgent().getResourceResolver().getOutputStream(tempURI)); } else { out = this.outputStream; } this.gen = new PCLGenerator(out, getResolution()); this.gen.setDitheringQuality(pclUtil.getDitheringQuality()); if (!pclUtil.isPJLDisabled()) { gen.universalEndOfLanguage(); gen.writeText("@PJL COMMENT Produced by " + getUserAgent().getProducer() + "\n"); if (getUserAgent().getTitle() != null) { gen.writeText("@PJL JOB NAME = \"" + getUserAgent().getTitle() + "\"\n"); } gen.writeText("@PJL SET RESOLUTION = " + getResolution() + "\n"); gen.writeText("@PJL ENTER LANGUAGE = PCL\n"); } gen.resetPrinter(); gen.setUnitOfMeasure(getResolution()); gen.setRasterGraphicsResolution(getResolution()); } catch (IOException e) { throw new IFException("I/O error in startDocument()", e); } }