【发布时间】:2013-09-27 16:18:19
【问题描述】:
我正在创建一个 PDF,我想在其中的某个地方添加一个 JPanel。
使用 PdfContentByte 和 PdfGraphics2D 我可以将其添加到文档中,但是:
- 如何定位它以使其位于左边距而不是页面左边缘?
- 如何防止它出现在其他元素之上?
- 换句话说:我怎样才能把它放在一个段落中?
代码片段:
// 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
//...
【问题讨论】:
-
您可能想要创建一个单独的模板,使用它的 Graphics2D,并将模板放置在您想要的位置。