I'm working with academic app with 2 parts, server and client...
On client side, the user uses forms to interact (CRUD) and call report requests to server (reports like a Day sales).
The client app sends a RMI request to server app and server return a JasperPrint object across RMI request (response) to this client.
One time in client app, this JasperPrint will be appended on JFrame an showed to user.
...OK...
Today i needed create an new report, that this report uses an particular font (like certificates font) and i've installed this font on JVM server machine (/usr/lib/jvm/jdk-1.7.0/jre/lib/fonts/) only...on client not.
When client user call this report, the client app throws a jasper font not found exception...referencing this font.
I believe that JasperPrint when appended on JFrame try use client available fonts..just this font.
The question is: How i can to client doesn't need this font installed to view this report, AND, i'm not convert the JasperPrint views to PDF views in all my app ?
A sample code of FacadeRMI call:
ReportsManager rm = FacadeFactoryLocal.newInstance(ReportsManager.class);
JasperPrint jasperPrint = rm.geraRelatorio(reportFile, parameters);
// ...
JFrame viewer = new JFrame("Report content");
viewer.setPreferredSize(new Dimension(800, 600));
viewer.setLocationRelativeTo(null);
JasperViewer jrViewer = new JasperViewer(print, true);
viewer.getContentPane().add(jrViewer.getContentPane());
new FrameConfig(viewer); // show the frame with validations.
Best regards.