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 |


