Beispiel 7.21. Einfaches Beispiel zum Aufbau und Start eines Druckjobs
In diesem Beispiel wird gezeigt, wie ein PrintJobConfiguration
-Objekt
erzeugt wird, Seiten zum Druck hinzugefügt werden und der PrintManager
zur
Ausführung des Druckjobs verwendet werden kann.
void executePrintExample() { Document document = …PrintJobConfiguration pjc = PrintJobConfiguration.create();
addAllPages(document.getPages(), pjc.getAvailablePages());
PrintManager.executePrintJob(pjc);
} void addAllPages(EventList<Page> source, EventList<Page> destination) { final Lock writeLock = destination.getReadWriteLock().writeLock();
final Lock readLock = source.getReadWriteLock().readLock();
try { writeLock.lock();
try { readLock.lock();
destination.addAll(source);
} finally { readLock.unlock();
} } finally { writeLock.unlock();
} }
|
Das Dokument, das alle Seiten enthält, die ausgedruckt werden sollen. Die Herkunft des Dokumentes ist in diesem Beispiel nicht entscheidend. |
|
Erzeugung eines vorkonfigurierten PrintJobConfiguration-Objekts |
|
Hinzufügen der Quellseiten zum Druck. In diesem Fall wird das gesamte Dokument gedruckt. Siehe Implementierung der Methode unten. |
|
Aufruf des PrintManagers. Dieser Aufruf startet und verwaltet den Druckjob bis er abgearbeitet wurde. |
|
Schreib-Lock für die Liste in die die zu druckenden Seiten hinzugefügt werden. Der Lock ist noch nicht aktiviert. |
|
Lese-Lock für die Liste, die die zu druckenden Seiten enthält. Der Lock ist noch nicht aktiviert. |
|
Aktivierung des Schreib-Locks |
|
Aktivierung des Lese-Locks |
|
An dieser Stelle passiert das Hinzufügen aller Seiten der Quellliste zur Liste, die die zu druckenden Seiten beinhaltet. |
|
Freigeben des Lese-Locks |
|
Freigeben des Schreib-Locks |