Olá pessoal.
Estou tentando gerar um gráfico usando JFreeChart.
Mas quando vou desenhar ele no PDF, vem a mensagem de erro:
java.lang.RuntimeException: only FONT/SIZE/UNDERLINE/SUPERSCRIPT supported
at com.lowagie.text.pdf.PdfGraphics2D.doAttributes(Unknown Source)
at com.lowagie.text.pdf.PdfGraphics2D.drawString(Unknown Source)
at org.jfree.text.TextUtilities.drawRotatedString(TextUtilities.java:549)
at org.jfree.text.TextUtilities.drawRotatedString(TextUtilities.java:578)
at org.jfree.text.TextFragment.draw(TextFragment.java:216)
at org.jfree.text.TextLine.draw(TextLine.java:168)
at org.jfree.text.TextBlock.draw(TextBlock.java:260)
at org.jfree.text.TextBlock.draw(TextBlock.java:222)
at org.jfree.chart.block.LabelBlock.draw(LabelBlock.java:360)
at org.jfree.chart.block.BlockContainer.draw(BlockContainer.java:224)
at org.jfree.chart.title.LegendItemBlockContainer.draw(LegendItemBlockContainer.java:222)
at org.jfree.chart.block.BlockContainer.draw(BlockContainer.java:224)
at org.jfree.chart.block.BlockContainer.draw(BlockContainer.java:224)
at org.jfree.chart.title.LegendTitle.draw(LegendTitle.java:550)
at org.jfree.chart.JFreeChart.drawTitle(JFreeChart.java:1343)
at org.jfree.chart.JFreeChart.draw(JFreeChart.java:1222)
at org.jfree.chart.JFreeChart.draw(JFreeChart.java:1119)
O código do erro é:
public void charInPDF (float width, float height, String fileName) throws DocumentException, IOException
{
PdfWriter writer = null;
Document document = new Document();
try
{
writer = PdfWriter.getInstance(document, new FileOutputStream("C:\\Users\\bernardo.a.a.dias\\Desktop\\Workspace Testes\\" + fileName + ".pdf"));
document.open();
PdfContentByte contentByte = writer.getDirectContent();
PdfTemplate template = contentByte.createTemplate(width, height);
Graphics2D graphics2d = template.createGraphics(width, height, new DefaultFontMapper());
Rectangle2D rectangle2d = new Rectangle2D.Double(0, 0, width, height);
chart.draw(graphics2d, rectangle2d); //LINHA ONDE ACONTECE O ERRO
graphics2d.dispose();
contentByte.addTemplate(template, 0, 0);
}
catch (Exception e)
{
e.printStackTrace();
}
document.close();
Se alguém puder me ajudar.
Já pesquisei no forum e na internet, mas não consegui achar um modo de corrigir.
Atenciosamente.
Bernardo Augusto de Faria Dias