As promised here is a very simple PDF that contains a SVG-based p_w_picpath.
The SVG contains the following data:
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN""http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg width="300" height="300" version="1.1" xmlns="http://www.w3.org/2000/svg"><rect x="40" y="20" rx="20" ry="20" width="250" height="250" style="fill:red;stroke:black;stroke-width:1;"/></svg>
Here is the Java code:
publicstaticvoid main(String[] args) { Document document =new Document();try { PdfWriter writer = PdfWriter.getInstance(document,new FileOutputStream("svg.pdf")); document.open(); document.add(new Paragraph("SVG Example"));int width =250;int height =250; PdfContentByte cb = writer.getDirectContent(); PdfTemplate template = cb.createTemplate(width,height); Graphics2D g2 = template.createGraphics(width,height); PrintTranscoder prm =new PrintTranscoder(); TranscoderInput ti =new TranscoderInput("file:///c:\\java\\svg.xml"); prm.transcode(ti, null); PageFormat pg =new PageFormat(); Paper pp=new Paper(); pp.setSize(width, height); pp.setImageableArea(0, 0, width, height); pg.setPaper(pp); prm.print(g2, pg, 0); g2.dispose(); ImgTemplate img =new ImgTemplate(template); document.add(img); } catch (DocumentException e) { System.err.println(e); } catch (IOException e) { System.err.println(e); } document.close(); }
Keep in mind that you will need the Batik and Xerces libraries in addition to the iTExt jar file.