早期 RCP 缺乏 BIRT 整合,採用客戶端參數收集 → 服務端渲染 → 客戶端顯示架構:
.jrxml)存放於服務端資源目錄。.jrprint。jrprint 字節流。SWT_AWT 橋接器嵌入 JRViewer(Swing 組件)顯示。Composite composite = new Composite(parent, SWT.EMBEDDED | SWT.NO_BACKGROUND);
Frame frame = SWT_AWT.new_Frame(composite);
frame.add(new JRViewer(jasperPrint));
JasperPrint jasperPrint = JasperFillManager.fillReport(
jasperReport, parameters, dataSource); // dataSource 可為 Connection 或 JRBeanCollectionDataSource
byte[] bytes = JasperExportManager.exportReportToPdf(jasperPrint); // 或 exportToXml
return bytes;
自定義 TCP Client/Server,採用值拷貝序列化(預設兩層),避免 Hibernate 代理物件序列化導致整庫傳輸。特殊場景通過約定參數控制傳輸深度。

註:截圖中漏斗圖為自繪控件,非 JasperReports 內建。