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 |