pdfbox-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Tilman Hausherr <THaush...@t-online.de>
Subject Re: JFreeChart instance into a PDF (PDFBox vs. iText)
Date Tue, 04 Apr 2017 16:13:45 GMT
Am 04.04.2017 um 15:24 schrieb Vassallo, Fabio:
>
> Good afternoon.
>
> I need to put a JFreeChart instance into a PDF document using PDFBox.
>
> In iText it’s possible to use the PdfTemplate class to directly put 
> the chart inside the document (see code below):
>
> *PdfWriter writer = ...;*
>
> *...*
>
> *JFreeChart chart = ...;*
>
> *float width  = ...;*
>
> *float height = ...;*
>
> *float posX = ...,*
>
> *float posY = ...;*
>
> *...*
>
> *PdfTemplate template = 
> writer.getDirectContent().createTemplate(width, height);*
>
> *PdfGraphics2D graphics = new PdfGraphics2D(template, width, height);*
>
> *Rectangle2D rectangle = new Rectangle2D.Double(0, 0, width, height);*
>
> *chart.draw(graphics, rectangle);*
>
> *graphics.dispose();*
>
> *writer.getDirectContent().addTemplate(template, posX, posY);*
>
> All I was able to do in PDFBox is converting the chart into an image, 
> but this causes a big quality loss (see code below):
>
> *PDDocument document = ..;*
>
> *PDPageContentStream currentContentStream = ...;*
>
> *...*
>
> *JFreeChart chart = ...;*
>
> *int width  = ...;*
>
> *int height = ...;*
>
> *float posX = ...,*
>
> *float posY = ...;*
>
> *...*
>
> *BufferedImage bi = chart.createBufferedImage(width, height);*
>
> *PDImageXObject image = LosslessFactory.createFromImage(document, bi);*
>
> *currentContentStream.drawImage(image, posX, posY);*
>
> Is there a way to put the chart into the document in the same way as 
> using iText?
>

No but you might want to try this external project:

https://issues.apache.org/jira/browse/PDFBOX-3697

Please put any feedback in that issue, so that the developer reads about it.

Tilman



Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message