List&Label Drucken [ERLEDIGT]
Moderator: Moderatoren
-
- Der Entwickler von "Deep Thought"
- Beiträge: 2513
- Registriert: Mi, 28. Jul 2010 17:16
- Hat sich bedankt: 12 Mal
- Danksagung erhalten: 77 Mal
List&Label Drucken [ERLEDIGT]
Hallo
ich sollte ein Project unter List&Label auf unterschiedlichen Drucker/Schächten ausgeben können. Da es sich um mehrere Drucker und Arbeitsplätze handelt kommt die fixe änderung der Projekte nicht in Frage. Mit dem DOM Funktionen bietet LL ja eine Möglichkeit ein tempöräres Project vor dem Drucken zu ändern.
Leider ist die DOC von LL eher schwach und in diesem Bereich nicht sehr ergiebig.
Hat es schon jemand geschaft mit den DOM Funktionen wie z.B. LlDomGetProject() einem Project vor dem Druck "Druckername" und "Traynummer" mitzuteilen?
Gruss Carlo
ich sollte ein Project unter List&Label auf unterschiedlichen Drucker/Schächten ausgeben können. Da es sich um mehrere Drucker und Arbeitsplätze handelt kommt die fixe änderung der Projekte nicht in Frage. Mit dem DOM Funktionen bietet LL ja eine Möglichkeit ein tempöräres Project vor dem Drucken zu ändern.
Leider ist die DOC von LL eher schwach und in diesem Bereich nicht sehr ergiebig.
Hat es schon jemand geschaft mit den DOM Funktionen wie z.B. LlDomGetProject() einem Project vor dem Druck "Druckername" und "Traynummer" mitzuteilen?
Gruss Carlo
Valar Morghulis
Gruss Carlo
Gruss Carlo
- Tom
- Der Entwickler von "Deep Thought"
- Beiträge: 9361
- Registriert: Do, 22. Sep 2005 23:11
- Wohnort: Berlin
- Hat sich bedankt: 101 Mal
- Danksagung erhalten: 361 Mal
- Kontaktdaten:
Re: List&Label Drucken [ERLEDIGT]
Hallo, Ramses.
Du hast ja schon eine Lösung gefunden, es gibt aber noch eine andere, nämlich "LlSetPrinterInPrinterFile()". Damit wird eine LSV/LBV-Datei erzeugt, die für das Projekt (temporär) den Drucker bestimmt; L&L lädt diese automatisch mit dem Projekt. Der Vorteil besteht darin, dass dies auch über eine Druckerauswahl im Programm, also ohne Hardcodierung erfolgen kann (und es nimmt nur eine Zeile Code ein, man benötigt keine DevMode-Struktur für den Drucker). Ein Nachteil ist, dass die Trayansteuerung ohne weitere Änderungen dann nur über einen weiteren Drucker ("HP Laserjet zweiter Schacht") erfolgen kann.
Dies nur der Vollständigkeit halber.
Du hast ja schon eine Lösung gefunden, es gibt aber noch eine andere, nämlich "LlSetPrinterInPrinterFile()". Damit wird eine LSV/LBV-Datei erzeugt, die für das Projekt (temporär) den Drucker bestimmt; L&L lädt diese automatisch mit dem Projekt. Der Vorteil besteht darin, dass dies auch über eine Druckerauswahl im Programm, also ohne Hardcodierung erfolgen kann (und es nimmt nur eine Zeile Code ein, man benötigt keine DevMode-Struktur für den Drucker). Ein Nachteil ist, dass die Trayansteuerung ohne weitere Änderungen dann nur über einen weiteren Drucker ("HP Laserjet zweiter Schacht") erfolgen kann.
Dies nur der Vollständigkeit halber.
Herzlich,
Tom
Tom
-
- Der Entwickler von "Deep Thought"
- Beiträge: 2513
- Registriert: Mi, 28. Jul 2010 17:16
- Hat sich bedankt: 12 Mal
- Danksagung erhalten: 77 Mal
Re: List&Label Drucken [ERLEDIGT]
Hallo Tom
da hast du recht, nur 1 Zeile Code, funktioniert auch gut. Dies war meine Notlösung, ich habe dazu dann eine DEVMODE-Struktur erzeugt und konnte damit auch die Trays ansteuern. Die Schachtansteuerung muss ich zwangsmässig übers Programm erledigen, dieses hat eine umfangreiche Druckerverwaltung in welcher für jeden Arbeitsplatz und Dokument die entsprechenden Drucker und Trays hinterlegt sind. Jedoch wird in der DOC von LL16 von der Verwendung von "LlSetPrinterInPrinterFile" abgeraten. Wir sind neu auf LL16 gekommen, und von den Möglichkeiten und der einfachheit zu einem Ausdruck zu kommen echt überwältigt. Momentan sind Gedanken da einige andere vorhandene Ausdrucke zu überarbeiten ..... Darum wollte ich mit den DOM-Aufrufen einfach die optimalste Lösung zur Drucker und Trayansteuerung .....
Gruss Carlo
da hast du recht, nur 1 Zeile Code, funktioniert auch gut. Dies war meine Notlösung, ich habe dazu dann eine DEVMODE-Struktur erzeugt und konnte damit auch die Trays ansteuern. Die Schachtansteuerung muss ich zwangsmässig übers Programm erledigen, dieses hat eine umfangreiche Druckerverwaltung in welcher für jeden Arbeitsplatz und Dokument die entsprechenden Drucker und Trays hinterlegt sind. Jedoch wird in der DOC von LL16 von der Verwendung von "LlSetPrinterInPrinterFile" abgeraten. Wir sind neu auf LL16 gekommen, und von den Möglichkeiten und der einfachheit zu einem Ausdruck zu kommen echt überwältigt. Momentan sind Gedanken da einige andere vorhandene Ausdrucke zu überarbeiten ..... Darum wollte ich mit den DOM-Aufrufen einfach die optimalste Lösung zur Drucker und Trayansteuerung .....
Gruss Carlo
Valar Morghulis
Gruss Carlo
Gruss Carlo
- Wolfgang Ciriack
- Der Entwickler von "Deep Thought"
- Beiträge: 2935
- Registriert: Sa, 24. Sep 2005 9:37
- Wohnort: Berlin
- Hat sich bedankt: 13 Mal
- Danksagung erhalten: 34 Mal
- Kontaktdaten:
Re: List&Label Drucken [ERLEDIGT]
Wäre schön, wenn du die Lösung hier mal posten könntest, im Moment benötige ich das zwar nicht, aber wer weiss....
Viele Grüße
Wolfgang
Wolfgang
-
- Der Entwickler von "Deep Thought"
- Beiträge: 2513
- Registriert: Mi, 28. Jul 2010 17:16
- Hat sich bedankt: 12 Mal
- Danksagung erhalten: 77 Mal
Re: List&Label Drucken [ERLEDIGT]
Hallo Wolfgang
hier der Vollständige Code um in einem Projekt den Drucker und Tray zu setzten. Die Fehlerbehandlung muss nätürlich noch eingebaut werden.
Benötigt min. Prof. Edition.
Leider ist die DOC von LL im Zusammenhang mit dem DOM-Project z.T. falsch und oberflächlich.
In dem Zusammenhang natürlich noch: Vielen Dank an den Support von List&Label. Nur mit deren Hilfe hat es schlussendlich funktioniert.
Gruss Carlo
hier der Vollständige Code um in einem Projekt den Drucker und Tray zu setzten. Die Fehlerbehandlung muss nätürlich noch eingebaut werden.
Benötigt min. Prof. Edition.
Code: Alles auswählen
LL16ModuleInit() // DLL Laden
hJob := LlJobOpen(-1) // Jobhandle holen
LlSetOptionString (hJob, LL_OPTIONSTR_LICENSINGINFO, "*********" ) //
nRProj := nSProj := hProj :=0
hProj := LlProjectOpen(hJob, LL_PROJECT_CARD, "T:\\LL16Test\\TestTray\\Brief.crd", LL_PRJOPEN_CD_OPEN_EXISTING+LL_PRJOPEN_AM_READWRITE+LL_PRJOPEN_EM_IGNORE_FORMULAERRORS)
nRet := LlDomGetProject(hJob, @hProj ) // Nach Project Open zusätlich Als DOM Projekt öffnen, zwingend, DOC ist hier falsch.
nRet := LlDomGetObject(hProj, "Regions", @nRProj) // Handle auf Regions holen
nret := LlDomGetSubobject(nRProj, 0, @nSProj) // Handle auf Regions.Region holen
nret := LlDomSetProperty(nSProj, "Device.Name", '"HP Color LaserJet 3800 PCL 5c"') // Druckername setzten ACHTUNG: in DOPPELTEN ANFüHRUNGSZEICHEN!!!!!!!!!!!
nret := LlDomSetProperty(nSProj, "SourceTray", "260" ) // Traynummer des Druckers als String setzten, Nummer ist Druckerspezifisch siehe ::Paper:Bins()
nRet := LlProjectSave( hJob, "" ) // Projekt Speichern
nRet := LlProjectClose( hJob ) // Projekt schliessen
LlJobClose(hJob) // Job schliessen
LL16ModuleExit() // DLL entladen
In dem Zusammenhang natürlich noch: Vielen Dank an den Support von List&Label. Nur mit deren Hilfe hat es schlussendlich funktioniert.
Gruss Carlo
Zuletzt geändert von ramses am Sa, 15. Jan 2011 0:56, insgesamt 1-mal geändert.
Valar Morghulis
Gruss Carlo
Gruss Carlo
- Wolfgang Ciriack
- Der Entwickler von "Deep Thought"
- Beiträge: 2935
- Registriert: Sa, 24. Sep 2005 9:37
- Wohnort: Berlin
- Hat sich bedankt: 13 Mal
- Danksagung erhalten: 34 Mal
- Kontaktdaten:
Re: List&Label Drucken [ERLEDIGT]
Vielen Dank, kann man bestimmt mal gebrauchen.
Viele Grüße
Wolfgang
Wolfgang