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 |