gpt4 book ai didi

java - 使用 iText 将 Swing 组件导出为 PDF

转载 作者:太空宇宙 更新时间:2023-11-04 08:25:04 25 4
gpt4 key购买 nike

我有一个框架,上面有几个组件。如何使用 iText 绘制此 JFrame?

我编写了一些代码如下(但不起作用):

public void PrintFrameToPDF(Component c, File file) {
try {
Document d = new Document();
PdfWriter writer = PdfWriter.getInstance(d, new FileOutputStream(file));
d.open();

PdfContentByte cb = writer.getDirectContent();
PdfTemplate template = cb.createTemplate(c.getWidth(), c.getHeight());
Graphics2D g2d = template.createGraphics(c.getWidth(), c.getHeight());
c.paintAll(g2d);
c.addNotify();
c.validate();
g2d.dispose();

d.close();
} catch (Exception e) {
//
}
}

最佳答案

第一个 createTemplate 使用自己的单位:

createTemplate(PageSize.A4.getHeight(), PageSize.A4.getWidth());

您可以使用:

g2d.translate(48.0, 48.0);

并删除addNotify和validate。特别是当您调用 getHeight 时,验证没有任何意义。在 g2d.dispose 之后:

cb.addTemplate(template, 0, 0);

关于java - 使用 iText 将 Swing 组件导出为 PDF,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8731462/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com