|
Stammbenutzer
Kilobyte
Themenstarter
Registriert seit: 25.05.2011
Fachbeiträge: 153
Abgegebene Danke: 65
Erhielt 4 Danke für 4 Beiträge
|
Auf diese Weise werte ich meine XML Datei aus die ich aus db lese
Java Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
| package fachlogik;
import java.io.File;
import java.io.IOException;
import java.net.URL;
import java.util.Iterator;
import java.util.List;
import org.jdom.*;
import org.jdom.input.SAXBuilder;
/**
* Auswertung der XML-Datei (Schnittstelle)
*
*/
public class Xml {
String xBwNr;
String xFlst;
/**
* Elemente welche für die Erstellung der PDF wichtig sind werden aus der
* XML-Datei herausgefiltert Es erfolgt eine Unterscheidung ob eine Karte
* bzw. eine Sachdatenauskunft gewünscht ist. <br>
* Anhand dieser Unterscheidung wird die entsprechende Methode für die
* Erzeugung der PDf aufgerufen. <br>
* Es erfolgt keine Rückgabe
*
* @exception JDOMException
* wenn Fehler bei der Auswertung der XML-Datei auftreten. <br>
* Bsp. Unterelement nicht vorhanden
*
* @exception IOException
* Ein Eingabe- Ausgabefehler führt zu dieser Exception. <br>
* Bsp. Entsprechende Datei kann nicht gefunden werden
*/
public static void xml_auslesen() {// Später von URL
Document doc;
Datenbank.template("Xml");
//File xmlfile = new File(
// "C:\\Profiles\\lv14hofm\\Desktop\\boris_drucktest.xml");
File xmlfile =Datenbank.template("Xml");
try {
doc = new SAXBuilder().build(xmlfile);
// Wurzelelement erhalten
Element root = doc.getRootElement();
// Wichtige Daten aus XML herauslesen
String nutzer = root.getChild("metadaten").getChildTextNormalize(
"nutzer");
String passwort = root.getChild("metadaten").getChildTextNormalize(
"passwort");
String art = root.getChild("metadaten")
.getChildTextNormalize("art");
String farbe = root.getChild("metadaten").getChildTextNormalize(
"farbe");
String stichtag = root.getChild("verordnung")
.getChildTextNormalize("stichtag");
String verordnung = root.getChild("verordnung")
.getChildTextNormalize("nameRechtsverordnung");
String fundstelle = root.getChild("verordnung")
.getChildTextNormalize("fundstelle");
String aufnahmeAussschuss = root.getChild("aufnahmeausschuss")
.getChildTextNormalize("name");
String strAufnahmeAusschuss = root.getChild("aufnahmeausschuss")
.getChildTextNormalize("strasse");
String hnrAufnahmeAusschuss = root.getChild("aufnahmeausschuss")
.getChildTextNormalize("hausnummer");
strAufnahmeAusschuss = strAufnahmeAusschuss + " "
+ hnrAufnahmeAusschuss;
String plzAufnahmeAusschuss = root.getChild("aufnahmeausschuss")
.getChildTextNormalize("postleitzahl");
String ortAufnahmeAusschuss = root.getChild("aufnahmeausschuss")
.getChildTextNormalize("ort");
String plzOrt = plzAufnahmeAusschuss + " " + ortAufnahmeAusschuss;
String gemeinde = root.getChild("lage").getChildTextNormalize(
"gemeinde");
String gemarkung = root.getChild("lage").getChildTextNormalize(
"gemarkung");
// Flurstuecke herausfiltern
List lageliste = root.getChild("lage").getChildren();
Iterator lageit = lageliste.iterator();
String flurstueck = null;
/**
* ermittelt alle Flurstücke die zum dem Bodenrichtwert gehören
*/
while (lageit.hasNext()) {
Element lagechild = (Element) lageit.next();
if (lagechild.getName().equals("flurstueck")) {
if (flurstueck == null) {
flurstueck = lagechild.getTextNormalize();
} else
flurstueck = flurstueck + ", "
+ lagechild.getTextNormalize();
}
}
String bwNr = root.getChild("bodenrichtwert")
.getChildTextNormalize("nummer");
String erstellungAusschuss = root.getChild("abgabeausschuss")
.getChildTextNormalize("name");
String plzErstellungsAusschuss = root.getChild("abgabeausschuss")
.getChildTextNormalize("plz");
String ortErstellungsAusschuss = root.getChild("abgabeausschuss")
.getChildTextNormalize("ort");
String strErstellungsAussschuss = root.getChild("abgabeausschuss")
.getChildTextNormalize("strasse");
String nummerErstellungsAusschuss = root
.getChild("abgabeausschuss").getChildTextNormalize(
"hausnummer");
String plzOrtStrHnr = plzErstellungsAusschuss + " "
+ ortErstellungsAusschuss + " " + strErstellungsAussschuss
+ " " + nummerErstellungsAusschuss;
if (art.equals("Map")) {
/*
* es ist eine Kartenausgabe gewünscht nötige Daten
* herausfiltern
*/
String format = root.getChild("map").getChildTextNormalize(
"format");
String massstab = root.getChild("map").getChildTextNormalize(
"massstab");
String boundingbox = root.getChild("map")
.getChildTextNormalize("boundingbox");
String kartengrundlage = root.getChild("map")
.getChildTextNormalize("kartengrundlage");
// entsprechende Pdf erzeugen
fachlogik.Pdf.creat_pdf(aufnahmeAussschuss,
strAufnahmeAusschuss, plzOrt, ortAufnahmeAusschuss,
boundingbox, kartengrundlage, massstab, gemeinde,
gemarkung, flurstueck, bwNr, erstellungAusschuss,
ortErstellungsAusschuss, plzOrtStrHnr, verordnung,
fundstelle, stichtag, format, farbe);
} else {
/*
* ein Sachdatenauszug ist gewünscht nötige Daten herausfiltern
*/
String ortsteil = root.getChild("lage").getChildTextNormalize(
"ortsteil");
String str = root.getChild("lage").getChildTextNormalize(
"strasse");
String hnr = root.getChild("lage").getChildTextNormalize(
"hausnummer");
String bwert = root.getChild("bodenrichtwert")
.getChildTextNormalize("wert");
String entw = "", nuta = "", beit = "", bauw = "", gez = "", gfz = "", grz = "", bmz = "", flae = "", gtie = "", gbrei = "", verg = "", verf = "", bod = "", acza = "", grza = "", aufw = "", weer = "";
if ((root.getChild("bodenrichtwert").getChild("details")
.getChildTextNormalize("entwicklungszustand")) != null)
entw = root.getChild("bodenrichtwert").getChild("details")
.getChildTextNormalize("entwicklungszustand");
if ((root.getChild("bodenrichtwert").getChild("details")
.getChildTextNormalize("nutzungsart")) != null)
nuta = root.getChild("bodenrichtwert").getChild("details")
.getChildTextNormalize("nutzungsart");
if ((root.getChild("bodenrichtwert").getChild("details")
.getChildTextNormalize("beitragsrechtlicher_zustand")) != null)
beit = root.getChild("bodenrichtwert").getChild("details")
.getChildTextNormalize(
"beitragsrechtlicher_zustand");
if ((root.getChild("bodenrichtwert").getChild("details")
.getChildTextNormalize("bauweise")) != null)
bauw = root.getChild("bodenrichtwert").getChild("details")
.getChildTextNormalize("bauweise");
if ((root.getChild("bodenrichtwert").getChild("details")
.getChildTextNormalize("geschosszahl")) != null)
gez = root.getChild("bodenrichtwert").getChild("details")
.getChildTextNormalize("geschosszahl");
if ((root.getChild("bodenrichtwert").getChild("details")
.getChildTextNormalize("geschossflaechenzahl")) != null)
gfz = root.getChild("bodenrichtwert").getChild("details")
.getChildTextNormalize("geschossflaechenzahl");
if ((root.getChild("bodenrichtwert").getChild("details")
.getChildTextNormalize("grundflaechenzahl")) != null)
grz = root.getChild("bodenrichtwert").getChild("details")
.getChildTextNormalize("grundflaechenzahl");
if ((root.getChild("bodenrichtwert").getChild("details")
.getChildTextNormalize("baumassenzahl")) != null)
bmz = root.getChild("bodenrichtwert").getChild("details")
.getChildTextNormalize("baumassenzahl");
if ((root.getChild("bodenrichtwert").getChild("details")
.getChild("grundstueck")
.getChildTextNormalize("flaeche")) != null)
flae = root.getChild("bodenrichtwert").getChild("details")
.getChild("grundstueck").getChildTextNormalize(
"flaeche");
if ((root.getChild("bodenrichtwert").getChild("details")
.getChild("grundstueck").getChildTextNormalize("tiefe")) != null)
gtie = root.getChild("bodenrichtwert").getChild("details")
.getChild("grundstueck").getChildTextNormalize(
"tiefe");
if ((root.getChild("bodenrichtwert").getChild("details")
.getChild("grundstueck")
.getChildTextNormalize("breite")) != null)
gbrei = root.getChild("bodenrichtwert").getChild("details")
.getChild("grundstueck").getChildTextNormalize(
"breite");
if ((root.getChild("bodenrichtwert").getChild("details")
.getChildTextNormalize("verfahrensgrund")) != null)
verg = root.getChild("bodenrichtwert").getChild("details")
.getChildTextNormalize("verfahrensgrund");
if ((root.getChild("bodenrichtwert").getChild("details")
.getChildTextNormalize("verfahrenszustand")) != null)
verf = root.getChild("bodenrichtwert").getChild("details")
.getChildTextNormalize("verfahrenszustand");
if ((root.getChild("bodenrichtwert").getChild("details")
.getChildTextNormalize("bodenart")) != null)
bod = root.getChild("bodenrichtwert").getChild("details")
.getChildTextNormalize("bodenart");
if ((root.getChild("bodenrichtwert").getChild("details")
.getChildTextNormalize("ackerzahl")) != null)
acza = root.getChild("bodenrichtwert").getChild("details")
.getChildTextNormalize("ackerzahl");
if ((root.getChild("bodenrichtwert").getChild("details")
.getChildTextNormalize("gruenlandzahl")) != null)
grza = root.getChild("bodenrichtwert").getChild("details")
.getChildTextNormalize("gruenlandzahl");
if ((root.getChild("bodenrichtwert").getChild("details")
.getChildTextNormalize("aufwuchs")) != null)
aufw = root.getChild("bodenrichtwert").getChild("details")
.getChildTextNormalize("aufwuchs");
if ((root.getChild("bodenrichtwert").getChild("details")
.getChildTextNormalize("wegerschliessung")) != null)
weer = root.getChild("bodenrichtwert").getChild("details")
.getChildTextNormalize("wegerschliessung");
// entsprechende PDF erzeugen
fachlogik.Pdf.creat_pdf(aufnahmeAussschuss,
strAufnahmeAusschuss, plzOrt, ortAufnahmeAusschuss,
ortsteil, gemeinde, gemarkung, flurstueck, str, hnr,
bwNr, stichtag, bwert, entw, nuta, beit, bauw, gez,
gfz, grz, bmz, flae, gtie, gbrei, verg, verf, bod,
acza, grza, aufw, weer, erstellungAusschuss,
ortErstellungsAusschuss, plzOrtStrHnr, verordnung,
fundstelle, stichtag, farbe);
}
} catch (JDOMException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
} |
und mit dieser Klasse wird die PDF erzeugt
Java Code:
1
2
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
| package fachlogik;
import java.awt.Image;
import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.HashMap;
import java.util.StringTokenizer;
import javax.imageio.ImageIO;
import javax.servlet.ServletContext;
import javax.servlet.ServletOutputStream;
import javax.servlet.http.HttpServletResponse;
import net.sf.jasperreports.engine.JREmptyDataSource;
import net.sf.jasperreports.engine.JRException;
import net.sf.jasperreports.engine.JRException;
import net.sf.jasperreports.engine.JasperCompileManager;
import net.sf.jasperreports.engine.JasperExportManager;
import net.sf.jasperreports.engine.JasperFillManager;
import net.sf.jasperreports.engine.JasperPrint;
import net.sf.jasperreports.engine.JasperReport;
import net.sf.jasperreports.engine.JasperRunManager;
import com.lowagie.text.Document;
import com.lowagie.text.DocumentException;
import com.lowagie.text.pdf.PdfCopyFields;
import com.lowagie.text.pdf.PdfReader;
import com.lowagie.text.pdf.PdfWriter;
/**
* Diese Klasse wird zum generieren der PDF`s verwendet
*/
public class Pdf {
/**
* Diese HashMap enthält alle Variablen, die für das Erstellen der PDF
* notwendig sind.
*/
static HashMap parameter = new HashMap
();
//static HashMap<String, Object> parameter = new HashMap<String, Object>();
static JasperReport jasperReport;
static JasperPrint jPrint;
static Image wappen;
static byte[] pdfKompl_byte = null;
// Methode für Erstellung des Sachdatenauzuges
/**
* Mit Hilfe dieser Methode wird die PDF für den Kartendruck erzeugt. <br>
* Zu beginn werden die entsprechenden Parameter der HashMap übergeben.
* Anschliessend werden die einzelenen PDF erzeugt und in einem
* Tempverzeichnis abgespeichert. <br>
* Diese erzeugten PDF´s werden zu einer zusammengefügt und letztendlich im
* Browser anzeigt
*/
public static void creat_pdf(String aufnahmeausschuss, String aufnahmestr,
String plzort, String aufnahmeort, String ortsteil, String gmd,
String gmk, String flst, String str, String nr, String bwNr,
String stag, String bwert, String entw, String nuta, String beit,
String bauw, String gez, String gfz, String grz, String bmz,
String flae, String gtie, String gbrei, String verg, String verf,
String bod, String acza, String grza, String aufw, String weer,
String erstellungsausschuss, String erstellungsort,
String plzOrtStrNr, String verordnung, String fundstelle,
String stichtag, String farbe) {
String name;
if (aufnahmeausschuss.indexOf("Kreis")>=0)
//contains("Kreis"))
name = " der Kreisfreien Stadt " + aufnahmeort + " ";
// ggf Ort über
else
name = " im Landkreis " + aufnahmeausschuss + " ";
// füllen der Hashmap
// Daten des Aufnahmeausschuss der hashmap hinzufügen
parameter.put("aAufnahmeAusschuss", name);
parameter.put("aStrAufnahmeAusschuss", aufnahmestr);
parameter.put("aOrtAufnahmeAusschuss", plzort);
if (erstellungsausschuss.indexOf("Kreis")>=0)
//contains("Kreis"))
name = "Gutachterausschuss der Kreisfreien Stadt " + erstellungsort;
else {
if (erstellungsausschuss.indexOf("Oberer")>=0){
//contains("Oberer")) {
name = "Oberer Gutachterausschuss Staatsbetrieb Geobasisinformation und Vermessung Sachsen";
} else
name = "Gutachterausschuss des Landkreis "
+ erstellungsausschuss;
}
// Daten des Erstellungsausschuss der Hashmap hinzufügen
parameter.put("aErstellungsAusschuss", name);
parameter.put("aPLZOrtStrNrErstellungsAusschuss", plzOrtStrNr);
// Daten für die Sachdatenauskunft der Hashmap hinzufügen
parameter.put("aOrtsteil", ortsteil);
parameter.put("aStr", str);
parameter.put("aHnr", nr);
parameter.put("aGmd", gmd);
parameter.put("aGmk", gmk);
parameter.put("aFlst", flst);
parameter.put("aBwNr", bwNr);
parameter.put("aSTag", stag);
parameter.put("aBwert", bwert + " ");
parameter.put("aEntw", entw);
parameter.put("aNuta", nuta);
parameter.put("aBeit", beit);
parameter.put("aBauw", bauw);
parameter.put("aGez", gez);
parameter.put("aGfz", gfz);
parameter.put("aGrz", grz);
parameter.put("aBmz", bmz);
parameter.put("aFlae", flae);
parameter.put("aGtie", gtie + " m");
parameter.put("aGbrei", gbrei + " m ");
parameter.put("aVerg", verg);
parameter.put("aVerf", verf);
parameter.put("aBod", bod);
parameter.put("aAcza", acza);
parameter.put("aGrza", grz);
parameter.put("aAufw", aufw);
parameter.put("aWeer", weer);
// wappenbild hinzufügen
Image wappen = null;
try {
if (farbe.indexOf("w")>=0){
//contains("w")) {
// scharzWeiss druck
wappen = ImageIO.read(Datenbank.template("wappen_sw"));
} else {
// farbiger Druck
wappen = ImageIO.read(Datenbank.template("wappen_bunt"));
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
parameter.put("aWappen", wappen);
// Daten für Bodenrichtwert Erlaeuterung der Hashmap hinzufügen
String fund = verordnung + " " + fundstelle + " ermittelt.";
parameter.put("aVerordnungFundstelleErmitteln.", fund);
// Pdf erzeugen
try {
Document document = new Document();
// ByteArrayOutputStream erzeugen
ByteArrayOutputStream baos = new ByteArrayOutputStream();
PdfWriter.getInstance(document, baos);
String file = (Datenbank.template("Sachdaten")).toString();
jasperReport = JasperCompileManager.compileReport(file);
jPrint = JasperFillManager.fillReport(jasperReport, parameter,
new JREmptyDataSource());
// Pdf wird in Hauptspeicher geschrieben
pdfKompl_byte = JasperExportManager.exportReportToPdf(jPrint);
HttpServletResponse response = Datenbank.getResponse();
document.close();
response.setContentType("application/pdf");
response.setContentLength(baos.size());
// Pdf wird im Browser angezeigt
ServletOutputStream servletOutputStream = response
.getOutputStream();
baos.writeTo(servletOutputStream);
servletOutputStream.write(pdfKompl_byte, 0, pdfKompl_byte.length);
servletOutputStream.flush();
System.out.println(new SimpleDateFormat("dd.MM.yyyy HH:mm:ss")
.format(new Date()));
} catch (IOException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
/**
* Mit Hilfe dieser Methode wird die PDF für den Sachdatenabgabe erzeugt. <br>
* Zu beginn werden die entsprechenden Parameter der HashMapübergeben.
* Anschliessend wird die PDF erzeugt undim Browser darstellt.
*/
public static void creat_pdf(String aufnahmeausschuss, String aufnahmestr,
String plzort, String aufnahmeort, String bbox,
String kartengrundlage, String massstab, String gmd, String gmk,
String flst, String bwNr, String erstellungsausschuss,
String erstellungsort, String plzOrtStrNr, String verordnung,
String fundstelle, String stichtag, String format, String farbe) {
String name = null;
// byte[]pdf2_byte=null;
// byte[]pdf3_byte =null;
// Bezeichnung des AufnahmeAusschuss erstellen
if (aufnahmeausschuss.indexOf("Kreis")>=0)
//contains("Kreis"))
name = " der Kreisfreien Stadt " + aufnahmeort + " ";// ggf Ort über
else
name = " im Landkreis " + aufnahmeausschuss + " ";
// Daten des AufnahmeAusschuss der Hashmap hinzufügen
parameter.put("aAufnahmeAusschuss", name);
parameter.put("aStrAufnahmeAusschuss", aufnahmestr);
parameter.put("aOrtAufnahmeAusschuss", plzort);
// Bezeichnung des ErstellungsAusschuss erstellen
if (erstellungsausschuss.indexOf("Kreis")>=0)
//contains("Kreis"))
name = "Gutachterausschuss der Kreisfreien Stadt " + erstellungsort
+ " ";
else {
if (erstellungsausschuss.indexOf("Oberer")>=0){
//contains("Oberer")) {
name = " "
+ "Oberer Gutachterausschuss Staatsbetrieb Geobasisinformation und Vermessung Sachsen";// +
// "Staatsbetrieb Geobasisinformation und Vermessung Sachsen (GeoSN)Oberer Gutachterausschuss";
} else
name = "Gutachterausschuss des Landkreis "
+ erstellungsausschuss + " ";
}
// Daten des Erstellungsausschuss der Hashmap hinzufügen
parameter.put("aErstellungsAusschuss", name);
parameter.put("aPLZOrtStrNrErstellungsAusschuss", plzOrtStrNr);
// Daten für Lagebeschreiben etc. der Hashmap hinzufügen
parameter.put("aGmd", gmd);
parameter.put("aGmk", gmk);
parameter.put("aFlst", flst);
parameter.put("aBwNr", bwNr);
// Daten fuer die Kartenauskunft der Hashmap hinzufügen
parameter.put("aMaßstab", massstab);
parameter.put("aKartengrundlage", kartengrundlage);
// zerlegen der BoundingBox um Koordinaten für Rahmenbeschriftung
// zuerhalten
StringTokenizer tokenizer;
tokenizer = new StringTokenizer(bbox, ",");
String rw1 = tokenizer.nextToken();
String hw1 = tokenizer.nextToken();
String rw2 = tokenizer.nextToken();
String hw2 = tokenizer.nextToken();
parameter.put("aRw1", rw1);
parameter.put("aHw1", hw1);
parameter.put("aRw2", rw2);
parameter.put("aHw2", hw2);
String fund = verordnung + " " + fundstelle + " mit Stichtag zum "
+ stichtag + " ermittelt.";
parameter.put(
"aVerordnungFundstelleErmittelnMitStichtagzum..ermittelt.",
fund);
// wappen hinzufügen
try {
if (farbe.indexOf("w")>=0){
//contains("w")) {
// schwarzWeiss druck ist gewünscht
wappen = ImageIO.read(Datenbank.template("wappen_sw"));
} else {
// Farbdruck ist gewünscht
wappen = ImageIO.read(Datenbank.template("wappen_bunt"));
}
parameter.put("aWappen", wappen);
tokenizer = new StringTokenizer(massstab, ":");
String massstabszahl_string = tokenizer.nextToken();
massstabszahl_string = tokenizer.nextToken();
Image massstabsleiste = ImageIO.read(Datenbank
.template(massstabszahl_string));
parameter.put("aMassstabsBild", massstabsleiste);
// für eine schreibart entscheiden -- später nach fertigstellung der
// XML
format = format.replaceAll("a", "");
//format = format.replace("a", "");
format = format.replaceAll("A", "");
// Entsprechende Mapvorlage laden
int formatzahl = Integer.parseInt(format);
String template = "";
switch (formatzahl) {
case 0: {
template = (Datenbank.template("A0")).toString();
}
break;
case 1: {
template = (Datenbank.template("A1")).toString();
}
break;
case 2: {
template = (Datenbank.template("A2")).toString();
}
break;
case 3: {
template = (Datenbank.template("A3")).toString();
}
break;
case 4: {
template = (Datenbank.template("A4")).toString();
}
break;
}
jasperReport = JasperCompileManager.compileReport(template);
jPrint = JasperFillManager.fillReport(jasperReport, parameter,
new JREmptyDataSource());
// Speicherung als Temporäre Datei
pdfKompl_byte = JasperExportManager.exportReportToPdf(jPrint);
/*
* // Anhang erzeugen erst einmal heraus genommen wenn die richtige
* pdf vorhanden ist wird wieder ergänzt
*
* jasperReport = JasperCompileManager
* .compileReport("D:\\LV14hofm\\Erlauterung_map.jrxml");
*
* jPrint = JasperFillManager.fillReport(jasperReport, parameter,
* new JREmptyDataSource());
*
* pdf2_byte = JasperExportManager.exportReportToPdf(jPrint);
*
* PdfReader reader3 = null;
*
* if (farbe.equals("bunt")) { jasperReport = JasperCompileManager
* .compileReport("D:\\LV14hofm\\legende_bunt.jrxml");
*
* jPrint = JasperFillManager.fillReport(jasperReport, parameter,
* new JREmptyDataSource());
*
* pdf3_byte= JasperExportManager.exportReportToPdf(jPrint);
*
*
* reader3 = new PdfReader(pdf3_byte); } else { jasperReport =
* JasperCompileManager
* .compileReport("D:\\LV14hofm\\legende_sw.jrxml");
*
* jPrint = JasperFillManager.fillReport(jasperReport, parameter,
* new JREmptyDataSource());
*
* pdf2_byte = JasperExportManager.exportReportToPdf(jPrint);
*
* reader3 = new PdfReader(pdf3_byte); }
*/
// Pdf´s zusammenfuegen
PdfReader reader1 = new PdfReader(pdfKompl_byte);
// PdfReader reader2 = new PdfReader(
// pdf2_byte);
HttpServletResponse response = Datenbank.getResponse();
ServletOutputStream servletOutputStream = response
.getOutputStream();
PdfCopyFields copy = new PdfCopyFields(servletOutputStream);
copy.addDocument(reader1);
// copy.addDocument(reader2);
// copy.addDocument(reader3);
copy.close();
servletOutputStream.write(pdfKompl_byte, 0, pdfKompl_byte.length);
servletOutputStream.flush();
} catch (JRException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (DocumentException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
} |
vielen Dank für die Hilfe
Geändert von neela (30.05.2011 um 13:50 Uhr)
Grund: Code aktualisiert
|