Sollte `PaperFormat` nicht besser in der .lbp-Datei sein, anstatt in der .lbl-Datei?

Bei unserer Software liegen die .lbl-Dateien (Projekt-Dateien) für die Etiketten auf dem Server und die .lbp-Dateien (Druckerdefinitions-Dateien) auf den Clients. Jeder Client benutzt für die gleiche .lbl-Datei eine eigene .lpb.Datei.
Die Idee war, dass man ein Etikett auf verschiedenen Clients drucken kann mit unterschiedlichen Etikettendrucker.
Trotzdem bekommen wir immer wieder Kundenbeschwerden, dass mit dem Etikettendruck was nicht stimmt. Unsere Kunden-Hotline sagt, dass “sich das Papierformat immer wieder verstellen würde”.
Unter anderem würden nach dem zu druckenden Etikett unnötig leere Etiketten “gedruckt”.

Das Problem ließe sich beheben, indem man vor dem Druck auf dem Client auf dem man drucken möchte die .lbl-Datei in den Designer lädt, dann unter “Projekt / Layout-Bereiche” die “Seitengröße” (welche sich “verstellt hat”) prüft und gegebenenfalls neu auswählt und das Dokument speichert.
Es ist jedoch keine schöne Lösung für den Endkunden, wenn er vor jedem Etikettendruck die .lbl-Datei in den Designer laden und die Seitengröße überprüfen und korrigieren muss.

Das Problem tritt sogar auf, wenn an den verschiedenen Clients genau der gleiche Etikettendrucker (gleiches Modell) angeschlossen ist.
Ich habe mir mal angeschaut, was sich in der .lbl-Datei bei oben beschriebenem Prozess ändert. Zwei der Clients beim Kunden haben beide den Etikettendrucker Seiko SLP 440 und bei beiden sind Etiketten der Größe 28x51mm drin. Der einzige Unterschied beim Speichern der .lbl-Datei ist der Wert PaperFormat unter [PageLayouts]. Wenn die Datei auf dem einen Client gespeichert wurde, dann steht dort ein Wert von 139 und wenn die Datei auf dem anderen Client gespeichert wurde, dann steht dort ein Wert von 141.

Ein anderes Team hat mir erzählt, dass die ähnliche Probleme haben und, dass der Integerwert in PaperFormat vom Windows Betriebssystem kommen würde und er sich bei verschiedenen Windows Versionen oder Windows Updates immer mal wieder ändert. Standard-Formate wie DIN A4 und DIN A5 hätten eine kleine Nummer (wie z.B. 9) die sich nie ändern würde, aber die hohen Nummern der Sonderformate (wie z.B. für Etiketten) würden sich immer mal wieder ändern, was dann bei uns Probleme verursacht.

Hat sonst noch jemand das gleiche oder ein ähnliches Problem mit dem PaperFormat?
Wir verwenden momentan noch List & Label Version 22, sind aber dabei auf Version 27 umzusteigen. Ist das in Version 27 noch immer ein Problem oder gibt es da eine Verbesserung?

Wäre es nicht besser das PaperFormat nicht in der .lbl-Datei zu haben, sondern in der .lbp-Datei? Denn es ist meiner Meinung nach ja nicht eine Layout-Einstellung, sondern eine Drucker- bzw. Betriebssystemspezifische Einstellung.

Die Papiergrößen sind nur bis zur Ziffer 118 genormt, vgl. Paper Sizes - Win32 apps. Vermutlich verwenden Sie eine benutzerdefinierte bzw. vom Druckertreiber vorgegebene Größe, die sich möglicherweise auch in unterschiedlichen Druckertreiberversion des selben Gerätes ändern kann. Idealerweise wird hier sichergestellt, dass die unterschiedlichen Druckertreiber identische Optionen und Papierformate aufweisen, um etwaige Formatprobleme zu vermeiden.

@ppreuschoff Danke für Ihre Antwort.

Unsere Kunden drucken Etiketten. In der Microsoft-Liste sind keine Etikettengrößen vorhanden. D.h., dass die Hersteller von Etikettendruckern Werte größer 118 verwenden müssen.
Ich würde ja auch annehmen, dass die Werte bei ein und demselben Hersteller von Etikettendruckern immer gleich sein sollten. Von Kollegen habe ich jedoch gehört, dass die Kollegen Fälle gesehen haben wo sich bei einem bereits funktionierenden Rechner der Wert von PaperFormat nur durch die Installation eines Microsoft Updates geändert hat und dadurch plötzlich Probleme auftraten. Der Druckertreiber wurde nicht geändert. Erklären können wir uns das nicht.

