Beispiel 7.2. 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.getSourcePages()); 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 |