+1 800 256 3608 (toll-free in North America) or +49 7531 90 60 10| service@combit.com

Workaround AGB auf Rückseite bei Duplex


(Guest) #1

Hallo Allerseits,

hat es schonmal jemand geschafft auf die Rückseite eines Blattes die AGBs anzudrucken, auch wenn ein Ausdruck über mehrere Seiten geht?

Hab die Anfroderung schon paar Mal von Kunden auf dem Tisch gehabt, aber hab mir bisher die Zähne daran ausgebissen, dieses wirklich zuverlässig zu realiseren.

MfG,
Lars


(Guest) #2

Scheint wohl relativ exotisch zu sein, wenn nicht mal jemand eine Idee dazu hat.


(Guest) #3

Ich bräuchte das auch… Hat keiner eine Lösung ? Oder kann man jede zweite Seite die AGBs drucken? das könnte man dem Drucker dann so verkaufen das er jede zweite Seite auf die Rückseite druckt.

MfG

Markus


(Guest) #4

… wäre wirklich interessant zu erfahren. Müßte doch möglich sein. Wir arbeiten mit LL17.

Danke.

Gruß


(Guest) #5

Also auch auf der Roadshow konnten mir die Mitarbeiter keine spontane Lösung bieten :frowning:

Gruß,
Lars


(Guest) #6

Hallo Lars,

also für mich habe ich eine Lösung dazu gefunden, allerdings habe ich einen Report mit 4 fest definierten Seiten (Ebenen). Die ersten beiden werden duplex gedruckt, dann die anderen beiden simplex hinterher. Dabei drucke ich sogar auf drei verschiedene Schächte.

Allerdings weiß ich nicht, ob es geht wenn man vorher nicht weiß wie viele Seiten es werden. Aber vielleicht hilft dir der Ansatz etwas weiter:

  1. Zunächst die AGB als Ebene mit der Bedingung Page()=2 in den Report einbinden,
  2. Verschieden Seitenlayouts definieren (“Seite 1”, “AGB” und “Folgeseiten”) mit den Bedingungen Page()=1, Page()=2 und Page()>2
  3. vor LlPrintStart mit Hilfe von DOM die Eigenschaften setzen, etwa so:

(Sorry, habe nur VB.Net-Code anzubieten :-))

Dim myProject As Dom.ProjectBase = Nothing
Dim prSet As PrinterSettings = Nothing
Dim prSetDuplex As PrinterSettings = Nothing

myProject = New Dom.ProjectLabel(myListLabel)
myProject.Open(myFileName, LlDomFileMode.OpenOrCreate)

'PrinterSettings mit Standardeinstellungen
prSet = New PrinterSettings          

'PrinterSettings mit Duplex vereinbaren
prSetDuplex = New PrinterSettings 
prSetDuplex.Duplex = Duplex.Vertical

'Dann die Seitenlayouts des Reports durchlaufen
For Each reg As Dom.Region In myProject.Regions
  Select Case reg.Name
    Case "Seite 1"
      'PrinterSettings für die Region (Das Seitenlayout) übernehmen
      reg.Set(prSetDuplex )
      'eventuell noch einen Schacht definieren
      reg.SourceTray = myTrayDuplex
    Case "AGB"
      reg.Set(prSetDuplex )
    Case "Folgeseiten"
      reg.Set(prSet)
      'auch Querformat kann eingestellt werden
      reg.Paper.Orientation = "2"
Next

'Speichern und Schließen
myProject.Save(myFileName)
myProject.Close()

Trifft das etwa den Kern? Du müsstest deinem Report nur noch irgendwie beibringen, mit dem Text für Folgeseiten erst auf der dritten Seite weiterzumachen.

Allerdings muss ich noch einen Nachteil bei Seriendruck erwähnen:
Da “Duplex” leider ein globale Druckereinstellung ist, wir immer nach den ersten beiden Seiten ein neuer Druckauftrag erstellt, da kann man machen was man will. So entstehen Pausen beim Ausdruck, die bei größeren Datenmengen ziemlich nervig sind. Ich hielt das sogar für unpraktikabel im Echtbetrieb, aber wenn der Kunde darauf besteht …

Ich hoffe das hilft dir irgendwie weiter.

