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"> Titel </a>
<td width="7%" align=center bgcolor="#DDCC99"><a href="k100003.html"> Inhalt </a>
<td width="7%" align=center bgcolor="#DDCC99"><a href="search.html"> Suchen </a>
<td width="7%" align=center bgcolor="#DDCC99"><a href="index.html"> Index </a>
<td width="7%" align=center bgcolor="#DDCC99"><a href="../jdkdocs/index.html" onClick="this.href=getDocIndex()"> DOC </a>
<td align="right">Handbuch der Java-Programmierung, 5. Auflage
<tr bgcolor="#EEFFCC">
<td width="7%" align=center bgcolor="#DDCC99"><a href="k100167.html"> << </a>
<td width="7%" align=center bgcolor="#DDCC99"><a href="k100167.html"> < </a>
<td width="7%" align=center bgcolor="#DDCC99"><a href="k100169.html"> > </a>
<td width="7%" align=center bgcolor="#DDCC99"><a href="k100173.html"> >> </a>
<td width="7%" align=center bgcolor="#DDCC99"><a href="../jdkdocs/api/index.html" onClick="this.href=getApiIndex()"> API </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ältnisse noch
klar: hier konnte überhaupt nicht gedruckt werden! Es gab schlicht
und einfach keine Klassen, die das Drucken unterstützten. Nachdem
die Java-Entwicklergemeinde bereits begonnen hatte, proprietä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ändig, und das API war
voll von Schwächen und Restriktionen. Mit dem JDK 1.2 wurde ein
neuer Entwurf vorgestellt, der die Schwächen des vorigen beheben
sollte. Tatsächlich hatte er ein besseres Design, und viele der
Anforderungen, die zuvor unerfüllt blieben, wurden jetzt erfüllt.
<p>
Unglü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änger als 10 Minuten. Erst
mit dem JDK 1.3 wurden diese Probleme behoben, und es scheint, dass
nunmehr mit einer gewissen Zuverlässigkeit und Performance gedruckt
werden kann.
<p>
Wir werden in diesem Kapitel die beiden unterschiedlichen Druck-APIs
vorstellen und Beispiele für ihre Anwendung geben. Für den
Fall, das beide ungeeignet sind, werden wir zusä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ü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"> Titel </a>
<td width="7%" align=center bgcolor="#DDCC99"><a href="k100003.html"> Inhalt </a>
<td width="7%" align=center bgcolor="#DDCC99"><a href="search.html"> Suchen </a>
<td width="7%" align=center bgcolor="#DDCC99"><a href="index.html"> Index </a>
<td width="7%" align=center bgcolor="#DDCC99"><a href="../jdkdocs/index.html" onClick="this.href=getDocIndex()"> DOC </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"> << </a>
<td width="7%" align=center bgcolor="#DDCC99"><a href="k100167.html"> < </a>
<td width="7%" align=center bgcolor="#DDCC99"><a href="k100169.html"> > </a>
<td width="7%" align=center bgcolor="#DDCC99"><a href="k100173.html"> >> </a>
<td width="7%" align=center bgcolor="#DDCC99"><a href="../jdkdocs/api/index.html" onClick="this.href=getApiIndex()"> API </a>
<td align="right">© 1998, 2007 Guido Krüger & Thomas
Stark, <a href="http://www.javabuch.de">http://www.javabuch.de</a>
</table>
<a name="endofbody"></a>
</body>
</html>
|