I think there must be a possibility to add a SVG to a chunk.
I have found a solution with svgSalamander but it's not that way I like it.
Thanks for your help
best regards

Markus Sticker
  ----- Original Message ----- 
  From: Mark Storer 
  To: Post all your questions about iText here 
  Sent: Wednesday, February 17, 2010 6:17 PM
  Subject: Re: [iText-questions] SVG as a list-bullet


  I've used Batik to convert SVG to PDF using PdfGraphics2D, but never as a 
list bullet.

  If the .png version works, but the .svg doesn't, I recommend you test with an 
Image around a PdfTemplate from some Other Source... just throw a filled 
rectangle into a new PdfTemplate and see if that works.

  If that doesn't work, it's quite possible that there's a bug in iText's 
template-image-as-a-list-bullet code.

  Another thing to investigate is whether or not you can get that image to 
Appear At All.  Add it directly to the document.  If it doesn't show that way 
either, then something is wrong with the SVG->PDF translation.  It may be that 
the entire image is being clipped (wid/hei too small or any of several other 
reasons).  There are a number of different ways things can Go Wrong.  

  I recall that I had to do some extra work to get images to appear properly, 
but I was donig some under-the-hood stuff that may be handled automagically 
with PrintTranscoder.
  --Mark Storer 
    Senior Software Engineer 
    Cardiff.com

  #include <disclaimer> 
  typedef std::Disclaimer<Cardiff> DisCard; 

    -----Original Message-----
    From: pri...@samea.de [mailto:pri...@samea.de]
    Sent: Wednesday, February 17, 2010 8:30 AM
    To: Post all your questions about iText here
    Subject: [iText-questions] SVG as a list-bullet


    Hello,

    does somebody ever tried to set a svg as a list bullet?
    Further has somebody ever tried to add a svg to a chunk?

    So I tried to do this but I was not very successful, maybe somebody has an 
    idea to do this well.

    Here is the code which I has modified from the examples.
    Thanks a lot.
    Best Regards

    Markus


    ---------------


    package com.lowagie.examples.objects;

    import java.awt.Graphics2D;

    import java.awt.geom.AffineTransform;
    import java.awt.image.BufferedImage;
    import java.awt.image.renderable.RenderableImage;
    import java.io.File;
    import java.io.FileOutputStream;
    import java.io.IOException;

    import org.apache.batik.transcoder.TranscoderInput;
    import org.apache.batik.transcoder.print.PrintTranscoder;

    import com.lowagie.text.Chunk;
    import com.lowagie.text.Document;
    import com.lowagie.text.DocumentException;
    import com.lowagie.text.Font;
    import com.lowagie.text.FontFactory;
    import com.lowagie.text.Image;
    import com.lowagie.text.List;
    import com.lowagie.text.ListItem;
    import com.lowagie.text.Paragraph;
    import com.lowagie.text.html.HtmlWriter;
    import com.lowagie.text.pdf.PdfContentByte;
    import com.lowagie.text.pdf.PdfTemplate;
    import com.lowagie.text.pdf.PdfWriter;

    /**
     * Demonstrates some List functionality.
     * 
     * @author blowagie
     */

    public class Lists {

     /**
      * Demonstrates some List functionality.
      * 
      * @param args no arguments needed here
      */
     public static void main(String[] args) {

      System.out.println("the List object");

      // step 1: creation of a document-object
      Document document = new Document();
      try {
                // step 2:
                PdfWriter.getInstance(document, new 
FileOutputStream("c:\\lists.pdf"));
                HtmlWriter.getInstance(document, new 
FileOutputStream("c:\\lists.html"));
                
                // step 3: we open the document
                document.open();
                
                // step 4:
                List list = new List(true, 20);
                list.add(new ListItem("First line"));
                list.add(new ListItem("The second line is longer to see what 
happens once the end of the line is reached. Will it start on a new line?"));
                list.add(new ListItem("Third line"));
                document.add(list);
                
                document.add(new Paragraph("some books I really like:"));
                ListItem listItem;
                list = new List(true, 15);
                listItem = new ListItem("When Harlie was one", 
FontFactory.getFont(FontFactory.TIMES_ROMAN, 12));
                listItem.add(new Chunk(" by David Gerrold", 
FontFactory.getFont(FontFactory.TIMES_ROMAN, 11, Font.ITALIC)));
                list.add(listItem);
                listItem = new ListItem("The World according to Garp", 
FontFactory.getFont(FontFactory.TIMES_ROMAN, 12));
                
                
                Image img2; // = Image.getInstance("c:\\punkt_gruen_plus.png");
               img2 = svgToImg("c:\\punkt_gruen_plus.svg");
                
                
                
                Chunk ck = new Chunk(img2, 0, 5/2, false);
       listItem.setListSymbol(ck );
                listItem.add(new Chunk(" by John Irving", 
FontFactory.getFont(FontFactory.TIMES_ROMAN, 11, Font.ITALIC)));
                list.add(listItem);
                listItem = new ListItem("Decamerone", 
FontFactory.getFont(FontFactory.TIMES_ROMAN, 12));
                listItem.add(new Chunk(" by Giovanni Boccaccio", 
FontFactory.getFont(FontFactory.TIMES_ROMAN, 11, Font.ITALIC)));
                list.add(listItem);
                document.add(list);
                
                Paragraph paragraph = new Paragraph("some movies I really 
like:");
                list = new List(false, 10);
                list.add("Wild At Heart");
                list.add("Casablanca");
                list.add("When Harry met Sally");
                list.add("True Romance");
                list.add("Le mari de la coiffeuse");
                paragraph.add(list);
                document.add(paragraph);
                
                document.add(new Paragraph("Some authors I really like:"));
                list = new List(false, 20);
                list.setListSymbol(new Chunk("\u2022", 
FontFactory.getFont(FontFactory.HELVETICA, 20, Font.BOLD)));
                listItem = new ListItem("Isaac Asimov");
                list.add(listItem);
                List sublist;
                sublist = new List(false, true, 10);
                sublist.setListSymbol(new Chunk("", 
FontFactory.getFont(FontFactory.HELVETICA, 8)));
                sublist.add("The Foundation Trilogy");
                sublist.add("The Complete Robot");
                sublist.add("Caves of Steel");
                sublist.add("The Naked Sun");
                list.add(sublist);
                listItem = new ListItem("John Irving");
                list.add(listItem);
                sublist = new List(false, true, 10);
                sublist.setFirst('a');
                sublist.setListSymbol(new Chunk("", 
FontFactory.getFont(FontFactory.HELVETICA, 8)));
                sublist.add("The World according to Garp");
                sublist.add("Hotel New Hampshire");
                sublist.add("A prayer for Owen Meany");
                sublist.add("Widow for a year");
                list.add(sublist);
                listItem = new ListItem("Kurt Vonnegut");
                list.add(listItem);
                sublist = new List(false, true, 10);
                sublist.setListSymbol(new Chunk("", 
FontFactory.getFont(FontFactory.HELVETICA, 8)));
                sublist.add("Slaughterhouse 5");
                sublist.add("Welcome to the Monkey House");
                sublist.add("The great pianola");
                sublist.add("Galapagos");
                list.add(sublist);
                document.add(list);
      } catch (DocumentException de) {
       System.err.println(de.getMessage());
      } catch (IOException ioe) {
       System.err.println(ioe.getMessage());
      }

      // step 5: we close the document
      document.close();
     }

     private static Image svgToImg(String string) {

            int width = 5;
            int height = 5;
            PdfContentByte cb = null;
               
            PdfTemplate template = cb.createTemplate(width,height);         
            Graphics2D g2 = template.createGraphics(width,height);          
                   
            PrintTranscoder prm = new PrintTranscoder();
            TranscoderInput ti = new TranscoderInput("file:///c:/neu.svg");
            
            prm.transcode(ti, null);
             AffineTransform arg1;
      RenderableImage arg0;
      Image image = new Image();
            
            

            g2.dispose(); 
            
      return image;
     }
    }


------------------------------------------------------------------------------


  ------------------------------------------------------------------------------
  SOLARIS 10 is the OS for Data Centers - provides features such as DTrace,
  Predictive Self Healing and Award Winning ZFS. Get Solaris 10 NOW
  http://p.sf.net/sfu/solaris-dev2dev


------------------------------------------------------------------------------


  _______________________________________________
  iText-questions mailing list
  iText-questions@lists.sourceforge.net
  https://lists.sourceforge.net/lists/listinfo/itext-questions

  Buy the iText book: http://www.1t3xt.com/docs/book.php
  Check the site with examples before you ask questions: 
http://www.1t3xt.info/examples/
  You can also search the keywords list: http://1t3xt.info/tutorials/keywords/
------------------------------------------------------------------------------
SOLARIS 10 is the OS for Data Centers - provides features such as DTrace,
Predictive Self Healing and Award Winning ZFS. Get Solaris 10 NOW
http://p.sf.net/sfu/solaris-dev2dev
_______________________________________________
iText-questions mailing list
iText-questions@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/itext-questions

Buy the iText book: http://www.1t3xt.com/docs/book.php
Check the site with examples before you ask questions: 
http://www.1t3xt.info/examples/
You can also search the keywords list: http://1t3xt.info/tutorials/keywords/

Reply via email to