Hello coders!
Im finishing a Market Management and POS software and I have a huge problem printing the ticket in a POS printer.
The problem is that when the shop list is long the library or the code cuts the ticket always in the same size (like 25 cm)
I cannot do a "infinite" ticket or a 1m ticket printing with this library and i tried it all.
This is a simplified code of my ticket printing.
Im finishing a Market Management and POS software and I have a huge problem printing the ticket in a POS printer.
The problem is that when the shop list is long the library or the code cuts the ticket always in the same size (like 25 cm)
I cannot do a "infinite" ticket or a 1m ticket printing with this library and i tried it all.
This is a simplified code of my ticket printing.
THIS IS A SAMPLE OF THE CODE, IF THE TABLE ITEMS SIZE IS BIG THE PRINTING IS NOT COMPLETED:
Dim PEP As Paper=Paper_static.c
Dim leiout As PageLayout
leiout= P.CreatePageLayout(PEP, PageOrientation_Static.PORTRAIT,0, 0,0, 0)
P.CreatePageLayout2(PEP, PageOrientation_Static.PORTRAIT,"HARDWARE_MINIMUM")
Log(leiout.GetPrintableHeight)
leiout.GetTopMargin
Dim PJ As PrinterJob = PrinterJob_Static.CreatePrinterJob2(P) '
PJ.GetJobSettings.SetCopies(1)
PJ.GetJobSettings.SetPrintQuality("HIGH")
PJ.SetPrinter(P)
Dim heit As Double=0
Dim PANESIN As Pane
PANESIN.Initialize("")
PANESIN.PrefWidth=205
Dim lbl As Label
lbl.Initialize("")
lbl.Text="TICKET CABECERA"
lbl.TextSize=13
lbl.Style="-fx-alignment:CENTER;-fx-font-weight:bold"';-fx-border-width:0.7;-fx-border-color:black"
PANESIN.ADDNODE(lbl,0,0,196,15)
heit=heit+15
Dim lbl As Label
lbl.Initialize("f")
lbl.STYLE="-fx-font-weight:bold"
lbl.Text="P. UNIT ( CANT. ) DESCRIPCIÓN"
lbl.TextSize=6.5
PANESIN.ADDNODE(lbl,3,heit,150,14)
Dim lbl As Label
lbl.Initialize("g")
lbl.TextSize=6.5
lbl.Text="SUBTOT"
lbl.Style="-fx-alignment:center_RIGHT;-fx-font-weight:bold"
PANESIN.AddNode(lbl,154,heit,42,14)
heit=heit+15
Dim lbl As Label
lbl.Initialize("e")
lbl.Text=""
lbl.TextSize=0
lbl.STYLE="-fx-border-width:0.7;-fx-border-color:black"
PANESIN.ADDNODE(lbl,3,heit,196,2)
heit=heit+3
Dim TOT As Double=0
Dim MAYORA As Boolean=False
For y=0 To tableventa.Items.Size-1
Dim row() As Object=tableventa.Items.Get(y)
Dim lbl As Label
lbl.Initialize("j")
lbl.TextSize=6.3
lbl.Text="$ "&row(1)
PANESIN.ADDNODE(lbl,3,heit,31,11)
Dim lbl As Label
lbl.Initialize("k")
lbl.TextSize=6.3
lbl.Text="( "&NumberFormat(row(2),0,2)&" )"
PANESIN.AddNode(lbl,34,heit,26,11)
Dim lbl As Label
lbl.Initialize("l")
lbl.TextSize=6.3
lbl.Text="$ "&row(3)
lbl.Style="-fx-alignment:center_RIGHT"';-fx-border-width:0.7;-fx-border-color:black"
PANESIN.AddNode(lbl,159,heit,37,11)
Dim lbl As Label
lbl.Initialize("A")
lbl.TextSize=6
lbl.Text=row(0)
Dim cuantosrengmas As Int=1
If lbl.Text.Length>34 Then
lbl.Style="fx-alignment:center_LEFT"';-fx-border-width:0.7;-fx-border-color:black"
lbl.WrapText=True
cuantosrengmas=2
If lbl.text.Length>68 Then
cuantosrengmas=3
End If
PANESIN.ADDNODE(lbl,58,heit,100,11*(cuantosrengmas))
Else
PANESIN.ADDNODE(lbl,58,heit,100,11*(cuantosrengmas))
End If
heit=heit+(11*cuantosrengmas)
TOT=TOT+row(3)
Next
Dim lbl As Label
lbl.Initialize("")
lbl.TextSize=8
lbl.Style="-fx-alignment:center_LEFT;-fx-font-weight:bold"';-fx-border-width:0.6;-fx-border-color:black"
lbl.Text=" TOTAL: "&NumberFormat(TOT,0,2).replace(",","")
PANESIN.ADDNODE(lbl,3,heit,196,14)
heit=heit+15
PANESIN.PrefHeight=heit
Try
PJ.PrintPage2(leiout,PANESIN)
Catch
Log(LastException)
End Try
PJ.EndJob