Bingo! Meine Vermutung war richtig.
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 *
;********************************************************************************************************************