Verfahren und System zur registerhaltigen Verarbeitung von Druckdaten
Die Erfindung betrifft ein Verfahren und ein System zur Verarbeitung von Druckdaten. Sie betrifft insbesondere Systeme zur Verarbeitung größerer Druckaufträge, bei denen ein Druckauftrag eine Vielzahl von Dokumenten und/oder Seiten umfaßt. Sie ist daher in Druckproduktionsumgebungen, wie sie in größeren Rechenzentren auftreten oder auch im sog. „Printing on Demandλ PoD) -Markt zur Anwendung geeignet. Derartige Druckproduktionssysteme sind beispielsweise in der Veröffentlichung „Das Druckerbuch*, herausgegeben von Dr. Gerd Goldmann, Oce Printing Systems GmbH, Ausgabe 4a, Mai 1999 (ISBN 3-00-001019-x) auf den Seiten 12-1 bis 12-17 beschrieben. In dieser Veröffentlichung ist auf den Seiten 12-9 bis 12-11 ein sog. Print-Job-Manager beschrieben, mit dem Druckaufträge (Job tickets) in einem an ein Computernetz angebundenen, beliebigen Computer (Client PC) erzeugt werden können und die so erzeugten Druckaufträge an eine Systemkomponente (Order Distribution System) zur Weiterverarbeitung und dem letztlichen Ausdruck übertragen werden können.
Im Zuge der Bearbeitung eines Druckauftrages (Job) , der dem eigentlichen Druckvorgang auf einem Druckgerät vorausgeht, ist es vielfach gewünscht, das Druckergebnis vorab zu kontrollieren (sog. Preview). Aus der US-A-5, 963, 641 ist ein diesem Wunsch entsprechendes Verfahren zur Verarbeitung von Druckdaten bekannt.
In netzwerk-basierten Druckproduktionsumgebungen, bei denen eine Vielzahl von Anwenderterminals (Client-PCs) an einem gemeinsamen Netz angeschlossen sind sowie ein oder mehrere Druckserver, die von den Anwendern oder einem Host-Drucker erzeugten Druckdaten verwalten und an einen oder mehrere Hochleistungsdrucker weiterleiten, wird die Preview-Funktion besonders wichtig. Dies gilt insbesondere
für Druckdatenströme, bei denen die Druckdaten aus mehreren Datenquellen, beispielsweise aus einem variablen Datenstrom und darin einzubindende, statische Ressourcendaten besteht. Beispiele derartiger Datenströme sind der sog. Advanced-Function-Pre-sentation-Data-Stream (AFPDS) oder der Mixed-Object-Documents-Contents-Architecture-Da- tenstrom (MO:DCA) .
Der AFPDS-Datenstrom sowie ein hierfür in geeigneter Bild- betrachter sind beispielsweise in der Dokumentation Nr. S544-5285-00 der Firma „International Business Machines Corporation* (IBM) mit dem Titel „AFP Convertion and Index Facility (ACIF) Users Guide* beschrieben. Der MO:DCA-Da- tenstrom ist beispielsweise im IBM-Dokument Nr. SC31-6802- 04 mit dem Titel „Mixed Object Document Content Architec- ture Reference* beschrieben.
In Druckprozessen werden zunehmend vernetzte Geräte eingesetzt und die Geräte durch Standard-Computerprogramme wie z.B. an sich bekannte Browserprogramme angesteuert oder überwacht. Derartige Internet-Browser sind z.B. die unter dem Betriebssystem Windows betriebenden Microsoft Internet Explorer®, der Netscape Navigator® oder der auch unter dem Betriebssystem Linux einsetzbare Browser Opera. Derartige Browser-Programme gehören vielfach zur Standardausrüstung von Personal Computern und sind somit an nahezu jedem Personal Computer neuerer Bauart verfügbar.
Der Netscape Navigator-Browser unterstützt eine in der Programmiersprache JavaScript programmierbare, sogenannte
Layertechnik. Mit dem Objekt layers, das in der Java- Script®-Objekthierarchie unterhalb des document-Objekts liegt, besteht dabei die Möglichkeit, Zugriff auf alle Layer, die in einer HTML-Datei definiert sind, zu erhal- ten.
Ein neues Layer-Objekt wird automatisch erzeugt, wenn das Browserpogramm einen Layer in der HTML-Datei vorfindet.
Mit JavaScript® können Layers auf verschiedene Arten ange- sprochen werden, beispielsweise mit den Befehlen
„document. layers [#] .Eigenschaft = Wert* „document. layers [#] .Methode ()* „Farbe = document .layers [0] .bgColor* „document.LayerName.Eigenschaft =Wert* „document .LayerName .Methode ( ) * und „Farbe = document .Kopfbereich.bgColor*
Ein Layer kann dabei mit einer Indexnummer angesprochen und „document. layers* angegeben werden. Dahinter steht in eckigen Klammern, der wievielte Layer in der Datei aufgerufen werden soll. Jeder Layer, der in HTML mit dem <lay- er>-Tag oder mit dem <ilayer>-Tag notiert wurde, zählt. Die Layers können auch mit „document .LayerName* an- gesprochen werden und der Name angegeben werden, der bei der Definition der Grafik im einleitenden <lay- er>/<ilayer>-Tag im Attribut „name=* angegeben wurde.
Weitere Einzelheiten zu dieser Layer-Technik sind z.B. in der Internetseite http://www.teamone.de/selfaktuell/ und in dem Buch „SELFHTML: Version 7.0 vom 27.04.1998* des Autors Stefan Münz beschrieben, das über die o.g. Internetadresse bezogen werden kann.
Die oben genannten Veröffentlichungen und Patente werden hiermit durch Bezugnahme in die vorliegende Beschreibung aufgenommen.
Bei der Verarbeitung von Druckaufträgen (Druckjobs) wird bei PoD-Anwendungen, insbesondere bei der Erzeugung von gebundenen Broschüren, gefordert, daß aufeinanderfolgende Seiten eines Dokuments passergenau gedruckt werden.
Es ist Aufgabe der Erfindung, ein Verfahren und ein System bereitzustellen, mit dem ein seitenweise passergenauer Druck ermöglicht wird.
Diese Aufgabe wird durch die in den unabhängigen Ansprüchen angegebene Erfindung gelöst. Vorteilhafte Ausführungsformen der Erfindung sind Gegenstand der Unteransprüche.
Erfindungsgemäß werden die zu verarbeitenden Druckdaten eines Druckauftrages vor dem Drucken auf einer Anzeigevorrichtung angezeigt. Die Druckdaten werden dabei zusammen mit einem Prüfmittel angezeigt, das an der Anzeigevorrich- tung verschiebbar ist. Die Anzeige erfolgt dabei mit einem Browser-Programm wie z.B. Netscape Navigator, der die o.g. Layertechnik unterstützt. Die Erfindung kann somit in vorteilhafter Weise ohne größeren Aufwand in breitem Umfang genutzt werden.
In einem bevorzugten Ausführungsbeispiel der Erfindung liegen die Druckdaten bereits in einem gerasterten Druckdatenformat wie z.B. MO:DCA, TIF, JPG oder IOCA vor, in welchem sie später einem Druckgerät zum Drucken zugeführt werden. Sowohl diese Druckdaten als auch das Prüfmittel im Browser werden insbesondere als transparente Schichten (Layer) in einem Browser verarbeitet. Die Erfindung beruht auf der Erkenntnis, daß mit derartigen Layers dynamische Elemente in Browsern erzeugt werden können und daß derar- tige Elemente als Prüfmittel bei der Verarbeitung von Druckdaten verwendet werden können.
Das Prüfmittel ist insbesondere ein Fadenkreuz, das zwei entlang senkrecht zueinander stehende Achsen angeordneter Linien aufweist, die unabhängig voneinander jeweils parallel zur anderen Achse dynamisch verschiebbar sind und deren Positionen entlang der jeweils anderen Achse jeweils
unabhängig voneinander fixierbar sind. Jede der beiden Linien stellt somit ein Teilelement des Prüfmittels (Fadenkreuzes) dar. Dabei ist es vorteilhaft, wenn jedes dieser Teilelemente im Browser als separate Schicht (Layer) ver- arbeitet wird. Die Linien des Fadenkreuzes werden insbe- ' sondere in einer von den übrigen Anzeigeflächen hervorgehobenen graphischen Darstellungsweise, z.B. farbig (rot), angezeigt .
Durch die Erfindung ist es insbesondere möglich, die
Druckdaten eines Druckauftrages (Job) , der in mehrere Seiten eingeteilt ist, seitenweise und auch innerhalb einer Seite hinsichtlich ihrer Passergenauigkeit bzw. Registerhaltigkeit zu überprüfen. Dazu wird das Prüf ittel (Faden- kreuz) an einer durch den Rand der angezeigten Druckdaten vorgegebenen Position positioniert und fixiert. Dann wird die nächste bzw. die nachfolgenden Seiten zur Anzeige gebracht und deren Position relativ zum fixierten Prüfmittel festgestellt. Ergibt sich eine Diskrepanz, z.B. ein Ab- stand zwischen dem fixierten Prüfmittel und den nachfolgenden Seiten, so können entsprechende Korrekturmaßnahmen eingeleitet werden, beispielsweise Korrekturwerte zur Verschiebung von Druckseiten eingegeben werden oder durch Lösen der Fixierung des Positioniermittels bzw. dynamischen Elementes und anschließender Neupositionierung des Prüfmittels entsprechend der nachfolgenden Seite ein Verschie- bungswert (Shift) ermittelt werden, mit dem der spätere Druck gesteuert wird. Hierzu ist es insbesondere vorteilhaft, wenn die Position des Prüfmittels auf der Anzeige- Vorrichtung in einem Koordinatensystem automatisch erfaßt und die der Position entsprechenden Koordinatenwerte gespeichert werden.
Nachfolgend werden weitere Details und Ausführungsbei- spiele der Erfindung anhand einiger Figuren näher beschrieben..
Es zeigen :
Figur 1 : eine Druckproduktionsumgebung
Figur 2 : eine Programmstruktur
Figur 3 : ein Lade-Bildschirmmenü
Figur 4 : ein Start-Bildschirmmenü
Figur 5: eine erste Dokumentenanzeige
Figur 6: eine zweite Dokumentenanzeige und
Figur 7: eine Systemstruktur.
In Figur 1 ist eine Druckproduktionsumgebung dargestellt, in der einer von mehreren Anwender-Computern 2, ein Druckserver 3, ein Druckgerät 4 und eine separate Druckdaten- quelle 5 (Host-Rechner) über ein Computernetzwerk, wie beispielsweise einem Local-Area-Netwerk (LAN) oder einem Wide-Area-Netwerk (WAN) verbunden sind. Der Anwender-Computer 2 kommuniziert insbesondere mit dem Druckserver 3 über eine spezielle Verbindungssoftware, wie beispiels- weise der im oben genannten OCE-Druckerbuch auf den Seiten 12-1 bis 12-17 beschriebenen Software PRISMA + POD, die unter dem System PRISMA PRO abläuft.
Auf dem Anwender-PC 2 ist dazu unter anderem eine Browser- Software 6 (Netscape Communicator) installiert.
Die Browser-Software 6 kommuniziert dabei mit dem Print- Job-Manager 7, der PRISMA + POD-Software.
In einem weiteren Speicherbereich 8 des Anwender-Computers 2 können Druckdaten zwischengespeichert werden, die durch
den Print-Job-Manager 7 vom Druckserver 3 oder dem Host- Computer 5 abgerufen wurden.
Der Anwender-Computer 2 umfaßt außerdem einen Bildschirm 7 sowie eine zur Eingabesteuerung verwendete Mouse 8.
In Figur 2 ist gezeigt, wie die Browser-Software 7 mit einer unter Java-Script® programmierten Software „PDWiew.js* 9 zusammenarbeitet, deren Listing am Ende der Beschreibung als Anhang 1 angehängt ist.
Dieses Java-Script-Programm 9 greift zum einen auf den HTML-Code „PDWiewControl .Html* 10 sowie auf den HTML-Code „PDWiewImage.Html* 11 zurück, die als Anhängen 2 und 3 angehängt sind. HTML bedeutet Hyper Text Markup Language und in den Listings sind Fadenkreuz-Bezüge als „Grid* definiert; die auf Layer-bezogenen Definitionen und Funktionen sind ebenfalls klar erkennbar.
In Figur 7 sind wesentliche Systemkomponenten und der entsprechende Ablauf veranschaulicht, die im Zuge der Erstellung, der Weiterverarbeitung und des Ausdruckens eines Dokuments benutzt werden.
Das im Client-PC 2 mittels eines Anwenderprogramms 71 wie beispielsweise eines Textverarbeitungsprogramms erzeugten Objekte 72, 73 können dabei .in e.ine Speicherdomäne 70, welche beispielsweise im Druckserver 3 (Figur 1) oder auch über mehrere Computer des Netzwerkes 1 verteilt sind, durch einen Upload-Speichervorgang vom Client-PC 2 in den entsprechenden Speicher-Computer übertragen und dort abgespeichert werden. Die Speicherdomäne 70 umfaßt dazu ein oder mehrere Upload-Verzeichnisse 74 sowie eine Bibliothek für Druckdateien 75 (Print File Library) , in der bereits fertiggestellte Druckaufträge abgespeichert werden. Die Speicherung erfolgt dabei insbesondere auf einem Permanentspeicher wie einer Festplatte des Druckservers 3.
oo f h-1 π o Cπ o π O Cπ
H- N tr et tr φ rt cn Φ N ι-3 l-i a* ω O M φ H- W tr1 rt N > l-i i ö p: CΛ P- ≥;
P Ό c! H H- l-i P Φ H- H- • H P) tr tu o X H- P cn Φ H- Φ ro * P l-i tr Ό P) PJ t-> 3 P> Φ P) rf cn Φ P öd ^1 cn Φ P X Φ P rt rt P tr rt H- rt cn P P Φ φ cn Ω
Φ o o ι-( o 1 Φ • r+ l-i ιQ P) l-i φ cn t-i H- O Φ -J ^Q Ω l-i H- P"
H- P> σ PJ et X TJ ^ 3 3 Φ r+ r-l- Ό P) N p) ιp PJ ι-i cπ IV Ω
P f t-i rt Φ et O O H- Ξ Q ι-i H r Φ H- ι-i P P l-i Φ P P P- ) a P" •ö
Φ 1 P Ü rt > φ H r+ P) r Hi P Φ E sQ * P H- P) 0) Φ P l-1- Φ l-1 3
3 <1 o . . α s: Cπ i≡! * 1 P ^ Φ iQ < > I-1 a n Φ φ cn rt tr l-i Hi Φ H O
Φ IV cn P> φ P> φ •V P P P>: O PJ ι-i -J P. H- iQ rt tr J ü 1-f Φ H- rt l-i p: rt H- •^ o ••«. P PJ O ? Φ φ p: Cπ Φ <i φ H ü Φ P. H- p> N P Φ Φ tr P vQ P PJ ci l-i P Φ X ι-i Cn PJ PJ ι-i l-i 1 Φ rt Φ X H- Φ Φ s: Φ < H- Φ <! Φ 3 3 l-i iQ N •rf cn «3 H- φ <
Φ H- iQ Φ P l-i H- 3 o φ l-i o s: Φ tö rt Φ Λ φ i Φ rt P H- φ H-
2 o Φ s: rt Φ tr* 3 H- Φ cn P H- P- a cn O P p H- Φ rt Ω ι-i 3 p- 3 ^ H- IV ι-f Sä H- C| H P rt tr Φ p) s: •ö X rt O Φ P N
O P CD: H- I-i > P» N P) O P ^ ω Φ 3 cn Φ Φ ) '
. — P H- l-i H- l-1 P) B PJ N> l-i . φ φ d i-i H- So iQ α P sQ • cn cn l-i n φ tr O P H- i-i
!≡S cn P P Φ öd r+ Φ o p: *-< cn O σ n rt cn l-i P tr Ω o
PJ α i-i • P • Φ ^ Φ <! X tr H- H- P» rt Φ l-i Φ PJ rt Ό rt -— . P o X «Q rt N> Φ Φ J ι-i ι-i o Φ Φ φ rt* X ι-i P P Φ Φ Φ cn P. S IV) P l-i
J^ P P P α O c-ι 3 3 l-i Φ j P - Φ Φ n l-i P H- s: H- φ ) PJ P- P) r P - P, <V O O d -x ι-i *o r-t- Φ H- f P> rt O Φ Ω φ Φ P P. cn H
P> <J cπ Φ Φ O P-, ■ cn H- l-i 1 P- φ cj X PJ H P' J 3 n p O 3 ι-i C t-t tr φ C p: >-ö ^ ι -~J l-i P tr PJ Φ a Φ P. Φ P i -J p:
Φ ι-i P H- P -> cn l-1 xX Hl n H- Cπ Cπ φ Φ l-1 P) H Φ P Φ Cϋ tr !
H- i P rt Φ P. 3 O H- rt P> r+ PJ P P) H cn K) rt P P ^ P. l-i PJ φ H1 rt Φ cu: α l-i P iQ -J o . P •» J P ^-. cn P ~J φ • H- 1 l-i Q P P P» l-i Φ cn H- r N ι-i ^ h P) cn CΛ J H- h-1 ιQ ) 03 P). P Φ
Φ i Φ l-i n cn •Ö p- i Φ O X PJ l-i tr Ω P cn ) ö P l-1 o tr o i-i
CΛ ö Φ — * 3 rt * Φ H- rt- Φ P) H- tr X P H- P. X O O P) cn H- H cn v s cn r l-i P . rt P 1 X LQ Φ — - P P P> φ PJ X Ξ P φ rt Φ ß rt
Φ P ω P- p. rxi •^ l-1 tr l-i rt P 3 O Ω i-v cn ω c-ι s: φ Φ o l-> ι-i tr Φ rt φ o ~J cn J H- r+ H- rt P. - P- PJ - — O PJ Φ P
*-* I IV) o φ P H- l-i LΠ l-i Φ ι-i P P ^ φ h-1 P Φ tr l-i iQ ri- φ -J s: H P 3 φ PJ l-i H- T3 3 H- P ι-i H- P. Φ rt s: rt n cn rt ω tr PJ PJ - P σ iQ φ o l-1 f PJ: H- 3 P J P Φ
P Φ l-i H Φ <! rf tr φ PJ Φ H- p- Φ 00 o n a P Φ o rt -J Ξ ι-i P s: d*-- P ι-i P» o <! O ιQ cn a r P P P) - l-i < H- h-x P. Φ P
Φ iQ s: o l-i O φ PJ Φ Φ ω tr* 3 φ P a O P vQ φ H- N ü Φ ö
P* T. φ cn l-i iQ o cn P et H- s: P Φ H- O: 1 o Φ i φ rt ι-i P P P>
O X l-1 P Φ Φ Q. Ό H- Φ Φ r+ tr LQ ) fr l-i Q Φ rt
P" φ IV> N φ H cn iQ P- Φ n P -~J ι-i a* PJ: l-i h-1 Φ φ P) H- H- Tl Cn φ P P Φ
Φ l-i 00 c H- Φ Φ X cπ tr rt- p. H- l-i l-i d P 3 P l-i J H- P H- cn rt hs er N Φ σ ι-i n r - O P> Φ Φ I-1- ι-i Ω N . — . ι-i iQ H- P Φ
H s: N P Φ r-t- - H P n sQ > * Φ cn a^ H- Φ P φ f P
P> PJ Φ s, n fu P φ 3 H- r+ Φ H- H- P l-> T3 H- rt P 3 O:
P •X . l-i & P Φ H- ι-i φ PJ P ι-i P O Φ N rt ιv> P i-i P o
Φ p- N s cn cn rt- ι-i r-t- PJ iQ P* P 1 O Φ •^i Ω * I P l-i IV)
P φ Φ IV P- rt- Φ Φ o iQ P- Φ P Φ 3 PJ 3 H- PJ o φ rt ^
H- Φ p H- o N Φ sQ <^i H- l-i P Φ cn H- H- P- 3 P
Φ P ιQ P Φ P Φ σ P» H- P P ι-i TS cn •n P 1 φ td Tf H- -J
Φ <! H- ι-i , P) l-1 Φ φ Q. •X. Φ H- P φ ι-i < O φ l-1 P 00
<! α H- Φ ιQ o J H- rt 3 Φ n H- -J vQ cn n Φ l-i Ir1 rt φ H- o 0) Φ iQ l-i Φ cn M Φ ι-i <! 1 P - iQ H- PJ: rt φ H-
3 et Φ ) ri- H- H- O sQ O ι-i 1 P) tr rt rt cn φ P φ I iQ 1 Φ cn n φ ι-i P tu P l-f Φ φ P
P o Φ ι-i • H- r+ 1 1 Φ iQ PJ 1 P 3 1 1 P 1 1 1
Drucker verarbeitbaren Datenformate angepaßt ist, beispielsweise im Format AFP, PCL oder Postscript.
In Figur 3 ist ein Anzeige-Fenster 15 dargestellt, . welches nach Aufrufen der Browser-Software 6 und der Print-Job-Ma- nager-(PJM) Software 7 auf dem Bildschirm 17 des Anwendercomputers 2 angezeigt wird. Das Fenster 15 hat dabei im oberen Bereich 16 die typischen Merkmale eines Internet- Browsers, nämlich die Netscape-Menüzeile mit Funktionen wie „Datei*, „Bearbeiten* sowie „Neu laden*, sowie die Angabe der aktuell aufgerufenen http-Netzwerk-Adresse im Feld 19.
Im Auswahlfeld 25 kann dabei ausgewählt werden, ob in der Auswahlliste 21 die im Upload-Verzeichnis 74 gespeicherten Dateien oder die in der Bibliothek 75 gespeicherten Dateien zur Anzeige gebracht werden. In dem in Figur 3 gezeigten Zustand sind in der Liste 21 die Dateien des Upload-Verzeichnisses 74 angezeigt.
Im Bereich 114 (Description) sind zum einen Eigenschaften einer im Upload-Bereich aktivierten Datei angegeben, z.B. ihr Format „PS* für eine Postscript-Datei . Zum anderen sind im Bereich 14 gewünschte Druckparameter angezeigt und auswählbar, z.B. die Zahl der Kopien (Copies) pro Ausdruck oder die Ausgabeart einseitiger/doppelseitiger Druck (sim- plex/duplex) .
Mit den Schaltflächen 26, 27 und 28 läßt sich die Ausgabe in Datei (Store) und/oder die Ausgabe an einen Drucker (Print) starten.
In Figur 4 ist das Anzeigefenster 15 in einem Zustand gezeigt, der nach dem in Figur 3 gestarteten Ladevorgang er- reicht ist. Im Feld 25 ist dabei durch die Angabe „libra- ry* angezeigt, daß in der Auswahlliste 21 das Verzeichnis der Bibliothek 75 angezeigt wird.
In einem Anzeigebereich 20 des aktuellen Dokumentes „Pjmadmin.html* können verschiedene Dokumente in einem Dokument-Auswahlfeld 21 ausgewählt werden. Im Bereich 22 werden typische Eigenschaften der aktuell ausgewählten' Dokumente wie deren Name, deren Druckdatensprache, die Anzahl der Kopien, die Seitengröße, Layout-Angaben sowie Ausschieß-Parameter (Impositioning) dargestellt.
Im Bereich 23 werden typische Angaben hinterlegt, die druckerspezifisch für den Druckauftrag benötigt werden, wie z.B. die Auflösung.
Im Anzeigebereich 14 können lokale Dateien des Client-PCs 2 angezeigt und verwaltet werden. Mit der Schaltfläche 13 können dabei Druckdokumente im Permanentspeicher (Laufwerke) des Client-PCs 2 gesucht werden. Im Feld 12 kann der Name einer vorhandenen Datei zur Suche eingegeben we- ren. Mit der Schaltfläche 24 kann eine Datei des Client- PCs 2 auf den Druckserver 3 übertragen werden (Upload-Vor- gang) , so dass sie in dem Upload-Verzeichnis 74 erscheint.
In Figur 5 ist gezeigt, wie ein in den Browser (Netscape Navigator) geladenes Dokument angezeigt und die Anzeige mittels des Java-Script-Moduls „PDWiew.js* 9 (Anhang 1) gesteuert wird. Das Dokument wird dabei bereichsweise, •z.B. seitenweise, in einem Anzeigebereich 31 des Anzeigefensters 30 dargestellt. Diese Anzeige wird durch das Programm „PDWiewImage.html* 11 (Anhang 3) gesteuert.
Die derart geladenen Dateien (z.B. die Datei „Rah- men/A4.ps*) stehen im Browser in einem gerasterten Format (JPG) zur Verfügung, wobei sichergestellt ist, daß die zur Anzeige gebrachten Informationen pixelweise identisch zu den Informationen ist, die beim Ausdruck derselben Datei im Druckbild entsteht.
In einem über dem Anzeigebereich 31 liegenden Anzeigebereich ist die iewer-spezifische Menüzeile 32 dargestellt. Die Anzeige im Dokument-Anzeigebereich 31 kann dabei über mehrere Steuerfunktionen verändert werden. Zum einen kann im Dokument über den Scroll-Balken 33 oder die dazugehörigen Pfeil-Tasten 34, 35 wie im Standard-Browser gewohnt eine Bewegung innerhalb des Dokumentes nach oben oder unten vollzogen werden.
Eine weitere Möglichkeit, die Anzeige des Dokumentes im Bereich 31 zu verändern, ist, mit den Pfeiltasten 36 (zum Beginn des Dokumentes) , 37 (nach oben) , 38 (nach unten) und 39 (zum Ende des Dokumentes) im Dokument zu wandern. Im Eingabefeld 40 kann des weiteren eine bestimmte Seiten- nummer eingegeben werden, um direkt zu einer bestimmten
Seite zu gelangen. Im Feld 41 kann der Zoom-Faktor angegeben werden, mit dem das Dokument im Bereich 31 dargestellt wird.
Nach Drücken der Viewer-Schaltfläche 61 (Figur 4) wird im Browser 7 bzw. in dem Anzeige-Modul 9 (Viewer) das Anzeigefenster 30 mit der Menüzeile 32 und dem aktuell geladenen Dokument im Bereich 31 angezeigt. In Figur .5 ist dabei der Text 43 von Seite 1 des Dokumentes dargestellt, in Figur 6 ist der Text bzw. die Information der Seite 2 des aktuell geladenen Dokumentes angezeigt.
Durch einen Druck auf die Schaltfläche 45 kann innerhalb des Anzeigebereichs 31 das Fadenkreuz 46 wahlweise einge- blendet und ausgeblendet werden. Das Fadenkreuz 46 besteht dabei aus einer vertikalen Linie 47 und einer horizontalen Linie 48.
Beim erstmaligen Starten des Bildbetrachters (Viewer 9) ist das Fadenkreuz nicht sichtbar. Durch Betätigen der
Schaltfläche 45 wird es eingeschalten (aktiviert) und erscheint sichtbar in der linken oberen Ecke des Anzeigebe-
00 00 to M "-» P1
Cπ o Cπ o Cπ o Cπ cn M cn P- tr PH i cn P Dd φ N H -x s: P. J^. o P K rt S iQ n P. P*. öd PJ _ n
P- P- P- P Ω P J Φ P Φ P- Φ ι-i H- P P Φ Φ H Ω H- α Φ O Φ P- Φ H P- O n IV X Φ
Φ P Φ P* P H cn Hl P Ω P O P Ö P l-i X P φ o P rt cn o P l-i o rt ~< P-
P- ) φ ** O X . s: i tr Φ Ω PJ l-i P) i-i rt *Q ) P- •≤ P Ω
<! iQ Φ Hi hi ^ l-i cn Φ Φ ι-i ^ Φ IV Cπ rt P P. P- P. Φ l-i rt N cn Φ K! '
Φ n H Hi X H- PJ 3 φ ω H Φ tr et X P> P n- O Φ cn P- (D Φ P PJ Φ o Φ }-• ~— ' cn l-i O: PJ Φ J P J p- 3 ι-i Φ l-i J P φ 0 P ω ι-i Φ H P H rt l-i TS < P Φ et o P 1 rt P) j-_, Φ P. s: P s: l-i X P) ι-i PJ rt 1 φ II ω
P- rt P O tr Φ P P- Ω α •x) rt Ω tr P H- H- Φ rt rt ^ S rt P J CΛ P
IV P- l-i 3 IV O P* P l-i Φ 4 fV Φ n Ω H H- H- Φ J P) • ^ •^ iQ rt -— . •
PJ P- cn P. n P p. rt o rt rt α l-i P* rt IV Φ P P. H nd Φ Φ ' PJ o
Ω Ω P- φ Φ P- φ Φ tr P- Φ iQ Φ Φ Φ iQ rt Φ P> 03 Hl Φ ^ ö N rt o *** σ
Φ 4 X φ i-i l-i 3 P P Φ Φ ι-i l-i H- P cn P φ Φ Φ P P- φ X P o P- φ i Φ N s: cn PJ cn P. N cn σ 3 H- Φ P V φ -- P- l cn l-i o φ tr* P P Φ P d ω φ P- Φ tr1 Ω 9 rt Φ [u 1 •n P Φ P l-i P- α l-i l-i P- iQ « N α • — ' cn
P- P- P l-i l-i cn P iQ p) P4 3 **** P p Td φ l-i X φ Φ φ P Φ rt O Φ P- φ
P Ω H P. hd o o — tr •< H- H- IM o H- - Ω l-i P. So i-i P P s: • o P- P P-
P- PJ P Φ O s: s: P. P Φ Φ Φ N α Φ n Ω X Φ H- ω P N iQ o l-i P> P Cd
Φ rt Hl P cn cn cn P- φ i-i H α l-i P o H- H- P^ P Ω Φ φ cn o ö P. Φ rt P Ω
O P- φ Φ P P . cϊ ? ιQ rt Φ Φ tr X s: cn rt P P- P- Φ Φ X
<! l-i S rt i-i ι-i P <i N [3 cn p Φ H- 1^ n h1- P) et Φ sΩ P) rt φ P cn P l-i Φ
-J Φ 3 P- 1 φ X ü o P Hl φ 3 Hi o et P cn P P iQ Hl cn ι-i PJ o X l-i P> s: O ι-i PJ P l-i φ X Φ Φ P Φ φ iQ P P φ rt O S rt P> P-
P. PJ: rt Φ P 3 Φ P* •< l-i rt P. φ P l-* P P P. Φ iQ P Cπ cn Φ Φ Φ P- Φ - Φ
Φ P P- P vQ ι-i P> φ Ω Φ φ P- P rt α s: rt P- N iQ o rt . P P cn tr Hl cn O <1 Φ P* l-i X P- P • cn H- X Φ φ φ < iQ cπ X p: P P-
Φ P P Φ tr X tr P* ι-3 • CQ Φ 1 cn H- Φ P. N Φ P* et N P N ^ Φ P
^ l-i Φ P ι-i P PJ cn α P4 iQ l-i ö P. S ιQ ι-i Φ P X 3 Φ P. s: PJ P- P-
PJ rt P iQ P > Φ P- PJ P) l-i pj: Φ s; 00 φ tr ö P> rt pj: cn l-i P) IV -x P- Φ P. P φ α . P iQ φ P- P cn Hl PJ iQ i-i Φ ι-i N ι-i l-J Φ P O: Cπ P- Φ Φ l-i
Φ £ P- l-i P P. rt •rf Φ PJ -x s: P= P ^ et P Φ o P cn rt
P Cd Φ P- Φ Φ Cd Φ P- H i-i Ω h<- PJ Ω H- Φ PJ & Φ P P1 IV
IV P- cn i-S l-i •* tr ι-i P. P- H H- rt P*" Cn P IV Φ S^ l-i N P φ o 00 Hl l-i « ι-i P P. tr P Φ P- P s: cn Q H- Φ et i K Φ H o rt Φ Φ "»« P ιo : N φ o P- φ α P) PJ s: öd Φ tr Φ Ω l-i ιQ cn Φ 1 P P O P P- ^^ l-i Φ P o φ
P N o P. H 3 Φ i-i Φ H- X PJ Φ α N ?. P ι-i IV i P. s: P- N ι-(
N s IV Φ P- i o et cn Φ •rf H- Φ Φ o P. iQ H- H Φ Φ P- P- & tQ φ g P. φ Φ H P- cn et s: P rt Φ P X X P H- o φ cn H- Φ Φ cn φ s P4 H P- Φ cn P- ι-i cn P- 3 cn Ω ω Hl Φ H- PJ ιQ l-i ι-i et P P iQ Tf P) P. Φ Hi P cn rt φ Φ rt IT s: φ O P H- cn Φ rt P- P) J X N Φ Φ P) P Φ PJ Tf
.(-=> Φ P ι-i . Φ P- H l-i P P Ω Φ H- & . H- S cn rt 1 φ tr P- IV iQ <i φ rt ü cn H rt cn H 1 3 " l-i P N P PJ rt Φ cn H Ω rt J Φ P- l-i Φ P
Φ et Cd ta PJ Φ ω O φ φ Φ P> ü Φ P tr PJ X P ιo er l-i φ P P sQ t-ι cn Φ - p rt H l-i H i-i cn P H- rt •v 1 N P- Ω Φ Φ — Φ rt l-i Φ cn iQ φ P> Φ N P- o 3 H- •£! Φ H- £ s: P X i-i P- . P- P P !* cn cn • iQ X 3 Ö Φ O iQ s: P) H P φ φ P Φ H- & et rt tr X cn IV
•rf Φ Φ P> Φ PJ P- P H cn rt P P. ι-i rt l-i Φ N X Φ Φ PJ α rt o
Φ H cn •< P 3 ιQ Φ PJ Φ cn Φ P Φ >- ! O S. P P s; P P" ) Φ O
P- TS Φ rt P- Φ P Tf i-i o O H- rt X Φ P Φ H- 1 l-i Φ P P- ι-i φ er 3 ι-i
Ω Φ ι-i Φ rr X 1 P l-i P Φ rt H iQ H iQ ! P- ι-( P. « l-i Ω Φ cn
PJ P- P- tr . — . P- g Φ 3 P cn Φ o N o •v X p: P- • P- φ P Ω iQ Φ tr" cn 3 P P> φ Ji- P» rt i Hi o o Φ P- o rt 1 l-i P i-i P4 P- Φ Φ s: P- Ω iQ rt H- X 00 IV PJ Φ Φ ^ P P P n P- !?=. P- σ PJ rt P. Φ P 1 H Φ P X Φ P) H- P P> rt cn 1 1 rt • P. P P) o P- P P- r φ l-i iQ P- φ tr P O φ • α P rt PJ P. P- P cn o P- φ Φ
3 rt Φ 1 Φ P P 1 3 Φ φ Φ Φ Φ M φ P l-i Φ P. P
Φ P P P l-i cn l-i Φ P- P PJ 1 φ 3 1 1 P l-i 1 1 l-i
ist, kann jedoch innerhalb der Grenzen des Dokument-Anzeigebereichs 31 beliebig in horizontaler Richtung A verschoben werden. Genauso kann die zweite Linie 48 des Fadenkreuzes 46, die ebenfalls als ' graphische, ein Pixel breite Information in einem dritten Layer eingebettet ist, beliebig entlang Richtung B vertikal verschoben werden. Die Linie wird dabei aus einer Datei mit einem Pixel durch Streckung daregestellt .
Das Fadenkreuz 46 ist datentechnisch mit der Mouse 18 (Figur 1) gekoppelt und wird wie ein an sich bekannter Mouse- zeiger automatisch zusammen mit einer Mousebewegung innerhalb der Anzeigefläche 31 bewegt. Durch einen Mouseklick mit der linken Mousetaste kann das Fadenkreuz 46 von der Mouse entkoppelt werden und bleibt an der aktuellen Position innerhalb des Dokument-Anzeigebereichs stehen.
Die Momentanwerte innerhalb der X-Y-Koordinaten (horizontal, vertikal) des Fadenkreuzes 46 können durch Anwählen auf den Schaltknopf 51 in den dahinterliegenden Textfeldern 49, 50 angezeigt werden. In der Statusleiste 60 des Browsers ist die aktuelle Position des Fadenkreuzes sichtbar.
Das Fadenkreuz muß dazu sichtbar und fixiert sein. Wird das Fadenkreuz 46, nachdem es mit erneutem Mouseklick innerhalb des Anzeigefeldes 31 wieder beweglich be acht wurde, danach wieder verschoben, so bleiben die angezeigten Werte in den Feldern 49, 50 erhalten. Die Koordinaten- Werte entsprechen einzelnen Pikselwerten auf den X-Y-Ach- sen.
Durch eine Eingabe der X- bzw. Y-Koordinaten in die Felder 49, 50 kann das Fadenkreuz direkt an die angegebene Koor- dinaten-Position positioniert werden.
Zur Überprüfung der Registerhaltigkeit aufeinanderfolgender Seiten ist es zweckmäßig, das Fadenkreuz an einer bestimmten Position, z.B. bei X = 70 und Y = 494, zu positionieren und dann über eine der Schaltflächen 36, 37, 38, 39 oder 40 einen Seitenwechsel vorzunehmen. Im Vergleich zwischen Figuren 5 und 6 ist dies z.B. mit den Seiten 1 und 2 durchgeführt, wobei deutlich zu sehen ist, daß die Seite 2 nicht registerhaltig zur Seite 1 positioniert ist. Der horizontale Abstand a zwischen den Zeilenbeginnen der Seiten 1 und 2 kann durch Verschieben des Fadenkreuzes 46 zum Beginn des Textes der Seite 2 festgestellt werden und die Anzahl der Pixel direkt im Feld 49 abgelesen werden. Der damit erzielte, pixelweise gemessene Register-Korrekturwert (Differenz der beiden Positionen von Seiten 1 und 2) kann dann automatisch oder durch Übertragung auf ein anderes System, beispielsweise in die Steuerung des Druk- kers 4, so korrigiert werden, daß im letztendlichen Ausdruck die Registerhaltigkeit wiederhergestellt ist.
Grundlage zur Darstellung des Fadenkreuzes 46 ist zum einen die oben genannte Layer-Technik und zum anderen zwei Bilddateien mit jeweils einem speziell gekennzeichneten, bestehend aus einem rot farbigen Pixel für die beiden Linien 47, 48. Durch Strecken in jeweils horizontaler bzw. vertikaler Richtung entstehen dabei die Linien 47, 48, welche jeweils bis zu den Rändern des Anzeigebereiches 31 reichen.
Im Übergang von Figur 5 zu Figur 6 ist insbesondere zu er- kennen, daß die Position des Fadenkreuzes, d.h. die Koordinaten X, Y durch einen Seitenwechsel nicht verändert wird. Dadurch kann bei schnellem Scrollen (Seitenwechsel) vom Benutzer sehr schnell erkannt werden, ob eine Verschiebung hinsichtlich der Registerhaltigkeit in aufeinan- derfolgenden oder auch weit voneinander entfernt liegenden Seiten vorliegt.
t to P1 P1
Cπ o Cπ o cπ s: P rt o iQ N o α sQ tr P cn t→ s: h-χ ö Cd cn P α
P- φ Φ α P) Φ P o P- Φ Φ P- P- Φ P- Φ P P) cn O φ •<: φ 3 h Φ tr cn 3 φ er l-i φ φ l-i P P- P er P P P 5 l-i Φ Ω <5 Tf Φ Φ P f-i P- cn iQ Φ s: P. PJ Φ ü P) P- X φ P Cd P Ω rt d φ φ Φ P- P Φ P- 3 i-i
P) PJ er Φ h-x l-i et ι-i P4 PJ ι-( P P H i-i P P- Φ cn rt P1 P- PJ o s: Φ Hi s: P P ≤: : W P- P. Φ cn l-i
Φ ) P P cn P- ι-i H- Φ Φ rt Φ H) O O: P. cn Φ 21 Ω cn
H P P Φ Hi n l-i Tf P l-i n- O ι-i P P Φ rt P Q, φ X Φ
P et Hl 3 φ IV l-i P. 3 P. P Φ P l-i P tr P- rt i-i Φ Φ P P< O P Φ P P> Φ iQ ^ rt "V > ι-i 1 rt
Φ p>: P PJ P- Φ P- iQ P P P rt P Φ c. -x P Ω ω φ ω ι-i iQ . P P P Ω l-i iQ • P. P- P. J P l-i P> cn P4 l-i H
P Φ α Φ P4 J cn Φ P Hl ι-i Hl o cn p-
Φ ι-i Cd Φ 3 ö Φ 9 P- P> Ω cn l-i P. cn P- •^ P= P. s: Ω cn rt P i-i n P cn P X O Φ rt P P4 P- cn P4 rt J rt φ CΛ P Tf rt *) ^ PJ P. H φ Φ P-
<! tr cn P Φ Ω P ι-i Φ < P. φ Φ rt P J P ι-i φ P.
Φ iQ Tf l-i IV P O cn p- Φ P) iQ rt P E P X P er PJ ι-i Φ ι-i P- <i cn P. α O P ι-i &3 P- CΛ iQ iQ P) tr cn tr cn Φ P Φ Φ P s: φ pj: cn P. cn • P> l-i S Ω l-i ι-i P- X O P P. rt J3 Φ PJ O er φ P- ι-i f-
Φ Φ X Φ *» < P et P4 p: ) φ & P P 3 Φ i-i φ p)
P- P- Φ P- Φ cn h-χ tr Φ cn ι-i o iQ P- 1 rt Ω P P Φ ι-i tr O Φ l-i P4 h-x ^ Φ **i cn σ Φ φ X P. φ P- P φ P. fu l-i rt ^ P) φ P> iQ PJ Tf Φ Φ Φ P et Φ φ 3 P cn Φ h-x iQ ^ P> P" P- Φ Ω p- Ω 3 i X ι-i φ er O i-i cn Φ α rt P. φ tr p' φ P4 P) ι-i s: rt •V Cd 3 Φ P O P. Φ P- P) P Φ 3 h-χ P ≥i l-i Φ
Φ l-i PJ cn P- O l-i p- P v l-i Λ" P PJ φ P- φ rt P
H O o et o o Φ P O P. φ iv V i l-i P IV rt P- N
(Q Φ <-• P ι-( P ι-i Φ Φ φ s: P P. cn *Q
Φ Φ l-i P H- φ φ Tf Φ S^ Φ P- cn P Φ φ l-i Ω Φ P-
P l-i P) P Φ Φ P- P rt o P rt rt N l-i V_J. l-i φ P) P
. 3 Φ P ι-i P- P r Φ l-i N Φ P1 P. Φ PJ Tf P p: et rt cn P φ Φ l-i IV P* P- Φ P- Cd P" Φ •< φ tr N 1 3 ι-i Tl Φ o O: P P Φ ι-i P- P l-i φ P) >xt <J α Tf l-i IV α P rt P- ι-i Hi cn n ) P4 n rt Φ O O i-i o i-i O rt Φ P φ IV N P- p- o 3 PJ φ P- ι-i P o O tsi P rt - P O: Φ P φ g P- P1
X P- P rt Ω 3 Q Φ l-i Φ Φ P P- P. R cn tr t5 φ •X . Φ Φ X Tf i-i £P s: α ι-i P) P rt P rt P Ω z*J P Φ P- P- cn P P) cn Φ P- P) P φ P P P4
1 er P h-χ •< rt S rt l-i Φ P Φ Ω P S! iQ s: P- Φ Φ
X P φ X cn Φ § Φ rt Ω P P" • φ Ω cn
P O: P 3 PJ rt l-i P Φ s» P4 P- er H PJ Cd
P P Q. Hl Φ P3 Φ φ iQ Öd rt Φ rt P1 öd
P. P Φ Cd rt 3 P- h-x ι-i J iQ PJ α Φ Φ Φ cn Φ O Φ φ φ P l-i • φ P cn P P P- P Φ ω P- i-i Ω P 3 hi
•s P Φ P P rt P rt 01 rt l-i rt cn Φ X • Φ Φ
S P Ω CΛ Φ J iQ O rt O ι-i Tf P l-i P- P P-
21 PJ IV P- 3 iQ P 3 Φ 3 P- P- rt P- P rt Ω
P Ω φ Φ P- H Ω p: P) i-i P) o Ω φ s: φ cn Φ P4
≥! Hl O l-i rt P- X er rt h-χ rt ι-i P4 h-x P- tr tr Φ φ M ιv Φ φ P- P- P- vQ Φ cn Ω Φ Φ cn rt φ Tf PJ PJ i-i PJ l-i cn 1 1 P) h-χ 1 X P 1 O:
N P- P P P rt h-χ 1 Ω P et 1 P 00
Φ 1 1 P 1 cn P4 i Φ 1 h-χ
Bezugszeichenliste
I * Netzwerk (LAN, WAN) • 2 Anwender-Computer
3 Druck-Server
4 Druckgerät
5 Host-Rechner
6 Browser-Software 7 Print Job Manager-Software
8 Druckdaten
9 Programm „PDWiew.js*
10 Programm „PDWiewControl.html*
II Programm „PDWiewImage.html* 12 Eingabefeld für lokale Dateien
13 Schaltfläche zum Durchsuchen des lokalen PCs
14 Anzeigebereich für lokale Dateien
15 Netscape-Fenster
16 Netscape-Menüzeile 17 Bildschirm
18 Mouse
19 Aktuelle WWW-Adresse
20 Upload-Anzeigefeld
21 Dokument-Auswahlfeld 22 Dokument-Beschreibung
23 Druckerspezifische Dokument-Angaben
24 Schaltfläche
25 Source-Feld
26 Speicher-Schaltfläche 27 Speicher- und Druck-Schaltfläche
28 Druck-Schaltfläche
29 Upload-Taste
30 Anzeigefenster
31 Dokument-Anzeigebereich 32 Menüzeile
33 Scroll-Balken
34 Pfeiltaste
35 Pfeiltaste
36 Zu Seite 1
37 Pfeiltaste (eine Seite zurück) * 38 Pfeiltaste (eine Seite vor) 39 Zum Ende des Dokumentes (letzte Seite)
40 Seiteneingabefeld (Seiten-Direktwahl)
41 Zoom-Funktion
42 Fadenkreuz-Taste
43 Text der Seite 1 44 Text der Seite 2
45 Fadenkreuz-Schaltfläche
46 Fadenkreuz
47 vertikale Linie
48 horizontale Linie 49 Anzeigefeld für X-Koordinate
50 Anzeigefeld für Y-Koordinate
51 Markierungs-Taste
59 PIM-Server-Statuszeile 60 Browser-Statuszeile
61 View-Taste
70 Speicherdomäne
71 Anwenderprogramm 72 erstes Objekt
73 zweites Objekt
7.4 Upload-Verzeichnis
75 Print File Library
76 Rastermodul
114 Anzeigebereich für Eigenschaften des Jobs
126 Speichern nach Betätigen der Schaltfläche 26
127 Speichern und Drucken nach Betätigen der Schaltfläche
27 128 Drucken nach Betätigen der Schaltfläche 28
129 Übertragen der gerasterten Druckdaten nach Betätigen der
Schaltfläche 61
Anhang 1: Listing „PDWiew.js*
//version: .2.09.00, last change: 2000/03/03, ©Oce Printing Systems GmbH var PDWie InProgress = false; var PDVZoom = 10; var PDVPage = 1; var PDVPages = 0; var PDVZoo s = new Array ( "75", "50", "25", "12", "10", "5") ;
// var PDVPageXOffset = 0;
// var PDVPageYOffset = 0; var PDVWindowWidth=sc een. availWidth-10; var PDVWindowHeight=screen. availHeight-70; var MainLayerWidth=0; var MainLayerHeight=0; var ImageOffset=10; var MoveGridlock=false; var GridlockVisibly="hide"; var GridButtonStatus="Mark"; var GridlockX=0; var GridlockY=0; var Nextlmage = ""; var ImageTransfer = false; var PDVSizeChanged = false; var IsMinNavigator46 = false; var UseGrid = false; var ActiveDocument = ""; ' var Ne Document = ""; var PDWie ControlDefaultStatus = ""; var PDWie Windo =null; if ( (navigator. appName.indexOf ("Netscape") **== 0) && (naviga- tor. appVersion. substr (0,3) >="4.5") ) {
IsMinNavigator46=true;
UseGrid=true; } function StoreAbsoluteXY( )
{ if (GridButtonStatus=="Mark")
{ if (GridlockVisibly=="sho ") { if (MoveGridlock==false)
{ var df = PDWie indow. frames ["control"] .document.pdvview; df.AbsoluteX.value=GridlockX; df.AbsoluteY.value=GridlockY; } eise PDWiewWindow. frames ["image"] .alert ("Please lock line cross using left mousebutton! ") ;
} eise PDWiewWindow. frames ["image"] .alert ("Line cross must be visi- ble!") ;
} } function GridlockOnOff ( ) {
var gridbar = PDWiewWindow. frames ["image"] . document. layers ["MainLayer"] ; var onoff = PDWiewWindow. frames ["control"] .document. forms .pdvview.GridlockOnOff; if (GridlockVisibly == "show") { GridlockVisibly = "hide"; onoff. value = "On "; } eise if • (GridlockVisibly == "hide") { GridlockVisibly = "show"; on-* off. value = "Off"; } gridbar .layers ["XBar"] .visibility = GridlockVisibly; gridbar. layers ["YBar"] .visibility = GridlockVisibly; } function GridlockMove (values ) { if (GridlockVisibly == "show")
{ var d = PDWiewWindow. frames ["image"] ; MoveGridlock = IMoveGridlock; GridlockX=values .pageX-ImageOffset; GridlockY=values .pageY-ImageOffset; } } function GridlockSetMark (newvalue) var dgrid = PDWiewWindow. frames [ "control"] .document. pdvview; var di = PDWiewWindow. frames ["image"] ; if (GridlockVisibly=="show")
{ ■ if (MoveGridlock==false)
{ dgrid. SetAbsoluteXY. value=newvalue;
} eise { dgrid . GridlockOnOff . focus ( ) ; if (newvalue == "Set") di . lert ( "Please lock line cross using left mousebutton ! " ) ;
} } eise
{ dgrid. GridlockOnOff . focus ( ) ; if (newvalue == "Set") di . alert ( "Line cross must be visible!"); } } function GridlockNewPos ( )
{ var dg = PDWiewWindow. frames ["control"] .document. pdvview; var di = PDWiewWindow. frames ["image"] .document; var Mainimage = di.MainLayer. document. images ["Mainimage"] ; var xval = dg.AbsoluteX. alue; var yval = dg.AbsoluteY. alue; if
(isNaN(xval) | lisNaN(yval) | | (Mainimage. width<=xval) | | (Mainimage. height <=yval) | | (yvaKO) | | (xvaKO) )
{ dg.AbsoluteX. value = GridlockX; dg.AbsoluteY. value = GridlockY; dg.AbsoluteX. focus ( ) ; var msg = "Please typein valid integer values!"; msg += "\nValid values are:";
msg += "\nx: 0 to " + (Mainimage.width-1) ; msg += "\ny: 0 to " + (Mainimage. height-1) ; PDWiewWindow. frames ["control"] .alert (msg) ;
} eise
{ xval = Math. floor (parseint (xval) ) ; GridlockX=xval; yval = Math. floor (parseint (yval) ) ; GridlockY=yval; dg.SetAbsoluteXY.value='Mark' ; GridButtonStatus="Mark"; di.MainLayer. layers ["YBar"] .pageX = xval + parseint (ImageOffset) ; di.MainLayer .layers ["XBar"] .pageY = yval + parseint (ImageOffset) ;
PDWiewWindow. frames ["image"] . window. defaultStatus = 1 ( ' +χval+ ■ / ' +yval+ ' ) ' ; }
} function PDVHelp ( )
{ if (top.HelpWindow *== null) { HelpWindow = window. open {" . /HelpPDWiew.html", "Help", "toolbar=yes, scrollbars=yes, resi zable=yes,width=600,height=450") ; HelpWindow.moveTo (20,20); HelpWindow. creator = top; } eise HelpWindow. focus () ; } function SetNewPagePulldown ( ) . var d = PDWiewWindow. frames ["control"] .document. dvview. dvpage; d.options .length = PDVPages; for (i=0; KPDVPages; i++) d.optionsfi] = new Option(""+(i+l) ,i+l) ;
PDWiewControlDefaultStatus = "Viewing: "+ViewName. substring (ViewName.lastlndexOf (" . ",ViewName.length- 5) +l,ViewName. length) ; if (PDVPages==l) PDWiewControlDefaultStatus += " ("+PDVPages + " page)"; eise PDWiewControlDefaultStatus += " ("+PDVPages+" pages)" PDWiewWindow. frames ["control"] .window. defaultStatus = PDWiewControlDefaultStatus ;
function PDWiewWindowClosedO ■ {
PDWiewWindow = null; } function SetPDVZoomSelect (d, current) { var def = "10"; if (current) def = ""+current; d.write ("<select name=lpdvzoom' on-
Change= ' parent . window . opene . top . PDVSizeChanged=true ; parent . window . op ener.top. PDWiewPage (\"zoom\", forms . pdvview. pdvzoom. options [forms .pdv view.pdvzoo .selectedlndex] .value) ; '>") ; for (var i=0;i<PDVZooms . length; i++) d.write ("<option va- lue='"+PDVZooms [i] +" ' "+sel (PDVZoo s [i] ,def ) +">"+PDVZooms [i] ) ; d.writ ("</select>") ;
} function SetPDVPageSelec (d, current)
{ var def = "1"; if (current) def = ""+current; d.write ("<select name='pdvpage ' on- Change=Iparent.window. opener. top. PDWiewPage (\"page\", forms .pdvview.p dvpage.options [forms.pdvview.pdvpage. selectedlndex] .value) ; '>") ; for (var i=l;i<=PDVPages;i++) d.write ("<option value=' "+i+" ' "+sel (i,def) +">"+i) ; d.write ("</select>") ; } function PDVWriteFullView(d)
{
PDWiewControlDefaultStatus = "Viewing: "+ViewName.substring (ViewName.lastlndexOf (" . ",ViewName.length-
5) +l,ViewName. length) ; if (PDVPages==l) PDWiewControlDefaultStatus += " ("+PDVPages+" page)"; eise PDWiewControlDefaultStatus += " ("+PDVPages+" pages) " d.write ("<HTMLXheadXtitle>Pjm Web Professional Document
Viewer</titlex/head>\n") ; d.write ( "<FRAMESET ROWS=110, *, "+ImageOffset+" BORDER=0>") ; d.write ("<FRAME src=' .. /PS-Docs/PDWiewControl .html ' NAME= ' control '
SCROLLING='no' NORESIZE>"); // d.write ("<FRAMESET COLS=100, * BORDER=0>") ;
// d.write ("<FRAME src=' .. /PS-Docs/PDWiewThumbs .html '
NAME=' thumbs ' >\n") ; d.write ("<FRAME src=' .. /PS-Docs/PDWiewImage.html ' NAME=' image ' >\n") ;
// d.write ("</FRAMESET>") ; d.write ("<FRAME src=' ../PS-Docs/PDVDummy.html ' NAME= ' dummy *
SCROLLING= ' no ' N0RESIZE>" ) ; d.write ("</FRAMESET>") ; d.write ("<BODYX/BODYX/HTML>") ;
} function PDVRefreshImageView( ) var fc = PDWiewWindow. frames ["control"] ; var fi = PDWiewWindow. frames ["image"] ; fc. document. forms .pdvview.pdvpage. selectedlndex = l*PDVPage - 1; // PDVPageXOffset = fi.pageXOffset; // PDVPageYOffset = fi .pageYOffset; if (PDVSizeChanged == true) { if (UseGrid==true) { fc. document.pdvview.AbsoluteX.value=I 0 ' ; GridlockX=0; fc. document. dvview.AbsoluteY. alue=l 0 ' ; GridlockY=0;
} fi.location.href = " .. /PS-Docs/PDWiewImage.html"; PDVSizeChanged = false; } eise
{ if (UseGrid==true) f i. document. ainLayer. document. images ["Mainimage"] .src = ",./PS- Docs/"+ViewName; eise f i. document. images ["Mainimage"] . src= "../PS- Do es / " +Vi ewName ; }
} function DoPDVDocument ()
{ if (PDWiewInProgress == true) { if ( ÜsInternetExplorer ( ) ) j ava . lang. System. out . rintin ( "Preparing document for PDV viewing. . . " ) ; top . setTimeout ( "DoPDVDocument ( ) " , 1000 ) ;
) eise { var S = ViewName; var FirstDotAway = S . substring (0, S.lastlndexOf (".'')) ; var SecondDotAway = FirstDotAway. substring (0, FirstDotAway. lastlndexOf (". ") ) ;
NewDocument = S . substring (SecondDotAway. length- 7, S. length) ; alert ( "Laststatus obName : \t<"+LastStatusJobName+">\nS : \t\t\t<"+S+">\nFirstDotAway: \t\t<"+FirstDotAway+">\nSecondDotAway: \t\t<"+SecondDotAway+">\nActiveDocument: \t\t<"+ActiveDocument+">\nNewDocument:
\t\t<"+NewDocument+">\nPDVParams: \t<"+PDVParams+">") ; if ( (PDWiewWindow == null) | | (IsInternetExplo- rer ()&& (NewDocument !=ActiveDocument) ) ) .{ ActiveDocument = NewDocument; if (PDWiewWindow != null) { PDWiewWindow. close ( ) ; setTimeout("DoPDVDocument() ",500) ; } eise {
PDWiewWindow = window. open("", "PDV","status,scrollbars,width="+PDVWindowWidth+",height= "+PDVWindowHeight) ; var d = PDWiewWindow. document;
PDWiewWindow.moveTo (0, 0) ; PDVWriteFullView(d) ; d. close ( ) ;
// if ( IViewWithPara s) // DisplaySta- tus (LastStatusRequest, LaststatusJobid, LaststatusJobName, LastStatusArc hive, LastStatusStatus) ; } } eise { if (NewDocument != ActiveDocument) SetNewPagePulldown ( ) ; if ( (IsInternetExplorer () )&& (PDWiewWindow != null)) PDWiewWindow. frames ["image"] .document. all. CursorStyle. style. cursor = "default"; eise if (IsMinNavigator46==true) PDWiewWindow. frames ["control"] . document. images ["Working"] .src="../PS- Docs/buttons/workO . gif" ;
ActiveDocument = NewDocument; PDWiewWindow. focus ( ) ; PDVRefreshlmageView ( ) ; ) } } function PDVDocu ent (params)
{
PDVPages = 0; PDVPage = 1; PDVZoom = 10;
Message ( "Contacting PRISMA Server : " , "<blink>Preparing</blink> document for PDV viewing . . . " ) ; PDWiewInProgress = true;
if (params )
PDVParams = params; eise
PDVParams = Use- rld+", "+LastStatusJobId+", "+LastStatusJobNamet", "-(-LastStatusArchive; SubmitRequest ("VP", PDVParams) ; DoPDVDocument ( ) ; } function PDWiewPage (type, um)
{
//if (type == "first") {if (PDVPage != 1) PDVPage = 1; eise return; } //eise if (type == "last") {if (PDVPage != PDVPages) PDVPage = PDVPa- ges; eise return;}
//eise if (type == "prev") {if (PDVPage > 1) PDVPage = PDVPage-1; eise return; }
//eise if (type == "next") {if (PDVPage < PDVPages) PDVPage = PDVPa- ge+1; eise return;} if (type == "first") {if (PDVPage != 1) PDVPage = 1; eise return;} eise if (type == "last") {if (PDVPage != PDVPages) PDVPage = PDVPages; eise return; } eise if(type == "prev") {if (PDVPage > 1) PDVPage—; eise return;} eise if (type == "next") {if (PDVPage < PDVPages) PDVPage++; eise re- turn; } eise if (type == "zoom") PDVZoom = num; eise if (type == "page") PDVPage = num;
PDWiewInProgress = true; if ( (IsInternetExplorer ())&& (PDWiewWindow !=* null) ) PDWiewWin- dow. frames ["image"] .document. all. CursorStyle. style, cursor = "wait"; eise if (IsMinNavigato 46==true) PDWiewWindow. frames ["control"] .document .Images ["Working"] .src="../PS- Docs/buttons/work.gif"; SubmitRequest ("VP"+PDVZoom+", "tPDVPage, PDVParams) ; DoPDVDocument () ; }
Anhang 2 : Listing „PDWiewControl . html*
<HTML> * <HEADXT TLE>PDWiewControl</TITLEx/HEAD> <script language="JavaScriptl.2">
//version: 2.09.00, last change: 2000/03/03, © Oce Printing Systems
GmbH var t = parent.window. opener. top; t.GridlockX=0; t.GridlockY=0; window. def aultStatus=t . PDWiewControlDefaultStatus ; document . write ( "<body "+t .MainBackGround ( ) +" onUn- load= ' t . PDWiewWindowClosed ( ) ; ' >" ) ; document .write ( "<center>" ) ; document.write ("<form name='pdvview'>") ; document.write ("<table border=0 cellspacing=0 cellpadding=0 width=88%>") ; //if (t.IsMinNavigator46==true)
//{ document.write ("<td align=center><img name='Working' width='30' height='30' src=' .. /PS-Docs/buttons/workO.gif 'x/td>") ;
//} document.write ( "<td>" ) ; document.write ("<table align=center cellspacing=0 cellpadding=3 bor- der=l>"); document . rite ( "<tr valign= ' top '>") ; document.write (" <th colspan=l>Navigation</th>") ; document.write (" <th colspan=l>Direct Access</th>") ; document.write (" <th colspan=l>Zoom</th>") ; if (t. IsMinNavigator46==true) document.write ("<th colspan=2>Line
Cross</th>") ; document.write ("</tr>") ; document.write ("<tr valign='bottom'>") ; document.write ("<tdxtable border=0 cellspacing=0 cellpadding=3xtr valign='bottom'>") ; document. rite ("<td align=left valign=bottom colspan=0xinput ty- pe='button' name=' firs 1 value=' ¦<<  ' on- Click='parent. indow. opener. top. PDWiewPage (\"first\") ; 'x/td>") ; document.write ("<td align=left valign=bottom colspan=0><input ty- pe='button' name='prev' value='  << ' on-
Click='parent.window. opener. top. PDWiewPage (\"prev\") ; 'x/td>") ; document. rite ("<td align=left valign=bottom colspan=0Xinput ty- pe='button' name='next' value=' Snbsp>sgt ' on-
Click='parent.window. opener. top. PDWiewPage (\"next\") ; 'x/td>") ; document.write ("<td align=left valign=bottom colspan=0xinput ty- pe='button' name='last' value='  >>¦' on-
Click= 'parent.window. opener. top. PDWiewPage (\"last\") ; 'x/td>") ; document. rite ("</trX/table></td>") ; document.write ("<td align=left valign='bottom' col- span=0xb>PAGE</b> ") ; t.SetPDVPageSelect (document, t. PDVPage) ;
//document.write (" of <b>"+t.PDVPages+"</bx/td>") ; document .write ( "</td>") ; document .write ("<td align=left valign='bottom' col- span=0xb>physical</b> ") ; t.SetPDVZoomSelect (document, t.PDVZoom) ; document.write ("%</td>") ; if (t.IsMinNavigator46==true)
{
document. rite ("<td valign=middlexinput type= ' button ' na- me= ' GridlockOnOff ' value= ' " ) ; if (t.GridlockVisibly=="hide") docu ent.write ("On ") ; eise document.write ("Off ") ; document.write("' onClick=' t. GridlockOnOff () ; 'x/td>") ; document. rite ("<td valign=middleXinput type=' button' na- me='SetAbsoluteXY' value='Mark' onClick='t.StoreAbsoluteXY() ; '>") ; document.write (" <b>x</b> <input type='text' na- me= 'AbsoluteX' value=' ' maxlenght=' 4 ' size='5' on- focus='t.GridlockSetMark(\"Set\") ' on-
Blur='t.GridlockSetMark(\"Mark\") ' onChange=' t.GridlockNewPos ( ) '>") ; document. rite (" <b>y</b> <input type='text' na- me='AbsoluteY' value=' ' maxlenght=' 4 ' size='5' on- focus='t.GridlockSetMark(\"Set\") ' on- Blur='t,GridlockSetMark(\"Mark\") ' on- Change= ' t . GridlockNewPos ( ) ' x/td>" ) ; } document.write ("</tr></table>") ; document.write ("</td>") ; //if (t.IsMinNavigator46==true) //{ document. write ("<td align=center><a href=' ./PDVDummy.html' on- Click= 't . PDVHelp ( ) ' target= ' dummy ' >help</ax/td>" ) ; //<img name='Working0' width='30' height='30' src='../PS- Docs/buttons/workO.gif 'x/td>") ; document. rite ("</table>") ; //} document.write ("</form></center>") ; document. rite ("<hr size=2>") ; document. rite ("</body>") ;
</scriptX/HTML>
// new file
Anhang 3 : Listing „PDWiewImage . html"
<HTML> <HEADXTITLE>PDWiewImage</TITLEX/HEAD> <script language="JavaScriptl . 2 ">
//version : 2 . 09 . 00, last change : 2000/03/ 03 , © Oce Printing Systems GmbH var t = parent . window. opener . top ; f un cti on Gridl o ckMo ve { val )
{ if (val == "on") window. captureEvents (Event .MOUSEDOWN | Event .MOUSEMOVE) ; if (val == "off") window. releaseEvents (Event.MOUSEDOWN | Event.MOUSEMOVE) ; } function ShowXY (values )
{ if ( (t.MoveGridlock == true) && (t. GridlockVisibly == "show"))
{ window. defaultStatus = "("+ (values .pageX- t . ImageOffset) +"/ "+ (values . pageY-t . ImageOffset) +" ) " ; t.GridlockY = values .pageX; t.GridlockX = values .pageY; document.MainLayer .layers ["YBar"] .pageX = values . pageX; document.MainLayer. layers ["XBar"] .pageY = values .pageY; } } // document. write ( "</style>" ) ;
// document. rite ("<body "+t.MainBackGround( ) +" on- Load='if ( (t.PDVPageXOffset != 0) | | (t. PDVPageYOffset != 0)) scroll- To(t.PDVPageXOffset,t.PDVPageYOffset) ; '>") ; document. write ("<body id=' CursorStyle' "+t.MainBackGround( ) +">") ; if (t.IsMinNavigator46==false)
{ document.write ("<img name= 'Mainimage' src='../PS- Docs/"+t.ViewName+"' hspace='0' vspace='0 '>") ; document. write ("</body>") ; } eise { document.write ("<layer name= 'MainLayer' top='0' left='0' width='0' height='0' onMouseover='GridlockMove (\"on\") ' onMouse- out='GridlockMove (\"off\") ' img name='Mainimage' src=' . JPS- Docs/"+t.ViewName+"' hspace='0' vspace=' 0 '>") ; var ML = document.MainLayer; var MI = ML. document. images [ 'Mainimage '] ;
// DO NOT CUT THE 2 FOLLOWING LINES! => ERROR IN GRIDLOCK-POSITION! document.write(" <layer name= ' XBar ' top=' "+t.GridlockX+" ' left='0' visibility='"+t.GridlockVisibly+"Iximg name= 'XLine ' src=' ../PS- Docs/buttons/pixel. jpg1 width=' "+MI.width+" ' height=' 1 'x/layer>") ; document.write(" <layer name='YBar' top='0' left=' "+t.GridlockY+" ' visibility=' "+t.GridlockVisibly+" 'ximg name= ' YLine ' src=' ../PS- Docs/buttons/pixel. jpg' width= ' 1 ' height=' "+MI.height+" 'x/layer>") ; document.write ("</layer>") ; document.write ("</body>") ; ML.pageX = . ImageOffset; ML.pageY = t. ImageOffset; ML.resizeTo (MI .width,MI .height) ; window. onmousedown = t.GridlockMove; window. onmousemove = ShowXY; var S = t.ViewName;
var FirstDotAway = S. substring (0, S .lastlndexOf (".")) ; var SecondDotAway = FirstDotAway. substring (0, FirstDotAway. lastlndexOf ( ". ") ) ; t.ActiveDocument = S. substring (SecondDotAway. length-7, S. length) ; // alert ("S: \t\t\t<"+S+">\nFirstDotAway: \t\t<"+FirstDotAway+">\nSecondDotAway: \t\t<"+SecondDotAway+">\nt .ActiveDocument: \t\t<"+t.ActiveDocument+">") ; }
</script>