Je suis nouveau à JasperReports. Je peux créer un simple document PDF avec JavaBean DataSource. Dans mon projet, j'ai créé deux documents PDF distincts avec DataSource JavaBean séparé. Maintenant, je veux fusionner les deux documents dans un seul document. Quelqu'un peut-il me dire comment fusionner les deux documents dans un seul document à l'aide de JasperReports? p>
5 Réponses :
Vous pouvez utiliser des sous-rapports pour cela. Vous n'avez pas à recréer vos rapports actuels. Créez un rapport de base, avec 0 margins. Ajoutez tous vos rapports à cela comme sous-rapport et conditionner condition que si DataSource est disponible pour cela, puis imprimez ce rapport. Maintenant, mettez toutes vos données de données individuelles dans une source de données cartographique et transmettez ce point de données vers le rapport principal. Configuez toutes les sous-rapports à la clé de la carte. P>
Ceci est viable uniquement si vous avez un nombre fixe de sous-rapports, si vous avez besoin de signaler dinamiquement les rapports, le sous-rapport n'est pas une option.
Malheureusement, la solution consiste à créer un sous-rapport et à utiliser les 2 différentes données de données ou quelle connexion avez-vous déjà utilisée
mais il existe un moyen facile de se remettre avec cette question: D juste simple, pas de nouveaux rapports ..... voilã p>
ok permet de le faire p> ok nous avons plus de 2 enregistrements ..lets prenons notre premier enregistrement. JP1 et ajouter du contenu JP2 en informatique P> List pages = jp2 .getPages();
for (int j = 0; j < pages.size(); j++) {
JRPrintPage object = (JRPrintPage)pages.get(j);
jp1.addPage(object);
}
JasperViewer.viewReport(jp1,false);
+1 Solution facile et élégante, une fois que je me suis battu avec des sous-rapports panoramiques sur l'autre et de ce que ce soit.
C'est une belle solution (merci Lahiru) car nous avons une exigence où deux notifications de langue différentes doivent être envoyées aux clients et que le client peut opter soit à la fois ou à une langue unique. Ce que @lahiru a suggéré des perfects convient à notre panier.
Je pense que cela peut être la solution pour le problème ci-dessous aussi ?? Stackoverflow.com/Questtions/29974890/...
Nice, mais et sur le nombre de pages ou de table des matières? Serait possible de remplir avec le bon contenu?
Plusieurs pages dans une jasperprint
code d'échantillon: p>
La réponse de Lahiru Nirmal était simple et au point. Voici une version quelque peu élargie qui copie également des styles et d'autres choses (qui ne sont pas toutes positives sont cruciales).
Notez que toutes les pages sont de la même taille. P>
JasperPrint combinedPrint = createJasperReport("Multiple Reports", print1); for (JasperPrint addPrint : new JasperPrint[] { print1, print2, print3 }) addJasperPrint(combinedPrint, addPrint); // Now do whatever it was you'd do with the JasperPrint. String combinedXml = JasperExportManager.exportReportToXml(combinedPrint);
Vous pouvez utiliser une liste de jasperprint comme ceci: