I am having an issue using PDFBox (pdfbox-app-2.0.21.jar) and SVGGraphics2d (batik-1ll-1.16.jar) to generate SVG output from a small PDF file.
This file has about 9 vector lines, and a rectangle filled with horizontal lines. Using the PDFBox PDFRenderer to JPG, I get the appropriate fill for the rectangle: screen capture: Emacs! However, using the PDFBox PDFRenderer with SVGGraphics2d, I get a black filled rectangle. screen capture: Emacs! The generator code fragment is as follows: // setup instance of org.w3c.dom.Document DOMImplementation oDom = GenericDOMImplementation.getDOMImplementation(); String sSvgOrg = "http://www.w3.org/2000/svg"; Document oSvgDoc = oDom.createDocument(sSvgOrg, "svg", null); SVGGeneratorContext oCtx = SVGGeneratorContext.createDefault(oSvgDoc); oCtx.setEmbeddedFontsOn(true); // setup renderer object PDFRenderer oRender = new PDFRenderer( oDoc ); // loop for all pages in the PDF for ( int nPageNdx = 0; nPageNdx < oDoc.getNumberOfPages(); nPageNdx++ ) { // setup output file if ( sOutputMode.equalsIgnoreCase("svg") ) { // svg String sSvgPageSpec = GenericUtil.PathMake(sDestPath, "page-"+nPageNdx+".svg"); (new File(sSvgPageSpec)).createNewFile(); // setup instance of SVG Generator SVGGraphics2D oSvgGen = new SVGGraphics2D( oCtx, false ); // render the page to SVG oRender.renderPageToGraphics( nPageNdx, oSvgGen ); // write to file OutputStream oOutStream = new FileOutputStream( new File(sSvgPageSpec) ); Writer oOutWriter = new OutputStreamWriter( oOutStream, "UTF-8" ); oSvgGen.stream( oOutWriter, true ); continue; } if ( sOutputMode.equalsIgnoreCase("jpg") ) { // jpg output String sJpgPageSpec = GenericUtil.PathMake(sDestPath, "page-"+nPageNdx+".jpg"); File oFileJpg = new File(sJpgPageSpec); BufferedImage image = oRender.renderImageWithDPI(nPageNdx, GenericUtil.parseInt(sDpi, 300)); ImageIO.write(image, "JPEG", oFileJpg); continue; } } I've attached the input PDF file as well. Thoughts? Rich Stafford Chief Scientist eQuorum Corporation
--------------------------------------------------------------------- To unsubscribe, e-mail: users-unsubscr...@pdfbox.apache.org For additional commands, e-mail: users-h...@pdfbox.apache.org