2016-07-29 5 views
0

ich Durchführung Batch-Export in JaseReports mit den Codes unter:Jasper: auf gleiche fortsetzen, während Batch-Export durchführen

JRExporter e = new JRPdfExporter(); 
e.setParameter(JRExporterParameter.JASPER_PRINT_LIST, jasperPrints); 
e.setParameter(JRPdfExporterParameter.OUTPUT_STREAM, outStream); 
response.setContentType("application/pdf"); 
response.setHeader("Content-Disposition", "attachment; filename=test.pdf"); 
e.exportReport(); 

Es exportiert erfolgreich, aber jede „fusionierte pdf“ auf einer anderen Seite. Ich möchte jede zusammengeführte Seite ständig und nicht auf einer separaten Seite haben. Irgendwelche Vorschläge?

Antwort

1

Da Sie das Seitenlayout zu halten, kann man nicht nicht uss die isIgnorePagination="true" (es entsteht ein weites Layout), Afik gibt es keine Einstellungen auf JRPdfExporter nicht den einzigen JasperPrint s als individuale Seiten zu betrachten.

Die Lösung, die Sie haben, sind:

  1. einen Hauptbericht ein neues jrxml und geben Sie Ihre .jasper in diesem wie subreports erstellen. Damit konnten Sie die Seitenumbrüche in Ihrem Hauptbericht jrxml kontrollieren.

  2. Aufwendige Ihre Liste der JasperPrint ‚s in Code, alle Komponenten in einem einzigen JasperPrint bewegen, zu bestimmen, ob sie auf der aktuellen Seite oder hinzugefügt, um neue Seite sein sollte, ist diese Methode recht komplex, so stark schlage ich vor, die erste Methode.

BTW: Ihr veralteten Code verwenden, sollte die aktuelle Version von Code seiner

JRExporter e = new JRPdfExporter(); 
exporter.setExporterInput(SimpleExporterInput.getInstance(jasperPrints)); 
exporter.setExporterOutput(new SimpleOutputStreamExporterOutput(outStrem)); 
SimplePdfExporterConfiguration configuration = new SimplePdfExporterConfiguration(); 
configuration.setMetadataAuthor("n1ckgun"); // set you configs 
exporter.setConfiguration(configuration); 
response.setContentType("application/pdf"); 
response.setHeader("Content-Disposition", "attachment; filename=test.pdf"); 
exporter.exportReport(); 
+0

isIgnorePagination = "true" würde keinen Unterschied macht leider. Immer noch würde der Jaspis jeden zusammengelegten Bericht auf einer separaten Seite anzeigen, wo die Absicht ist, den neuen zusammengesetzten Jaspis auf derselben Seite fortzusetzen, solange er Platz hat – n1ckgun

+0

@ n1ckgun Mögen Sie fortlaufendes Layout in pdf (daher keine Seiten) oder magst du nur versuchen zu kontrollieren, was auf welcher Seite endet ?, noch Seiten haben? –

+0

Ich möchte kontrollieren, was auf welcher Seite endet. Ich habe mehrere Jaspis Drucke wo jeder Tabellen enthält. Wenn ich es exportiere, erscheint jeder fusionierte Jaspis auf einer separaten Seite, aber es hat Platz, um auf derselben Seite fortzufahren. Nachdem der erste jasperprint exportiert wurde, sollte der zweite nicht auf die nächste Seite gehen, sondern von der selben Seite wie erster jasper weitergehen. – n1ckgun