iReport (JasperReports) - Drucker auswählen

Allgemeine Themen rund um Java

Moderator: wegus

Antworten
iReport-Joerg

iReport (JasperReports) - Drucker auswählen

Beitrag von iReport-Joerg » 07.06.2007, 17:57

Hallo,

ich beschäftige mich erst seid ein paar Tagen mit iReport.
Mit Java hatte ich bisher noch gar nichts zu tun...

Mein Problem:
Ich habe es geschafft alle Reports des Kunden wunschgemäß umzubauen. Jetzt besteht allerdings das Problem, dass die Reports nicht nur auf verschiedenen Druckern sondern sogar auf Vordrucken aus verschiedenen Fächern des selben Druckers gedruckt werden sollen!
Es darf dabei natürlich kein zusätzliches Fenster mit irgendwelchen Rückfragen aufpoppen... :(

Es sollte kein Problem sein, wenn ich die Drucker/Fächer fest im Code des JasperReports hinterlege. Nur wie...

Ich habe beim googlen was gefunden. Denke, das es irgendwie meine Problemlösung enthält, bin aber nicht sicher: Lösung?
Wie bzw. wo muss ich das in meinen Report einbauen?

Kann mir jemand erklären, wie ich das hinbekomme?
Danke.

---------------------------------------------------------------

Maybe someone only english-speaking can help me, but excuse my bad english:

Hello,

I'm working with iReports only a few days and never concerned with Java.
Now I try to solve the following problem with iReport:
I have built a Report that works well. But now I want to print it on a specific Printer and there on a specific tray. In fact, if possible, Page one on paper of tray one and the following sites on paper of tray two...

I think I have to include code like this in my jrxml, but how?

How can I manage that, thanks for help.

iReport-Joerg

Info von Marc Nuri

Beitrag von iReport-Joerg » 08.06.2007, 12:31

Um auch hier die Antworten/Infos von Marc Nuri zu protokollieren:

Just to put the answeres/infos of Marc Nuri here too:

-----

Comment: Joerg at vie, 8 jun 11:04 AM

Hello Marc,
I have to solve a Problem like this, but don't know how. Cause I'm a beginner with Jasper and iReport I don't understand where to insert your code in my jrxml... and btw, I know exactly wich printer I want to use, so do I have to search for the services...
Please, if you can/want help look at my request here: http://www.netbeans-forum.de/viewtopic.php?p=2767

Thank you!

-----

Comment: Marc Nuri at vie, 8 jun 11:16 AM

Hi, I've read your translation of http://www.netbeans-forum.de/viewtopic.php?p=2767 but don't really understand what you need to do.

The article shows the code you need to run/print a report from a java program. In yout request you talk about inserting the code in your report source which you CAN'T.

You must insert the code in your java application where you are calling the report to be printed. If you are running the report directly from iReport you will have to choose the printer manually.

Then you include another issue, which is printing one page to one tray and another to the second tray of the printer. Tray selection in java is not very well implemented, in fact, java printing api is not very good and causes some trouble across different platforms (things don't work the same in windows and in Linux for example). I would approach your problem by creating two different reports and then print them separately.

Finally, the search for the services is necessary (someone correct me if I'm wrong), because you need a way to grab your service and there's no such thing as PrintService.getInstance(String serviceName);

So even it is time consuming it is necessary. Maybe you could store your service in a variable for future use so you don't have to lookup the service each time.

iReport-Joerg

Notlösung: iReport (JasperReports) - Drucker auswählen

Beitrag von iReport-Joerg » 11.06.2007, 07:19

Da die Java-Quellen zum umprogrammieren der oben verlinkten Lösung nicht zur Verfügung standen musste eine andere Lösung her.
Die ist nun (noch überarbeitungsbedürftig) gefunden worden, indem ein aktualisierter Druckertreiber installiert wurde welcher als Zusatzfunktion die Möglichkeit bietet, die Seiten vom Drucker auf die entsprechenden Fächer verteilen zu lassen...

Wenn jemand noch eine andere Idee hat, ich habe noch Interesse daran, danke.

-------------------------------------------------------------

Because the original Java-Source is not available to insert the code from the here posted link another temporary solution was found.
We use an updated printer-driver which enables the printer to choose the tray.
So we hardcoded the trays to use for the different pages...

If anyone has a better solution, please feel free to post it here, I'm still searching, thanks.

iReport-Joerg

Prescribecode

Beitrag von iReport-Joerg » 12.06.2007, 22:37

Vorerst wohl letzte Meldung zum Thema (leider hat wohl niemand sonst solche Probleme oder ich bin hier falsch oder was auch immer)...

Die druckende Anwendung war dazu zu bewegen Parameter mit zu übergeben die im JasperReport angekommen sind. Der Drucker
interpretiert diese Steuercodes und setzt Sie um. So wird z.B. das
Druckfach gewechselt oder Schriftarten, etc....
Das hat allerdings nur mit Tricksen und Probieren funktioniert, ein
bischen "um die Ecke" denken war auch dabei...

Für alternative Vorschläge bin ich immer noch offen, aber diese Lösung
läuft zunächst. Bleibt noch mein anderes Problem.

Benutzeravatar
panther
Beiträge: 464
Registriert: 30.06.2006, 20:32
Kontaktdaten:

Beitrag von panther » 12.06.2007, 23:35

Fuer Jasper-Reports gibt es spezielle Foren von SourceForge. Unter nabble.com habe ich zumindest eins gefunden.

http://www.nabble.com/JasperReports-f4383.html

fenkman

Ein Report in mehrere Fächer?

Beitrag von fenkman » 13.06.2007, 08:47

Hallo Jörg,

ich habe das Problem, dass ich die Seiten eines einzigen Reports auf mehrere Fächer verteilen muss. Ist dir das auch gelungen und wärst du bereit, deine Lösung hier zu skizzieren?

Viele Grüße,
Florian

Antworten