如何制作和连接具有上传、设置页眉和页脚报告的Java swing程序

Posted

技术标签:

【中文标题】如何制作和连接具有上传、设置页眉和页脚报告的Java swing程序【英文标题】:How to make and connect the Java swing program that has uploading, setting header and footer report 【发布时间】:2012-12-07 17:49:39 【问题描述】:

我正在 Java Swing 中开发一个应用程序。我在我的应用程序中使用 JasperReportsiReport

我已经成功地在 JasperReports 和数据库之间建立了连接,并且还加载了 jrxml 文件。

我的问题是,在完成我的应用程序的开发后,我希望应用程序的用户能够设置他们的徽标,可以更改他们的页眉和页脚。我可以做到这一点的一种方法是创建一个用户界面,它是一个 JFrame,它具有上传图像选项 + 更改报告的页眉和页脚。但是如何将我的 JFrame 组件与 JR 报告联系起来,以便在我的 JFrame 组件中所做的更改应该反映在报告中?

【问题讨论】:

你的问题不是很清楚。您如何在报告中设置图像(即硬编码路径,您将图像字节作为参数传递等)?您将客户选择的上传图片存储在哪里? 是的,但是去哪里?它在您的数据库中,是否在某处的文件服务器上?就此而言,您是在服务器上生成报告并将其发送到客户端,还是在客户端生成? 是的,我将徽标保存在数据库中,它是客户端应用程序,而不是客户端服务器应用程序 先生,我在等你的回复 @ZaheerBoovaji 例如,您可以使用 JasperReports APIDynamicJasper API 【参考方案1】:

我假设“上传”的意思是将图像保存在服务器计算机的硬盘中的特定路径中,然后将该路径保存在数据库中。

    将上传的图片转换为InputStream

    String imgPath = "[path_of_uploaded_image_here]";
    BufferedImage image = ImageIO.read(new File(imgPath));
    ByteArrayOutputStream os = new ByteArrayOutputStream();
    ImageIO.write(image, "gif", os);
    InputStream is = new ByteArrayInputStream(os.toByteArray());
    

    将转换后的图像作为参数传递给jasperreport。(此处参数名称为ENTITY_IMAGE)

    在 iReport 中,创建一个参数。该参数的数据类型应为java.io.InputStream

    拖动图像。转到图像属性。在图像属性下,将 Expression Class 的值更改为 java.io.InputStream,然后将 Image Expression 更改为 $PENTITY_IMAGE。

【讨论】:

以上是关于如何制作和连接具有上传、设置页眉和页脚报告的Java swing程序的主要内容,如果未能解决你的问题,请参考以下文章

使用 R 在 .docx 报告中创建页眉和页脚?

如何在Excel中设置页眉和页脚

打印网页上的页眉和页脚如何设置

动画 UITableView 的页眉和页脚

如何在 Codeigniter 中组合具有相同页眉和页脚的视图页面?

我们如何在滚动视图中设置过度滚动页眉和页脚?