I'm creating a PDF and somewhere in there I want to add a JPanel.
Using PdfContentByte
and PdfGraphics2D
I am able to add it to the document but:
- How do I position it so it's at the left margin instead of the left page edge?
- How do I prevent it from showing up over other elements?
- In other words: how can I put it in a Paragraph?
Code fragment:
// multiple Paragraphs
// ...
JPanel myPanel = ...
PdfContentByte canvas = writer.getDirectContent();
int origWidth = myPanel.getWidth();
int origHeight = myPanel.getHeight();
float width = document.getPageSize().getWidth() - document.leftMargin() - document.rightMargin();
double scale = width / origWidth;
Graphics2D g2 = new PdfGraphics2D(canvas, origWidth, origHeight);
g2.scale(scale, scale);
myPanel.paint(g2);
g2.dispose();
// even more Paragraphs
//...