Im Fall welchen ich im März beschrieb, handelte es sich um einen Seiko SLP 440 Etikettendrucker. Bei einem Rechner hatte PaperFormat einen Wert von 139 und bei einem anderen Rechner ist es 141 für das gleiche Etikettenmodell.

Jetzt haben wir wieder einen Call von einem Kunden wo es bei einem vorher funktionierenden System plötzlich zu Problemen beim Etikettendruck kam.
Diesmal handelt es sich um einen Dymo 450 Turbo Etikettendrucker. Wenn ich bei einem Rechner das Etikettenmodell 11354 einstelle, dann hat PaperFormat einen Wert von 171. Wenn ich die .lbl-Datei von einem anderen Rechner speichere, dann hat mit dem gleichen Etikettenmodell 11354 PaperFormat einen Wert von 187.
Zwei Werktage bevor das Problem gemeldet wurde, wurde auf einem der zwei Rechner ein größeres Windows Update eingespielt.

In unserer Software werden die .lbl-Dateien zentral auf einem Server gespeichert. Alle andere Rechner (Clients) verwenden diese .lbl-Datei, haben jedoch eine eigene lokale .lbp-Datei.

Gerade weil Microsoft nur Werte bis 118 definiert hat und die Werte >=119 Abhängig von Druckerhersteller, Druckertreiberversion, Betriebssystem, … sind, ist das meiner Meinung nach keine “Dokumenteneigenschaft” sondern eine “Druckereinstellung” und sollte daher meiner Meinung nach nicht in der .lbl-Datei sondern in der .lbp-Datei sein.

Oder wäre es möglich List & Label wie folgt zu ändern?

  • Wenn der Wert <=118 ist, dann wie bisher den Wert in die .lbl-Datei speichern.
  • Wenn der Wert >118 ist, dann in die .lbl-Datei einen Wert von z.B. -1 (oder 0) schreiben und den tatsächlichen Wert in die .lbp-Datei speichern. (In C# gibt es System.Drawing.Printing.PaperKind.Custom mit einem Wert von 0, aber das ist eventuell für wirklich benutzerdefinierte Größen. Daher vielleicht besser -1 nehmen.)
  • Das gleiche dann auch beim Lesen/Auswerten des Wertes:
    • Wenn in der .lbl-Datei ein Wert von != -1 steht, dann diesen verwenden.
    • Wenn in der .lbl-Datei ein Wert von -1 steht, dann den Wert aus der .lbp-Datei lesen und verwenden.

Solch eine Lösung sollte auch keine Probleme mit bereits existierenden .lbl-Dateien verursachen.

Vielen Dank für Ihren Beitrag. Ich habe hierzu Input aus unserer Entwicklungsabteilung erhalten, den ich Ihnen nicht vorenthalten möchte :wink:

Normalerweise wird innerhalb eines List & Label-Projektes eine bestimmte Seiten- bzw. Etikettgröße verwendet, die für das Zielgerät zur Ausgabe bestimmt ist. Mit der Option “Seitenformat erzwingen” innerhalb des Dialogs für die Layout-Bereiche durchsucht List & Label die Papierformate des ausgewählten Druckers und selektriert dann das am besten passende Format - genau aus dem von Ihnen beschriebenen Grund, dass sich die Papier-Nummern von Rechner zu Rechner oder von Druckertreiberversion zu -version ändern können.

Bei weiteren Rückfragen können Sie auch gerne über den Support und einem neuen Support-Case auf uns zukommen, sodass wir in der Lage sind auch sinnvoll Dateien auszutauschen, die dem Thema möglicherweise nochmals einen anderen Schwung verleihen könnten :wink:

Sehr geehrter Herr Preuschoff,

vielen Dank für Ihre Antwort.

Wir verwenden momentan noch List&Label Version 22, sind aber dabei unsere Software auf List&Label Version 27 umzustellen. Erst die Software (Formulare bleiben vorerst bei Version 22) und irgendwann später auch die Formulare.
Ich denke es macht keinen Sinn das Problem mit Version 22 zu melden.
Wenn ich die Zeit finde, versuche ich ob ich auch mit Version 27 ein Problem (re)produzieren kann.