Gruß, Micha


(Guest) #7

Hi Micha,

danke für die Antwort, auch wenn ich erst heute zurück schreiben, das Thema ist ja immer noch aktuell.

Es hilft mir begrenzt weiter, da ich mich ja schon in der Tabellenausgabe befinde, werde aber auf Grund deiner Idee mal einen Seitenumbruch für die Tabelleneigenschaft definieren, der auf jeder graden Seite umbricht und statt dessen den AGB als Ebene bei graden Seiten ausgibt.

Vielleicht funktioniert ja sowas - wobei ich glaub an der Stelle schon war.

MfG,
Lars


(Guest) #8

Ich habe inzwischen übrigens eine Lösung für das Problem erarbeitet :slight_smile:

  1. die AGBs in eine Grafik (z.B. JPG) konvertieren
  2. In der Tabelle an erster Stelle der Positionsdaten eine Definitionszeile erstellen mit einer Spalte über die komplette Breite und der Höhe eines DIN A4 Blattes. Darstellungsbedingung dieser Definitionszeile ist Even(Page())
  3. Alle anderen Elemente die nicht in der sind (Textboxen z.b.) müssen als Darstellungsbedingung NOT Even(Page()) zusätzlich bekommen.
  4. Die Höhe der Tabelle muss ebenfalls noch dynamisch über Even(Page()) angepasst werden, so dass die Tabelle z.B. ganz oben anfängt.

Leider habe ich bisher noch nicht geschaft das der Positionswert für Links auf 0 rutscht, bei einer gerade Seitezahl :frowning: Hier verweigert die Tabelle grundsätzlich und bleibt leider dort wo sie ist. Aber schonmal besser als nichts :wink:

Gruß,
Lars


(Guest) #9

Weitere Entwicklung:
Ein OLE Objekt (für PDF) oder ein Bildelement mit den AGB als jpg oder dergleichen über die komplette DIN A4 Seite mit der Darstellungsbedingung Even(Page()) ermöglicht dann eine ausfüllende Darstellung der AGB auf der Rückseite.

Nachteil aktuell: Die Grafik die als ganzseitigem Platzhalter in der Tabelle gedruckt wird und über die komplette Seite geht, liegt, egal was man macht immer ÜBER den Bildelement :frowning: D.h. diese Platzhaltergrafik habe ich durch eine 4KB große transparente DIN A4 Grafik (leer.png) ersetzt. Somit hat man zumindest in der Vorschau eine absolut saubere Darstellung.
Beim Speichern oder drucken kommt hier leider wieder die transparente Datei (leer.png) zum Vorschein und wird über dem Bildelement (agb.jpg) als weiße Fläche dargestellt (hier optisch als schwarze Fläche die im Ausdruck weiß ist) :frowning:

Darstellung in der LL Vorschau

darauffolgender][/url] Ausdruck (egal ob als .LL oder .PDF gespeichert)

Hat][/url] jemand eine Idee wie dieses kleine Problem gelöst werden kann?
PS: Die transparten Datei (leer.png) habe ich auch schein versucht mit 1px breite und 297px Höhe zu speichern, mit dem gleichen Ergebnis hmpf)

Gruß,
Lars


(Guest) #10

[quote=Lars Vietense]Hallo Allerseits,

hat es schonmal jemand geschafft auf die Rückseite eines Blattes die AGBs anzudrucken, auch wenn ein Ausdruck über mehrere Seiten geht?

MfG,
Lars[/quote]

Im Prinzip ist es nicht schwer - aber alles ist relativ :wink:

a) Druck der Rechnung (oder was auch immer) in eine Vorschaudatei
b) Vorschaudatei öffnen (LlStgsys…)
c) Drucker-DC erzeugen mit Duplex (wenn möglich)
Duplex möglich:
d1) alternierend die Vorschaudateiseite (LlStgsysDrawPage()) und die AGBs (ich empfehle auch hier eine EMF-Datei) auf den Drucker-DC drucken
Duplex nicht möglich:
d2) erst die Vorschaudatei-Seiten drucken (LlStgsysDrawPage()), dann die AGB-Seite
e) Drucker-DC schließen
f) Vorschau-Datei schließen (und ggf. löschen oder archivieren oder aufessen)