Drucken/Druckdesign mit Java

casi91

Bekanntes Mitglied
Hallo Community.
Ich steh heute ziemlich auf dem Schlauch also schon mal im vorraus Entschuldigung, wenn ich nicht gleich was verstehe, was ihr mir sagt oder was auf Seiten steht.

Ich habe schon bei "java ist auch eine Insel" etc. geschaut, aber irgendwie bekomm ichs heute nicht hin...

Ich möchte Daten aus der Datenbank einfach drucken
Der Ausdruck soll aus Kopf- und Positionsdaten bestehen.

Also ähnlich einer Rechnung
(grade bei google geschaut, also ungefähr so: http://infoblog.li/wp-content/uploads/2010/06/Rechnungs_Vorlage1.png)

Wie erwähnt, ich habe schon die sufu benutzt und auch in anderen Büchern nachgeschaut aber heute will es einfach nicht klick machen.

Würde mich drüber freuen, wenn mir trotzdem jemand helfen könnte...

Danke im vorraus 🙂
 
Moin,

Ich möchte Daten aus der Datenbank einfach drucken
Der Ausdruck soll aus Kopf- und Positionsdaten bestehen.

Also ähnlich einer Rechnung
(grade bei google geschaut, also ungefähr so: http://infoblog.li/wp-content/uploads/2010/06/Rechnungs_Vorlage1.png)
hmm, einfach drucken oder so wie in der Grafik ?? 😉

Einfacher Textdruck ist mit Java relativ simpel hin zubekommen, mit der anderen Darstellung wird es sicher ungleich schwieriger.

Hier findest Du 'ne recht gute Anleitung der Druck-Grundbegriffe:
Technische Kurzdokumentationen Torsten Horn

Gruß
Klaus
 
Am besten wäre so wie in der Grafik.

Danke für den Link, ich werde mir diesen Morgen (wenn ich hoffentlich nicht mehr so auf dem Schlauch stehe) zu Gemüte führen 🙂

Wenn jemand ein kleines Beispiel hätte, wie ich sowas ähnliches wie in der Grafik erstellen kann, wäre ich natürlich nicht abgeneigt ;-)
 
Alles klar, ich werde es mal mit JasperReports versuchen 🙂
Hoffe das ich mich da einigermaßen schnell einarbeiten kann. Steh derzeit ein wenig unter Zeitdruck :-(
 
Also ich bin derzeit ein wenig am testen, bin aber noch zu keinem Ergebniss gekommen :-D
Ich schreibe hier mal kurz, was derzeit mein Problem ist. Vielleicht hatte das ja schonmal wer 🙂
(werde natürlich in der Zeit weiter versuchen, den Fehler selbst zu finden)

Meine .jrxml
[XML]
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE jasperReport PUBLIC "//JasperReports//DTD Report Design//EN" "http://jasperreports.sourceforge.net/dtds/jasperreport.dtd">
<jasperReport name="Example1">

<parameter name="aParameter" class="java.lang.String"/>

<detail>
<band height="50">
<textField >
<reportElement x="200" y="60" width="200" height="50" />
<textElement><font size="36"/></textElement>
<textFieldExpression class="java.lang.String"><![CDATA[$P{aParameter}]]></textFieldExpression>
</textField>
</band>
</detail>

</jasperReport>
[/XML]

Mein JavaCode:
Java:
	public void printTest() {
		JasperReport jsReport;
		JasperPrint jsPrint;
		Map<String, Object> map2 = new HashMap<String, Object>();
		
		map2.put("aParameter", "Hallo Welt");
		try {
			jsReport = JasperCompileManager.compileReport("C:/reports/testreport.jrxml");
			jsPrint  = JasperFillManager.fillReport(jsReport, map2, new JREmptyDataSource());
			JasperExportManager.exportReportToPdfFile(jsPrint, "C:/reports/test.pdf");
		} catch (JRException e) {
			e.printStackTrace();
			System.out.println(e.getMessage());
		}
		
	}

Meine Fehlermeldungen:
Java:
Mrz 13, 2012 9:02:06 AM net.sf.jasperreports.engine.component.ComponentsEnvironment findComponentBundles
Warnung: Found two components for namespace [url]http://jasperreports.sourceforge.net/jasperreports/components[/url]
Mrz 13, 2012 9:02:08 AM net.sf.jasperreports.engine.xml.JRBandFactory createObject
Warnung: The 'isSplitAllowed' attribute is deprecated. Use the 'splitType' attribute instead.
 
Yaj :-D

hab gerade mal meine erste PDF mit "Hallo Welt" erzeugt bekommen :-D
(die anderen Fehler wurden dadurch behoben, dass ich alle *.jar aus dem lib verzeichniss von "jasperreports" eingebunden habe (bis auf die, die ich schon von hibernate o.ä. implementiert hatte)

bekomme aber immernoch 2 unschöne rote Fehler angezeigt:
Java:
log4j:WARN No appenders could be found for logger (net.sf.jasperreports.engine.xml.JRXmlDigesterFactory).
log4j:WARN Please initialize the log4j system properly.

Werde nun mal versuchen, meinen Report hübsch aufzubauen 🙂
An dieser Stelle aber schonmal die Frage:
Weiß gerade jemand, wie ich die PDF dann sofort anzeigen lasse bzw, drucken lasse?

Danke schonmal =)
 
So, mal wieder ich.
Bin leider noch nicht wirklich weiter.
Also wie ich Parameter im Designer erstelle und im Javaquellcode fülle ist mir mittlerweile bewusst.
Nun möchte ich aber zusätzlich noch eine Tabelle in dem Report haben, wobei ich die Daten der Tabelle im Programm erzeugt werden und in Form eines Arrays vorliegen.

Kann mir jemand erklären, wie das funktioniert? Sollte ja irgendwie möglich sein, oder?
 
Auch dieses Problem hat sich mitlerweile aus dem Staub gemacht :-D
Man muss dann mit "JRDataSource" arbeiten. Also sich selbst eine "CustomSource" definieren.

Aber wie man unschwer an meinen Obigen posts erkennen kann, habe ich immer sofort ein neues Problem ;-)

Problem dieses mal:
Wie kann ich nun mehrere "Details" unter einen Report bringen?

Also bsp.
Header
Tabelle 1 (Firmendaten)
-----------------------
bli|bla|blubb

................................
Tabelle 2 (Kontaktdaten
-----------------------
herr|max|mustermann|geschäftsführer|0123456

................................


usw.
Jemand eine rettende Idee?
 

Zurück
Oben