summaryrefslogtreecommitdiffstats
path: root/Master/Reference Architectures and Patterns/hjp5/html/k100168.html
blob: 9ba8a367f804bd824430c25db18e694fedd8e292 (plain)
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
<html>
<head>
<title>
Handbuch der Java-Programmierung, 5. Auflage
</title>
</head>
<body>
<a name="startofbody"></a>
<script language="JavaScript" src="hjp4lib.js">
</script>
<script language="JavaScript">
installKbdHandler("97,#startofbody;101,#endofbody;116,cover.html;122,k100003.html;115,search.html;105,index.html;100,JDKDOCS;112,APIDOCS;104,k100167.html;106,k100167.html;107,k100169.html;108,k100173.html");
</script>
<table border=0 cellpadding=0 cellspacing=1 width="100%">
<tr bgcolor="#EEFFCC">
<td width="7%" align=center bgcolor="#DDCC99"><a href="cover.html">&nbsp;Titel&nbsp;</a>
<td width="7%" align=center bgcolor="#DDCC99"><a href="k100003.html">&nbsp;Inhalt&nbsp;</a>
<td width="7%" align=center bgcolor="#DDCC99"><a href="search.html">&nbsp;Suchen&nbsp;</a>
<td width="7%" align=center bgcolor="#DDCC99"><a href="index.html">&nbsp;Index&nbsp;</a>
<td width="7%" align=center bgcolor="#DDCC99"><a href="../jdkdocs/index.html" onClick="this.href=getDocIndex()">&nbsp;DOC&nbsp;</a>
<td align="right">Handbuch der Java-Programmierung, 5. Auflage
<tr bgcolor="#EEFFCC">
<td width="7%" align=center bgcolor="#DDCC99"><a href="k100167.html">&nbsp;&lt;&lt;&nbsp;</a>
<td width="7%" align=center bgcolor="#DDCC99"><a href="k100167.html">&nbsp;&nbsp;&lt;&nbsp;&nbsp;</a>
<td width="7%" align=center bgcolor="#DDCC99"><a href="k100169.html">&nbsp;&nbsp;&gt;&nbsp;&nbsp;</a>
<td width="7%" align=center bgcolor="#DDCC99"><a href="k100173.html">&nbsp;&gt;&gt;&nbsp;</a>
<td width="7%" align=center bgcolor="#DDCC99"><a href="../jdkdocs/api/index.html" onClick="this.href=getApiIndex()">&nbsp;API&nbsp;</a>
<td align="right">Kapitel 26 - Drucken
</table>
<hr>


<!-- Section -->
<a name="sectlevel2id026001"></a>
<h2>26.1 Einleitung </h2>
<hr>
<ul>
<li><a href="k100168.html#sectlevel2id026001">26.1 Einleitung</a>
</ul>
<hr>

<p>
Das Ausdrucken von Texten und Grafiken war traditionell eine <i>der</i>
Achillesfersen von Java. Im JDK 1.0 waren die Verh&auml;ltnisse noch
klar: hier konnte &uuml;berhaupt nicht gedruckt werden! Es gab schlicht
und einfach keine Klassen, die das Drucken unterst&uuml;tzten. Nachdem
die Java-Entwicklergemeinde bereits begonnen hatte, propriet&auml;re
Erweiterungen zu entwickeln, wurde mit der Version 1.1 ein einfaches
Druck-API in das JDK aufgenommen. 

<p>
Leider war dessen Design recht unvollst&auml;ndig, und das API war
voll von Schw&auml;chen und Restriktionen. Mit dem JDK 1.2 wurde ein
neuer Entwurf vorgestellt, der die Schw&auml;chen des vorigen beheben
sollte. Tats&auml;chlich hatte er ein besseres Design, und viele der
Anforderungen, die zuvor unerf&uuml;llt blieben, wurden jetzt erf&uuml;llt.

<p>
Ungl&uuml;cklicherweise war die Implementierung des 1.2er-APIs wenig
performant. In der Praxis traten - selbst bei einfachen Druckjobs
- mitunter Spooldateien von 20 MB oder mehr auf, und der Ausdruck
solcher Dateien dauerte nicht selten l&auml;nger als 10 Minuten. Erst
mit dem JDK 1.3 wurden diese Probleme behoben, und es scheint, dass
nunmehr mit einer gewissen Zuverl&auml;ssigkeit und Performance gedruckt
werden kann. 

<p>
Wir werden in diesem Kapitel die beiden unterschiedlichen Druck-APIs
vorstellen und Beispiele f&uuml;r ihre Anwendung geben. F&uuml;r den
Fall, das beide ungeeignet sind, werden wir zus&auml;tzlich zeigen,
wie mit Hilfe des <a name="ixa101679"><i>Java Communications API</i></a>
direkt auf eine serielle oder paralle Schnittstelle zugegriffen werden
kann, und werden so die Grundlagen f&uuml;r die Entwicklung eigener
Druckertreiber legen. 
<hr>
<table border=0 cellpadding=0 cellspacing=1 width="100%">
<tr bgcolor="#EEFFCC">
<td width="7%" align=center bgcolor="#DDCC99"><a href="cover.html">&nbsp;Titel&nbsp;</a>
<td width="7%" align=center bgcolor="#DDCC99"><a href="k100003.html">&nbsp;Inhalt&nbsp;</a>
<td width="7%" align=center bgcolor="#DDCC99"><a href="search.html">&nbsp;Suchen&nbsp;</a>
<td width="7%" align=center bgcolor="#DDCC99"><a href="index.html">&nbsp;Index&nbsp;</a>
<td width="7%" align=center bgcolor="#DDCC99"><a href="../jdkdocs/index.html" onClick="this.href=getDocIndex()">&nbsp;DOC&nbsp;</a>
<td align="right">Handbuch der Java-Programmierung, 5. Auflage, Addison
Wesley, Version 5.0.1
<tr bgcolor="#EEFFCC">
<td width="7%" align=center bgcolor="#DDCC99"><a href="k100167.html">&nbsp;&lt;&lt;&nbsp;</a>
<td width="7%" align=center bgcolor="#DDCC99"><a href="k100167.html">&nbsp;&nbsp;&lt;&nbsp;&nbsp;</a>
<td width="7%" align=center bgcolor="#DDCC99"><a href="k100169.html">&nbsp;&nbsp;&gt;&nbsp;&nbsp;</a>
<td width="7%" align=center bgcolor="#DDCC99"><a href="k100173.html">&nbsp;&gt;&gt;&nbsp;</a>
<td width="7%" align=center bgcolor="#DDCC99"><a href="../jdkdocs/api/index.html" onClick="this.href=getApiIndex()">&nbsp;API&nbsp;</a>
<td align="right">&copy; 1998, 2007 Guido Kr&uuml;ger &amp; Thomas
Stark, <a href="http://www.javabuch.de">http://www.javabuch.de</a>
</table>
<a name="endofbody"></a>
</body>
</html>