Hi all,

I'm sorry if this is the wrong place for my question.

I was seaching for a way to dynamically generate a PDF in Java code by drawing 
to a Graphics2D object. When I googled this, I found Apache FOP 1.0 which has a 
org.apache.fop.svg.PDFDocumentGraphics2D class (derived from Graphics2D), which 
seems to support dynamically generating a PDF by drawing to it.

E.g., I use code like this to generate a PDF and write it to an OutputStream 
(using Java 1.7):

    PDFDocumentGraphics2D g = new PDFDocumentGraphics2D(false, out, 842, 595);

    g.setGraphicContext(new org.apache.xmlgraphics.java2d.GraphicContext());

    g.setFont(new Font(Font.SANS_SERIF, Font.PLAIN, 12));
    g.drawLine(10, 10, 100, 100);
    g.drawString("Hi!", 30, 30);

    g.nextPage(); // switch to next page

    g.drawString("This is the 2nd page.", 30, 30);


    g.finish();
    g.dispose();

This seems to be working really well, using the integrated PDF Fonts.

However, I now have the problem that these integrated fonts seem not to support 
Unicode characters, e.g. if I use

g.drawString("\u263a", 30, 30);

then the Character is substituted by a "#" and a warning is printed:

Feb 07, 2012 1:10:11 PM org.apache.fop.fonts.Typeface warnMissingGlyph
Warnung: Glyph 9786 (0x263a, smileface) not available in font Helvetica

So, I was searching for a way to embed a TTF font in the PDF. However, I wasn't 
successful finding information about it, as it seems the FOP documentation and 
examples are only about XSL-FO (which I don't know much about, as I only need 
to generate PDFs by drawing to a Graphics2D), but using a PDFDocumentGraphics2D 
seems not to be well-documented. So I'm not sure if this is even an intended 
way to use FOP, or if there are other/better solutions to generate a PDF by 
drawing to a Graphics2D object in Java.

My questions are:
Is using FOP for generating a PDF by drawing to a Graphics2D a recommended way?
Is it possible to embed TTF fonts when drawing to a PDFDocumentGraphics2D 
object? If yes, how?


Thanks!

Best Regards,
Konstantin Preißer


---------------------------------------------------------------------
To unsubscribe, e-mail: fop-users-unsubscr...@xmlgraphics.apache.org
For additional commands, e-mail: fop-users-h...@xmlgraphics.apache.org

Reply via email to