3
我正在创建一个PDF,并在那里我想添加一个JPanel。如何在iText中定位PDFGraphis2D对象?
使用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,并将模板放置在您想要的位置。 – mkl