JasperReports, PDF und "Speichern unter"-Dialog

  • Themenstarter Themenstarter Camino
  • Beginndatum Beginndatum
C

Camino

Gast
Hallo,

wie ich mit JasperReports ein PDF erstellt und abgespeichert bekomme, hab ich nun hingekriegt. Weiss aber jemand von euch, wie und ob es geht, dass ich den PDF-Namen und Speicherort nicht fest eintrage, sondern dass ein Dateidialog aufgeht und ich den Namen des PDF und den Speicherort (in meinem Dateisystem) selbst auswählen kann? Hab da bisher nichts dazu gefunden.
 
Das hat mit JasperReport nur am Rande zu tun.

Die Ausgabe-Datei kannst Du dem Exporter als Parameter mitgeben. Wenn Du das auswählbar haben möchtest, kannst Du einfach einen FileChooser vorschalten.

Java:
			JRExporter exporter = new JRPdfExporter();
			JFileChooser fc = new JFileChooser();
			int returnVal = fc.showSaveDialog(null);
			if (returnVal == JFileChooser.APPROVE_OPTION) {
				File file = fc.getSelectedFile();
				exporter.setParameter(JRExporterParameter.OUTPUT_FILE, file);
				exporter.setParameter(JRExporterParameter.JASPER_PRINT, print);
				exporter.exportReport();
			}
 
Hey super, beschäftige mich erst seit kurzem mit JasperReports. Das mit dem Exporter wusste ich so nicht bzw. hatte das bisher noch nicht entdeckt. Hatte das bisher immer so gemacht: JRXML kompiliert, den JasperReport gefüllt und dann den JasperPrint an den ExportManager mit exportReportToPdfFile weitergegeben. Dort hatte ich dann das PDF-File fest eingetragen. Ich werde deinen Tipp mal ausprobieren. Vielen Dank.
 
Mir fällt da noch eine Frage zu den JasperReports ein. Ich stell die einfach mal hier in dem gleichen Posting.

Und zwar kann man ja auch die Reports in ein OpenOffice-Dokument exportieren. Kann ich da auswählen oder einstellen, dass das erzeugte Dokument nicht abgespeichert, sondern mit OpenOffice geöffnet wird? So eine Art temporäres Dokument, noch nicht auf der Festplatte abgespeichert und auch noch kein Dateiname vergeben. So dass die Benutzer dann selbst entscheiden können, ob sie das Dokument abspeichern oder ausdrucken wollen, oder ob an dem Dokument vorher noch etwas geändert wird.
 
Du kannst den Report auf dem Bildschirm anzeigen lassen, zoomen, speichern und drucken. Das nutze ich manchmal damit der Benutzer sich den Report vorher ansehen kann.

Java:
	JasperPrint print = JasperFillManager.fillReport(fileName, hm,new JREmptyDataSource());
	JFrame frame = new JFrame("Report");
	frame.getContentPane().add(new JRViewer(print));
	frame.pack();
	frame.setVisible(true);
 
Ja, das mit dem Viewer muss ich mir auch noch anschauen. Was ich aber dachte, was am allerbesten wäre, wenn ich das erzeugte Dokument (odt) direkt mit OpenOffice (ohne vorher zu speichern) öffnen könnte und dann z.B. dort direkt Sachen ändern, oder das Dokument drucken oder speichern könnte.
 
Ob so etwas geht weiss ich nicht.

Ich kann mir vorstellen alles in eine temporäre Datei zu speichern und diese am Ende automatisch zu löschen.
 

Neue Themen


Zurück
Oben