Maybe not the best way to do this but ... Remove all the formats: Code: JRViewer viewer = new JRViewer(jasperPrint); JRSaveContributor[] save = viewer.getSaveContributors(); for (int i=0; i<save.length; i++) { viewer.removeSaveContributor(save); } Add the ones you need (taken from the initSaveContributors in the JRViewer class): Code:[code] final String[] DEFAULT_CONTRIBUTORS = { "net.sf.jasperreports.view.save.JRPrintSaveContributor", "net.sf.jasperreports.view.save.JRPdfSaveContributor", "net.sf.jasperreports.view.save.JRRtfSaveContributor", "net.sf.jasperreports.view.save.JRHtmlSaveContributor", "net.sf.jasperreports.view.save.JRSingleSheetXlsSaveContributor", "net.sf.jasperreports.view.save.JRMultipleSheetsXlsSaveContributor", "net.sf.jasperreports.view.save.JRCsvSaveContributor", "net.sf.jasperreports.view.save.JRXmlSaveContributor", "net.sf.jasperreports.view.save.JREmbeddedImagesXmlSaveContributor" }; for(int i = 0; i < DEFAULT_CONTRIBUTORS.length; i++) { try { Class saveContribClass = JRClassLoader.loadClassForName(DEFAULT_CONTRIBUTORS); Method method = saveContribClass.getMethod("getInstance",(Class[])null); JRSaveContributor saveContrib = (JRSaveContributor)method.invoke(null,(Object[])null); viewer.addSaveContributor(saveContrib); } catch (Exception e) { } } Remove the ones you don't need from the DEFAULT_CONTRIBUTORS. Post edited by: 3rwin, at: 2007/03/21 11:02