I'm using the popular JasperReports reporting library with Caché/IRIS for several years. See my presentation on this topic from the Caché User Group how to do this: CUG - reporting with JasperReports
You have several options: using the IRIS JDBC connector is the most obvious one, but I'm also using HTTP endpoints returning XML data source to JasperReports. Works very well.
A big advantage is that you can design your reports pixel-precise using JasperSoft Studio.
FYI, you can simply use the JasperReports server community edition: https://community.jaspersoft.com/
You'll need to install JasperReports Server and JasperSoft Studio to work with the IRIS JDBC connector.