2012-04-29 43 views
0

我的面板高度为1600. A4格式高度的高度为842.我如何将此面板导出为两页PDF?要不我怎么能劈成两半此面板的两个图形,然后添加到第一页,然后调用document.newPage();和第二图形添加到第二页如何将高级JPanel转换为pdf

+1

这看起来非常类似于你以前的线程,包括:[如何将java swing面板转换为质量图像](http://stackoverflow.com/questions/10366660/how-to-convert-java-swing-面板到质量图像) – 2012-04-29 14:12:38

+0

不,不,我想将面板导出到图像。现在我想将面板导出为pdf – hudi 2012-04-29 14:14:50

回答

1

假设你打算使用iText的,概括地说,

你需要实现java.awt.print.Pageable,就像普通的Java打印一样。在你的例子中,它将有2页,这将是Printables。通常,可打印方法

print(Graphics graphics, PageFormat pageFormat, int pageIndex) 

您将根据页码翻译传入的图形。例如在你的例子中翻译pageIndex * 842。那里可能会有一个负号 - 根据我的经验,你有50:50的机会来确定方向。 :-)可能还有余裕值得担心。

然后,购买iText in Action(第2版)一书,并浏览第485页了解如何从Swing进行常规PDF创建。

在每个页面上循环。您可能已经猜到了,我刚刚这样做了,并且可能会在几天后发布更完整的代码的博客。敬请关注。

+0

这个很好的例子。 bwt还有其他一些出口图书馆可以做得更好吗? – hudi 2012-04-29 22:00:17