Seite 2 von 8

Re: Barcode Modul

Verfasst: 30.03.2018 15:49
von Micha122
Hallo mk-soft,
wiedermal danke fürs testen. :allright:
Ich gehe deshalb mal einfach davon aus, das der Code auf macOS funktioniert. :?:



Hallo ccode_new,
Auch Dir danke fürs testen. :allright:
ccode_new hat geschrieben:Ich bekomme lediglich bei den Beispielen 3 und 4 einen Fehlercode 19 geliefert.
Hmmm, unter Windows x64 kein Problem. :oops:
Ich habe das Modul noch nicht auf x86 getestet.
Ist Dein Linux x86, 32bit?
ccode_new hat geschrieben:Zitat:
Mehrere Bracodes, Textzeilen und Styles auf einer Seite.


ist ein kleiner Buchstabendreher versteckt.
Werde ich korrigieren.

Re: Barcode Modul

Verfasst: 30.03.2018 17:44
von ccode_new
Hier einmal ein kleines Test-Video dazu:

Linux-Barcodemodul-Test

Re: Barcode Modul

Verfasst: 30.03.2018 18:16
von Micha122
Hallo ccode_new,
zunächst vielen dank für Deine Arbeit!

Ich habe das Modul und die Beispiele unterdessen auch mal auf Windows7 x86 getestet.
Okay, hatte dort nur PB 5.6 (ca. 1 Jahr alt), aber hat alles funktioniert. Keine Fehlermeldung. :oops:

Mir ist in Deinem Video (Beispiel5 - Hallo PB-Gemeinde 2018) aufgefallen, das der Barcode-Text in keinem Verhältnis zum Barcode steht (viel zu groß).

Ich hatte mal kurzzeitig eine fehlerhafte Modul-Version in meiner Dropbox die genau solche Fehler produzierte.

Bitte überprüfe ob Du wirklich die aktuelle Version von der Webseite benutzt!

Info: Bitte nicht nach der Versionsnummer gehen, die war identisch. :oops:

Nochmals vielen Dank fürs testen. :allright:

Re: Barcode Modul

Verfasst: 30.03.2018 18:46
von ccode_new
1. Ich verwende ein x64 - Betriebsystem.
2. Ich habe es mit der aktuelle Version: Letzte Bearbeitung: 30.03.2018, 16:02 (und der Version davor) getestet.

-> Ich bekomme bei Beispiel 3 und 4 (egal ob mit echten Drucker (auch mit Randlosdruck-Einstellung) oder per PDF-Print den Fehler 19.

Re: Barcode Modul

Verfasst: 30.03.2018 19:15
von Micha122
Ich habe mal Beispiel3 und das Modul an diversen Stellen mit Debug Befehlen versehen um das ganze einzugrenzen.
Download: http://www.micha122.bplaced.net/userfil ... ersion.rar

Bitte sende mir die Debug-Ausgabe.

Re: Barcode Modul

Verfasst: 30.03.2018 19:21
von ccode_new
Hier die Debug-Ausgabe:

Text: Ein EAN13. Ziffernfarbe: 100,100,100
Textbreite: 188.26953125
Fehler: Ein EAN13. Ziffernfarbe: 100,100,100
Fehler Print Barcode:19

Re: Barcode Modul

Verfasst: 30.03.2018 19:31
von Micha122
Bingo! Meine Vermutung war richtig. :D

Dieser Text geht bei Dir über den bedruckbaren Bereich hinaus.
Ein EAN13. Ziffernfarbe: 100,100,100
Ich weiß nicht warum, aber die PB-Funktion <VectorTextWidth> liefert bei Dir unter Linux
eine völlig andere Textbreite als bei mir unter Win 7 und 10.

Meine Debug-Ausgabe:
Text: Ein EAN13. Ziffernfarbe: 100,100,100
Textbreite: 141.2006530762
Text: Ein EAN8
Textbreite: 21.51496315
Textbreite unter Windows: 141.2006530762 mm
Textbreite unter Linux: 188.26953125 mm :?: :?:

Dieser Code ist für die Ausgabe der Textzeilen verantwortlich:

Code: Alles auswählen

     ;********************************************************************************************************************
      ; Texte drucken                                                                                                     *
      ;********************************************************************************************************************
      ForEach Text()
        ;Zeichensatz für Text_Line laden und Text zeichnen
        If Text()\Font <> ""
          Text_Font.i = LoadFont(#PB_Any, Text()\Font, Text()\Font_Size, Text()\Text_Style)
          If Text_Font.i = 0
            ProcedureReturn 17
          EndIf
          Text_FontID.i = FontID(Text_Font.i)
        EndIf
        VectorFont(Text_FontID.i)
        Text_width.d = VectorTextWidth(Text()\Text)
        Debug "Text: " + Text()\Text
        Debug "Textbreite: " + Text_width.d
        Text_height.d = VectorTextHeight(Text()\Text)     
        MovePathCursor(Text()\Text_PosX , Text()\Text_PosY) 
        VectorSourceColor(RGBA(Val(StringField(Text()\TextColor_RGB, 1, ",")), Val(StringField(Text()\TextColor_RGB, 2, ",")), Val(StringField(Text()\TextColor_RGB, 3, ",")), 255))
        DrawVectorText(Text()\Text)
        FreeFont(#PB_All)
        ;Prüfen ob der Text im Druckbereich liegt.
        If Text()\Text_PosX < *Printer\Left_edge
          ProcedureReturn 18
        ElseIf Text()\Text_PosX + Text_width.d > *Printer\Page_width - *Printer\Right_edge
          Debug "Fehler: " + Text()\Text
          ProcedureReturn 19
        ElseIf Text()\Text_PosY < *Printer\Top_edge
          ProcedureReturn 20
        ElseIf Text()\Text_PosY + Text_height.d > *Printer\Page_height - *Printer\Upper_edge
          ProcedureReturn 21
        EndIf
      Next
      ;********************************************************************************************************************
      ; Texte drucken Ende                                                                                                *
      ;********************************************************************************************************************

Re: Barcode Modul

Verfasst: 30.03.2018 19:36
von ccode_new
Scheint wohl ein PureBasic-Bug zu sein.

Meine Text und DPI Einstellungen sind Windows identisch (Daran kann es nicht liegen.)

Auch andere Dokumente werden korrekt skaliert ausgedruckt.

Re: Barcode Modul

Verfasst: 30.03.2018 19:38
von Micha122
ccode_new hat geschrieben:Meine Text und DPI Einstellungen sind Windows identisch (Daran kann es nicht liegen.)
Welche DPI Angaben? :shock:

Alle Positionen und Größen werden in Millimeter angegeben.

Re: Barcode Modul

Verfasst: 30.03.2018 19:42
von ccode_new
Ich meine dabei meine Drucker-Treiber-Einstellungen.

(Die aber bei PDF-Print eigentlich auch egal sein sollten.)