List&Label Drucken [ERLEDIGT]

Moderator: Moderatoren

Antworten
ramses
Der Entwickler von "Deep Thought"
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]

Beitrag von ramses »

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
Valar Morghulis

Gruss Carlo
ramses
Der Entwickler von "Deep Thought"
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]

Beitrag von ramses »

Geschaft, alles in allem 9 Zeilen Code. Wenn man weiss wie recht simpel ....
Valar Morghulis

Gruss Carlo
Benutzeravatar
Tom
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 9358
Registriert: Do, 22. Sep 2005 23:11
Wohnort: Berlin
Hat sich bedankt: 101 Mal
Danksagung erhalten: 361 Mal
Kontaktdaten:

Re: List&Label Drucken [ERLEDIGT]

Beitrag von Tom »

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.
Herzlich,
Tom
ramses
Der Entwickler von "Deep Thought"
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]

Beitrag von ramses »

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
Valar Morghulis

Gruss Carlo
Benutzeravatar
Wolfgang Ciriack
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2934
Registriert: Sa, 24. Sep 2005 9:37
Wohnort: Berlin
Hat sich bedankt: 13 Mal
Danksagung erhalten: 34 Mal
Kontaktdaten:

Re: List&Label Drucken [ERLEDIGT]

Beitrag von Wolfgang Ciriack »

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
ramses
Der Entwickler von "Deep Thought"
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]

Beitrag von ramses »

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.

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 


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
Zuletzt geändert von ramses am Sa, 15. Jan 2011 0:56, insgesamt 1-mal geändert.
Valar Morghulis

Gruss Carlo
Benutzeravatar
Wolfgang Ciriack
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2934
Registriert: Sa, 24. Sep 2005 9:37
Wohnort: Berlin
Hat sich bedankt: 13 Mal
Danksagung erhalten: 34 Mal
Kontaktdaten:

Re: List&Label Drucken [ERLEDIGT]

Beitrag von Wolfgang Ciriack »

Vielen Dank, kann man bestimmt mal gebrauchen.
Viele Grüße
Wolfgang
Antworten